gst/gstpad.c: Use thread-safe internal links iterator. Fixes #549504.
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
2
3         Patch by: Olivier Crete <tester at tester dot ca>
4
5         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
6         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
7         Use thread-safe internal links iterator. Fixes #549504.
8
9 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
10
11         Based on patch by: Olivier Crete <tester at tester dot ca>
12
13         * docs/gst/gstreamer-sections.txt:
14         * win32/common/libgstreamer.def:
15         * gst/gstpad.c: (gst_pad_init),
16         (gst_pad_set_iterate_internal_links_function),
17         (int_link_iter_data_free), (iterate_pad),
18         (gst_pad_iterate_internal_links_default),
19         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
20         * gst/gstpad.h:
21         Add threadsafe replacement functions for getting internal links of an
22         element. Deprecate the old internal links functions.
23         API:GstPad::gst_pad_set_iterate_internal_links_function()
24         API:GstPad::GstPadIterIntLinkFunction
25         API:GstPad::gst_pad_iterate_internal_links()
26         API:GstPad::gst_pad_iterate_internal_links_default()
27
28         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
29         (gst_proxy_pad_init):
30         Implement threadsafe internal links.
31
32         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
33         Unit test for internal links on tee. See #549504.
34
35 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
36
37         * tests/check/Makefile.am:
38         libs/transform1 test requires libs/test_transform.c
39
40 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
41
42         * gst/gstpad.c: (gst_pad_get_internal_links_default):
43         Die evil deadlock, die !
44
45 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
46
47         * gst/gstutils.c: (gst_element_get_compatible_pad):
48         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
49         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
50         Fix all leaks due to the bug in gst_pad_template_new() by which it does
51         not steal the refcount of the given caps as stated.
52
53         REVERT THIS COMMIT ONCE FIXED !
54         REVERT THIS COMMIT ONCE FIXED !
55         REVERT THIS COMMIT ONCE FIXED !
56         REVERT THIS COMMIT ONCE FIXED !
57         REVERT THIS COMMIT ONCE FIXED !
58         REVERT THIS COMMIT ONCE FIXED !
59
60 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
61
62         * gst/gstiterator.c:
63         * gst/gstiterator.h:
64         After 3 years it's about time to revise the documentation of the
65         iterator objects.
66
67 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
68
69         * gst/gstpad.c: (gst_pad_get_internal_links_default):
70         Make the internal links function less thread-unsafe and add some
71         comments, dunno why.
72
73 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
74
75         * gst/gst_private.h:
76           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
77           build with --disable-gst-debug.
78
79 2008-08-28  David Schleef  <ds@schleef.org>
80
81         * gst/gstpadtemplate.c: Revert last change, since it breaks
82           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
83           but shouldn't be enabled until we've released fixed versions
84           of -good and -ffmpeg.
85
86 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
87
88         * gst/gstobject.c:
89           Put the gst_object_get_name() back in.
90
91 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
92
93         * gst/gstpadtemplate.c:
94           The old behaviour was that gst_pad_template_new() takes ownership of
95           the caps. As we now call g_object_new() which calls g_object_set() and
96           which copies the caps, we have to unref them to not leak them. Fixes
97           make valgrid for me.
98
99 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
100
101         * gst/gsturi.c:
102           Don't segfault on input like "tel:+1-123-555-1234".
103
104 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
105
106         * gst/gstobject.c:
107           Due to popular request also include ObjectType in
108           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
109
110 2008-08-26  David Schleef  <ds@schleef.org>
111
112         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
113           src_val must be positive, because that's not a requirement.
114           This causes problems with converting negative granulepos
115           values for Dirac.
116         * gst/gstquery.c: Same, gst_query_new_convert().
117
118 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
119
120         * gst/gstclock.c: (gst_clock_add_observation):
121         Add some more debugging to the clock slaving code.
122
123         * win32/common/libgstbase.def:
124         Add new basetransform method.
125
126 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
127
128         * gst/gstbin.c: (gst_bin_element_set_state):
129         Take the (recursive) state lock between getting the locked state of an
130         element and changing the element state. This allows the application to
131         lock an element's state and then change its state without races.
132
133 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
134
135         * gst/gstbin.c: (gst_bin_element_set_state):
136         When an element is in the locked state we still want to update the
137         base_time of the element.
138
139 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
140
141         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
142         Use the result from gst_pad_set_caps() instead of assuming the element
143         always accepted the caps computed by the default negotiate function.
144
145 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
146
147         * docs/libs/gstreamer-libs-sections.txt:
148         * libs/gst/base/gstbasetransform.c:
149         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
150         (gst_base_transform_chain), (gst_base_transform_suggest),
151         (gst_base_transform_reconfigure):
152         * libs/gst/base/gstbasetransform.h:
153         Implement method for reconfiguring basetransform.
154         API: GstBaseTransform::gst_base_transform_reconfigure()
155
156 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
157
158         patch by: Murray Cumming <murrayc@murrayc.com>
159
160         * gst/gstutils.c:
161           Mention that this is just like gst_buffer_merge() but with extra
162           unreffing for C coders. Advise language bindings not to wrap it.
163           Fixes Bug #533856.
164           
165           Also fix file comment.
166
167 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
168
169         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
170
171         * plugins/elements/gstfakesink.c:
172         * plugins/elements/gstfakesrc.c:
173           Call super::event() when not handling it. Fixes #544855.
174
175 2008-08-19  Michael Smith <msmith@songbirdnest.com>
176
177         Patch by: Alessandro Decina <alessandro@nnva.org>
178         * plugins/elements/gstfilesrc.c:
179           Use 64 bit variants of stat functions on win32, to enable support
180           of large files there.
181           Fixes #547277.
182
183 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
184
185         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
186         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
187         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
188         (gst_base_sink_get_position), (gst_base_sink_change_state):
189         Improve position reporting in the flushing state.
190         Also report the position when we are not yet prerolled but we
191         have a newsegment event. Fixes #543444.
192         Improve the pull-based negotiation code.
193
194         * tests/check/elements/fakesink.c: (GST_START_TEST),
195         (fakesink_suite):
196         Add testcase for position reporting while flushing in PAUSED and
197         PLAYING.
198
199         * tests/check/generic/sinks.c: (GST_START_TEST):
200         Update unit-test, we can now query the position as soon as we receive a
201         NEWSEGMENT event.
202
203 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
204
205         Based on patch by: Jason Zhao <e3423c at motorola dot com>
206
207         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
208         When the subclass event handler releases the PREROLL_LOCK, we could be
209         in the flushing state and we have to ignore the event. Fixes #548394.
210
211 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
212
213         * tools/gst-launch.1.in:
214           Document GST_REGISTRY_UPDATE environment variable.
215
216 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
217
218         * libs/gst/base/gstbasetransform.c:
219         (gst_base_transform_prepare_output_buffer):
220         If the element is configured in passthrough mode but the
221         prepare_output_buffer gave us a new output buffer, discard that buffer
222         and reuse the input buffer.
223
224 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
225
226         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
227
228         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
229         (gst_tee_request_new_pad), (gst_tee_release_pad),
230         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
231         * plugins/elements/gsttee.h:
232         Protect pad_alloc with a new lock so that we can be sure that nothing is
233         performing a pad_alloc when removing the pad. Fixes #547835.
234
235         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
236         (buffer_alloc_harness_teardown), (app_thread_func),
237         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
238         Added testcase for shutdown race.
239
240 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
241
242         * gst/gstpad.h:
243         Add doc
244
245 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
246
247         * libs/gst/base/gstbasetransform.c:
248         (gst_base_transform_prepare_output_buffer),
249         (gst_base_transform_buffer_alloc):
250         Go over the buffer_alloc function again and make sure we always end up
251         allocating a buffer.
252         Add some more docs.
253         Avoid doing pad alloc when we have a pending suggestion because we
254         cannot yet deal with changing caps in that case. Fixes #547728
255
256 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
257
258         patch by: Luc Pionchon <luc.pionchon@nokia.com>
259
260         * docs/manual/advanced-clocks.xml:
261         * docs/manual/clocks.png:
262         * docs/manual/diagrams-clocks.svg:
263           Add one more image showing different times together with a describing
264           paragraph. Fixes #547729.
265
266 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
267
268         * win32/common/libgstbase.def:
269         Add new method.
270
271 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
272
273         * libs/gst/base/gstbasetransform.c:
274         (gst_base_transform_transform_caps),
275         (gst_base_transform_prepare_output_buffer),
276         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
277         Don't overwrite the outsize when calculating the expected size of a new
278         buffer because we still need it in case we cannot process the new
279         buffer.
280         When converting the size of the new buffer to an upstream size, actually
281         use the expected size of the buffer, not some other random value.
282         Use an atomic int to signal that a new upstream caps suggestion is
283         available.
284         When we can convert the current buffer to a new format, check if the
285         buffer size is of the expected size and allocate a new buffer of the
286         expected size when this is not the case. Fixes #546883.
287
288         * tests/check/libs/transform1.c: (GST_START_TEST):
289         remove ifdeffed code from the unit test.
290
291 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
292
293         * pkgconfig/gstreamer-uninstalled.pc.in:
294         * pkgconfig/gstreamer.pc.in:
295           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
296           called gstcontroller-0.10.
297
298 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
299
300         * gst/gstchildproxy.h:
301         * gst/gstpreset.h:
302           Remove double interface from doc-string.        
303
304 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
305
306         * libs/gst/base/gstbasesrc.c:
307         * libs/gst/base/gstbasetransform.c:
308           Fix headings in docs and gtk-doc warnings.
309
310 2008-08-11  Michael Smith <msmith@songbirdnest.com>
311
312         * gst/gstregistrybinary.c:
313           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
314           libc.
315           Fixes #544776.
316
317 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
318
319         * libs/gst/base/gstbasetransform.c:
320         (gst_base_transform_buffer_alloc):
321         Fix a "may be used unitialized" warning.
322
323 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
324
325         * docs/gst/gstreamer-sections.txt:
326         * gst/gstpreset.h:
327           Document preset-iface vmethods.
328
329 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
330
331         * docs/manual/advanced-interfaces.xml:
332           Turn thoughts about HAL into a note-tag. Remove mentioning that is
333           only used to discover devices.
334
335 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
336
337         Patch by: Frederic Crozat <fcrozat@mandriva.org>
338
339         * gst/gst.c: (init_pre):
340         Make sure gettext returns translations in UTF-8 encoding rather
341         than in the current locale encoding (#546822).
342
343 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
344
345         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
346         Fix subset test.
347
348         * tests/check/gst/gstcaps.c: (GST_START_TEST):
349         Improve unit test subset tests and add a testcase for the subset failure
350         cases.
351
352         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
353         Improve subtraction unit test.
354
355 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
356
357         * plugins/elements/gsttee.c:
358           Unlock, instead of locking again.
359
360 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
361
362         * gst/gstpad.h:
363         Clarify the docs a bit more.
364
365 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
366
367         * tests/examples/metadata/read-metadata.c:
368           Don't leak old taglist.
369
370 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
371
372         Patch by: Olivier Crete <tester at tester dot ca>
373
374         * gst/gststructure.c:
375         (gst_structure_fixate_field_nearest_fraction):
376         Avoid overflows in fixation code when dealing with MAXINT values, which
377         v4l2src seems to do.
378         Fixes #546328.
379
380         * tests/check/gst/gststructure.c: (GST_START_TEST):
381         Make a unit test to check the fix. 
382
383 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
384
385         * plugins/elements/gstcapsfilter.c: (copy_func),
386         (gst_capsfilter_set_property):
387         Use new caps suggestion feature of basetransform to request a caps
388         negotiation upstream.
389
390 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
391
392         * docs/libs/gstreamer-libs-sections.txt:
393         Add new function:
394         API: GstBaseTransform::gst_base_transform_suggest()
395
396         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
397         (gst_base_transform_init), (gst_base_transform_transform_caps),
398         (gst_base_transform_transform_size),
399         (gst_base_transform_configure_caps),
400         (gst_base_transform_can_transform),
401         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
402         (gst_base_transform_prepare_output_buffer),
403         (gst_base_transform_buffer_alloc),
404         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
405         (gst_base_transform_chain), (gst_base_transform_activate),
406         (gst_base_transform_set_passthrough),
407         (gst_base_transform_is_passthrough),
408         (gst_base_transform_set_in_place),
409         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
410         (gst_base_transform_set_qos_enabled),
411         (gst_base_transform_is_qos_enabled),
412         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
413         (gst_base_transform_reconfigure):
414         * libs/gst/base/gstbasetransform.h:
415         Rewrite of basetransform to perform negotiation outside of the
416         buffer_alloc functions.  Fixes #545853.
417
418         * tests/check/libs/transform1.c: (GST_START_TEST),
419         (buffer_alloc_ct2):
420         Update unit test.
421
422 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
423
424         * tests/check/gst/gstpreset.c:
425           Only run preset tests when $HOME is writable. Preliminary fix for
426           #545433.
427
428 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
429
430         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
431         (gst_bin_change_state_func), (bin_handle_async_done),
432         (gst_bin_handle_message_func):
433         Fix race for bins that simulate ASYNC state changes by inserting
434         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
435         pending ASYNC messages even when the bin does not have ASYNC children.
436         We note detect this behaviour because we will receive an ASYNC message
437         that is originating from the bin itself. 
438         Fixes races with decodebin2 state changes.
439
440         * tests/check/gst/gstbin.c: (GST_START_TEST):
441         Add some more debug.
442
443 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
444
445         * gst/gsttaglist.c: (_gst_tag_initialize):
446           Fix typo.
447
448 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
449
450         * gst/gsttaglist.c:
451           Argh. actually save the text before committing. Now adds
452           gst_tag_merge_strings_with_comma() to gst_tag_register().
453
454 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
455
456         * gst/gsttaglist.c:
457         * gst/gsttaglist.h:
458           Do as tim pointed out and actually register the new tag. Also improve
459           te docs and use gst_tag_merge_strings_with_comma() method to allow
460           retriving all keywords merged in one list.
461
462 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
463
464         * configure.ac:
465         * docs/gst/gstreamer.types:
466           Revert 'accidential' change of the configure option removal. We still
467           need to generate the types file in configure --disable-load-save.
468
469 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
470
471         * docs/gst/gstreamer-sections.txt:
472         * gst/gsttaglist.h:
473           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
474
475 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
476
477         * gst/gstpadtemplate.c:
478           (gst_pad_template_class_init), (gst_static_pad_template_get),
479           (gst_pad_template_new), (gst_pad_template_pad_created),
480           (gst_pad_template_set_property), (gst_pad_template_get_property):
481           Add "name-template", "direction", "presence" and "caps" properties,
482           so that gst_pad_template_new() is just a thin wrapper around
483           g_object_new(), which is better for bindings. (Fixes: #539772)
484
485 2008-07-31  Michael Smith <msmith@songbirdnest.com>
486
487         * gst/gsturi.c:
488           Be more liberal in what URIs we accept.
489           Do not unescape bits of the URI for no apparent reason before passing to
490           the element. Fixes #545352.
491
492 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
493
494         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
495
496         * gst/gst.c:
497         Include gstconfig.h as macros from it are used. Fixes bug #545607.
498
499 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
500
501         * configure.ac:
502         * docs/gst/gstreamer-sections.txt:
503         * docs/gst/gstreamer.types:
504         * docs/gst/gstreamer.types.in:
505         * gst/Makefile.am:
506         * gst/gst.c:
507         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
508         * gst/gstconfig.h.in:
509         * gst/gstelement.c: (gst_element_get_index):
510         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
511         (gst_registry_binary_load_feature),
512         (gst_registry_binary_read_cache):
513         * gst/gstregistryxml.c: (load_feature),
514         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
515         * plugins/Makefile.am:
516         * tools/gst-indent:
517         * tools/gst-inspect.c: (print_index_info), (print_element_list),
518         (print_plugin_features), (print_element_features):
519         * tools/gst-xmlinspect.c: (print_event_masks),
520         (print_element_info):
521         * win32/common/gstconfig.h:
522         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
523
524         Disabling the indexers and URI handler code will only reduce the
525         required amount of memory by a very small amount but on the other hand
526         requires much more maintaince work. Apart from that many places of
527         code are broken when disabling them.
528
529         Disabling the enum types doesn't reduce the required amount of memory
530         by more than a few bytes and makes it hard to fix bugs like #539772,
531         i.e. use the enums as GObject properties.
532
533 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
534
535         * docs/design/part-TODO.txt:
536         Add some thoughts and problems with upstream renegotiation.
537
538 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
539
540         * gst/gstpad.c: (gst_pad_acceptcaps_default),
541         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
542         Remove silly redundant debug.
543         Add some more debug info.
544         Clarify the docs regarding new caps received from pad_alloc.
545
546 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
547
548         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
549         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
550         Make setting the caps more threadsafe.
551
552 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
553
554         * docs/design/part-element-transform.txt:
555         Update docs.
556
557 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
558
559         * plugins/elements/gstqueue.c: (gst_queue_init),
560         (gst_queue_acceptcaps):
561         Add and use a custom acceptcaps function instead of falling back to the
562         potentially less optimized default implementation.
563
564 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
565
566         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
567           Only sanity-check the buffer size if requested_caps == buffer_caps
568           (ie. don't take pad caps into account, they're not relevant here)
569
570 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
571
572         * plugins/elements/gsttee.c:
573         * plugins/elements/gsttee.h:
574           Reverting as not everything is clear yet. Needs some general design
575           work.
576
577 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
578
579         * ChangeLog:
580           ChangeLog surgery for tee commit.
581
582 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
583
584         * docs/gst/gstreamer-sections.txt:
585           Cleanup section-file.
586
587 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
588
589         * plugins/elements/gsttee.c:
590         * plugins/elements/gsttee.h:
591           Relay tag events in tee. Fixes parts of #474016.
592           Downgrades 3 reoccurring debugs to log.
593
594 2008-07-28  Michael Smith <msmith@songbirdnest.com>
595
596         * configure.ac:
597         * libs/gst/Makefile.am:
598           Build the net library if we have winsock2.
599
600 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
601
602         patch by: Luc Pionchon <luc.pionchon@nokia.com>
603
604         * docs/manual/advanced-threads.xml:
605         * docs/manual/diagrams-pipelines.svg:
606         * docs/manual/hello-world.png:
607         * docs/manual/linked-elements.png:
608         * docs/manual/mime-world.png:
609         * docs/manual/queue.png:
610         * docs/manual/thread-buffering.png:
611         * docs/manual/thread-synchronizing.png:
612           Replace one diagram with two separate ones and updates others.
613           Fixes #542401.
614
615 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
616
617         * gst/gstelement.h:
618         Fix link in documentation.
619
620 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
621
622         * gst/gstmessage.c:
623         Fix confusing documentation.
624
625 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
626
627         * libs/gst/base/gstbasesrc.h:
628         revert the changes to the header file for the ABI.
629
630 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
631
632         * libs/gst/base/gstbasesrc.c:
633         * libs/gst/base/gstbasesrc.h:
634         Don't cache the seekable status.
635         Fixes bug #544174
636
637 2008-07-24  Rene Stadler  <mail@renestadler.de>
638
639         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
640         code to close the pipeline graph.  This prevents the program from
641         printing internal data flow errors.
642
643 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
644
645         * docs/manual/basics-bus.xml:
646         Correct typo. Fixes bug #544320.
647
648 2008-07-22  Michael Smith <msmith@songbirdnest.com>
649
650         * configure.ac:
651           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
652           Add check (taken from -base) for winsock, adds WIN32_LIBS
653         * gst/Makefile.am:
654           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
655           winsock.
656           Define GST_EXPORTS when building libgstreamer (only used on win32)
657         * gst/gst_private.h:
658         * gst/gstinfo.h:
659           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
660           for symbols that we need to export in both these files.
661         * gst/gstpoll.c:
662           Include gst_private.h higher up to avoid some compile problems on win32.
663
664 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
665
666         * gst/gstvalue.c:
667         Fix typos.
668
669 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
670
671         * gst/gstcaps.c:
672         Previous commit was wrong NULL caps does not exist
673         and indicate an error, so also add a FIXME to
674         gst_caps_is_equal where NULL caps are accepted.
675
676 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
677
678         * gst/gstcaps.c:
679         Allow passing of NULL to gst_caps_union
680
681 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
682
683         * gst/gstghostpad.c:
684         Add in doc that gst_ghost_pad_set_target can accept
685         NULL to clear target
686
687 2008-07-15  Michael Smith <msmith@songbirdnest.com>
688
689         * gst/gstplugin.c:
690         * gst/gstregistry.c:
691           GstRegistryPool doesn't exist; don't refer to it in docs.
692           Don't refer to functions that don't exist in docs, it's
693           unhelpful.
694
695 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
696
697         * gst/gst.c:
698         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
699
700 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
701
702         Patch by: tmatth <le dot businessman at gmail dot com>
703
704         * docs/pwg/building-testapp.xml:
705         Don't use an undeclared variable in the example program.
706         Fixes bug #542573.
707
708 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
709
710         * gst/gstdebugutils.c:
711           Squeeze ghost-pad links and remove <> from classname labels to save
712           more horizontal space.
713
714 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
715
716         * gst/gstdebugutils.c:
717           Give request and sometimes pads a different shpe style. Condense the
718           graphs a little more.
719
720 2008-07-09  Michael Smith <msmith@songbirdnest.com>
721
722         * configure.ac:
723           Don't require flex and bison if the parser is disabled.
724
725 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
726
727         * libs/gst/controller/gstinterpolationcontrolsource.c:
728         (_list_find_sorted_custom):
729         Don't use declarations after statements.
730
731 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
732
733         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
734         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
735         of the the child-added / -removed signals as GstChildProxy
736         only supports GstObjects.
737
738 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
739
740         * gst/gstdebugutils.c:
741         Fix memleak
742
743 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
744
745         Patch by: Alessandro Decina <alessandro at nnva dot org>
746
747         * gst/gstpoll.c:
748         Fix "ignored return value" compiler warning with newer glibc.
749
750 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
751
752         * gst/gstchildproxy.c:
753         Fix copy&paste error in gst_child_proxy_removed() documentation.
754
755 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
756
757         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
758           Print error debug message if plugin description fields that should
759           be set are NULL.
760
761         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
762           Don't crash if the string to serialise is NULL (it really should
763           not be, but apparently this used to work with the xml registry ...).
764
765 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
766
767         * tools/gst-plot-timeline.py:
768         Fix parsing of log messages
769
770 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
771
772         * win32/common/libgstbase.def::
773           Sort alphabetically so make check-exports doesn't barf.
774
775 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
776
777         * gst/gstevent.c:
778           Use gst_format_get_name() to improve debug output.
779
780         * gst/gstpreset.c:
781           Remove #ifdef'ed code. Add TODO comment.
782
783         * gst/gstsegment.c:
784           Add debug output to ease spotting format != segment.format assertions.
785
786 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
787
788         * tests/check/libs/gdp.c: (gst_dp_suite):
789         Also enable the GDP unit test again on PPC now that the bug
790         is fixed.
791
792 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
793
794         * libs/gst/dataprotocol/dataprotocol.c:
795         Don't write to the same region of memory as a uint64 and uint16
796         as this breaks strict aliasing rules and apparantly breaks on PPC
797         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
798
799 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
800
801         * libs/gst/controller/gstinterpolationcontrolsource.c:
802           Optimize list handling. Use own find function. Exploit that fact that
803           the list is sorted. Also pass back the node before, so that we can
804           insert quickly. Have a fast path for append.
805
806 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
807
808         * docs/design/draft-framestep.txt:
809         * docs/design/part-negotiation.txt:
810           Fix two typos.
811
812 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
813
814         * configure.ac:
815           Show configuration sumary after configure run. Based on patch by
816           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
817
818 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
819
820         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
821
822         * docs/manual/advanced-autoplugging.xml:
823         * docs/manual/advanced-threads.xml:
824         * docs/manual/basics-bins.xml:
825         * docs/manual/basics-elements.xml:
826         * docs/manual/basics-helloworld.xml:
827         * docs/manual/basics-pads.xml:
828           Add scale factor for pdf output.
829
830         * docs/manual/intro-basics.xml:
831           Switched sections "pads" and "bins" and added a pipeline diagram.
832
833         * docs/manual/intro-gstreamer.xml:
834           Added more info on gstreamer.
835
836         * docs/manual/intro-motivation.xml:
837           Commented out the whole section "current problem", which sounds
838           historical and somehow osolete; it could be turned in a positive
839           way and reused to improve the design principles.
840
841         * docs/manual/intro-preface.xml:
842           - Update URLs to library.gnome.org. 
843           - Do not mention GTK+ in preliminary reading (irrelevant). 
844           - Mention Plugin Writer's Manual and further reading only in the
845             previous section.
846           - Added a list of most relevant GObject/glib topics.
847
848         * docs/manual/Makefile.am:
849         * docs/manual/bin-element-ghost.fig:
850         * docs/manual/bin-element-ghost.png:
851         * docs/manual/bin-element-noghost.fig:
852         * docs/manual/bin-element-noghost.png:
853         * docs/manual/bin-element.fig:
854         * docs/manual/bin-element.png:
855         * docs/manual/filter-element-multi.fig:
856         * docs/manual/filter-element-multi.png:
857         * docs/manual/filter-element.fig:
858         * docs/manual/filter-element.png:
859         * docs/manual/gstreamer-overview.png:
860         * docs/manual/hello-world.fig:
861         * docs/manual/hello-world.png:
862         * docs/manual/linked-elements.fig:
863         * docs/manual/linked-elements.png:
864         * docs/manual/mime-world.fig:
865         * docs/manual/mime-world.png:
866         * docs/manual/queue.fig:
867         * docs/manual/queue.png:
868         * docs/manual/simple-player.png:
869         * docs/manual/sink-element.fig:
870         * docs/manual/sink-element.png:
871         * docs/manual/src-element.fig:
872         * docs/manual/src-element.png:
873         * docs/manual/diagrams-general.svg:
874         * docs/manual/diagrams-pipelines.svg:
875           Removed .fig, added .png counterpart.
876           
877           Fixes: #539137
878
879 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
880
881         * plugins/elements/gstmultiqueue.c:
882         * plugins/elements/gstmultiqueue.h:
883         revert extra-size-buffers stuff, caused some race conditions
884         and extra-size-buffers is not used anymore. Docs needs some updates
885
886 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
887
888         * win32/common/config.h:
889         * win32/common/gstenumtypes.c:
890         * win32/common/gstenumtypes.h:
891         * win32/common/gstversion.h:
892           Update win32 files.
893
894 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
895
896         * gst/gstdebugutils.h: (GstDebugGraphDetails),
897           (GST_DEBUG_BIN_TO_DOT_FILE):
898           Add missing Since' markers to gtk-doc blurbs.
899
900 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
901
902         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
903         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
904         (set_caps_1), (set_caps_ct1), (transform_ct1),
905         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
906         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
907         (transform_size_ct2), (buffer_alloc_ct2):
908         Add some more tests with switching caps in buffer_alloc.
909
910 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
911
912         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
913         (gst_test_trans_class_init), (result_sink_chain),
914         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
915         (gst_test_trans_push), (gst_test_trans_pop):
916         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
917         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
918         (set_caps_1), (set_caps_ct1), (transform_ct1),
919         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
920         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
921         (transform_size_ct2), (buffer_alloc_ct2),
922         (gst_basetransform_suite):
923         More tests, prepare for tests with switching caps in buffer_alloc.
924
925 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
926
927         * plugins/elements/gstmultiqueue.c:
928         * plugins/elements/gstmultiqueue.h:
929         Fix dead-lock in underrun_cb
930
931 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
932
933         * docs/design/part-states.txt:
934         Fix device open/close docs.
935
936 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
937
938         * ChangeLog:
939           Mention bugnumber for last commit.
940
941 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
942
943         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
944
945         * docs/manual/manual.xml:
946         - Reorganised the previous "introduction" bundle into Foreword,
947         Introduction, and About GStreamer. The two first are <preface>
948         docbook elements. The later is the first part of the book.
949         - added intro-gstreamer.xml (content partially from
950         intro-preface.xml)
951         - moved appendix-win32.xml into appendix-integration.xml
952
953         * docs/manual/intro-preface.xml: gstreamer section moved...
954         * docs/manual/intro-gstreamer.xml: ...here. new file.
955
956         * docs/manual/appendix-win32.xml: removed file. Content moved...
957         * docs/manual/appendix-integration.xml: ...here.
958         
959         * docs/manual/highlevel-components.xml: section about GstEditor moved...
960         * docs/manual/appendix-checklist.xml: ...here.
961         
962         Fixes: 538764
963
964 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
965
966         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
967
968         * docs/manual/basics-helloworld.xml:
969         * docs/manual/hello-world.fig:
970           - Explicitely include glib.h.
971           - Do not use global variables.
972           - Use g_printerr() instead of g_print().
973           - Minor formating/renaming to increase readibility.
974           - Renamed new_pad() to on_pad_added()
975           - Improved explenatory comments.
976           - renamed ogg parser to ogg demuxer
977           - Use "autoaudiosink" instead of "alsasink".
978           Fixes: #538619
979
980 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
981
982         * ChangeLog:
983           Remove cvs conflict marker.
984
985 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
986
987         * docs/README:
988           Document that for plgin-docs we extraxt he short-desc from the element
989           details.
990
991         * docs/design/part-states.txt:
992           Tell that devices should be closed in PAUSED -> READY.
993
994         * docs/manual/README:
995           Document how tests in the manual are handled.
996
997         * docs/manuals.mak:
998           Typo in comment.
999
1000 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1001
1002         * gst/gstbin.c: (bin_query_latency_fold):
1003         Only care about latency min and max when the sink is actually a live
1004         sink.
1005
1006 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1007
1008         * docs/design/part-block.txt:
1009         Fix typo.
1010
1011         * docs/design/part-element-transform.txt:
1012         Add notes about why transform needs to know input/output sizes.
1013         Add some issues that need to be solved.
1014         Add some more use cases.
1015
1016         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1017         (gst_test_trans_class_init), (result_sink_chain),
1018         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1019         (gst_test_trans_push), (gst_test_trans_pop):
1020         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1021         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1022         (set_caps_1), (set_caps_ct1), (transform_ct1),
1023         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1024         (gst_basetransform_suite):
1025         Add suport for different pad templates and buffer-alloc.
1026         Add more checks for caps and buffer-alloc.
1027         Add checks for proxy buffer alloc.
1028         Add unit test for copy transform.
1029
1030 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1031
1032         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1033
1034         * docs/manual/appendix-integration.xml:
1035         * docs/manual/appendix-licensing.xml:
1036         * docs/manual/basics-elements.xml:
1037         * docs/manual/basics-helloworld.xml:
1038         * docs/manual/basics-pads.xml:
1039         * docs/manual/highlevel-components.xml:
1040         * docs/manual/highlevel-xml.xml:
1041         * docs/manual/intro-basics.xml:
1042         * docs/manual/intro-preface.xml:
1043           Typo and formatting fixes (#538594).
1044
1045 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1046
1047         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1048         Fix some memory leaks and uses of object instances that we don't
1049         actually own.
1050
1051 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1052
1053         * plugins/elements/gstmultiqueue.c:
1054         Add functionality to extra-size-buffers property.
1055
1056 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1057
1058         * plugins/elements/gstmultiqueue.c:
1059         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
1060         activate the pads if they are added in STATE_NULL.
1061
1062 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1063
1064         * docs/libs/gstreamer-libs-sections.txt:
1065         Add new API to doc
1066         * libs/gst/check/gstcheck.c:
1067         * libs/gst/check/gstcheck.h:
1068         API: gst_check_teardown_pad_by_name
1069
1070 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1071
1072         * libs/gst/check/gstcheck.c:
1073         * libs/gst/check/gstcheck.h:
1074         Also setup request pads and allow setup pads by name (#537812)
1075         API: gst_check_setup_src_pad_by_name
1076         API: gst_check_setup_sink_pad_by_name
1077
1078 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1079
1080         * tests/check/gst/gstbuffer.c:
1081         * tests/check/pipelines/parse-launch.c:
1082           Use HAVE_VALGRIND_H some more.
1083
1084 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1085
1086         * scripts/cvs-update.sh:
1087           Pass arguments to make.
1088           Run autoregen.sh if Makefile is not there.
1089
1090 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1091
1092         * configure.ac:
1093         * gst/gstinfo.c:
1094           Don't assume that <valgrind/valgrind.h> exists just because
1095           the binary is there.
1096
1097 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1098
1099         * tests/check/Makefile.am:
1100         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1101         (gst_test_trans_class_init), (gst_test_trans_init),
1102         (gst_test_trans_set_data), (result_sink_chain),
1103         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
1104         (gst_test_trans_pop):
1105         * tests/check/libs/transform1.c: (GST_START_TEST),
1106         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
1107         Add some test basetransform element and the beginnings of various
1108         unit tests for it.
1109
1110 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1111
1112         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1113         Increase code readability.
1114         Don't try to compare buffer offsets when ther are invalid.
1115
1116 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1117
1118         * docs/design/Makefile.am:
1119           Dist some more design docs.
1120
1121         * docs/random/moving-plugins:
1122           Small addition: good plugins mustn't have functional code
1123           within assertion macros.
1124
1125 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1126
1127         * docs/design/draft-framestep.txt:
1128         Some ideas about a framestep API
1129
1130         * docs/design/part-element-transform.txt:
1131         Start design and use cases for basetransform in order to get it
1132         fixed soon.
1133
1134 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1135
1136         * gst/gsttaglist.h:
1137           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
1138           be in UTF-8 encoding.
1139
1140 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1141
1142         * gst/gstbus.c:
1143           Make it known that gst_bus_poll() is pure evil (fixes #538810).
1144
1145 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1146
1147         * plugins/elements/gstcapsfilter.c:
1148         * plugins/elements/gstfakesink.c:
1149         * plugins/elements/gstfakesrc.c:
1150         * plugins/elements/gstfdsink.c:
1151         * plugins/elements/gstfdsrc.c:
1152         * plugins/elements/gstfilesink.c:
1153         * plugins/elements/gstfilesrc.c:
1154         * plugins/elements/gstidentity.c:
1155         * plugins/elements/gstmultiqueue.c:
1156         * plugins/elements/gstqueue.c:
1157         * plugins/elements/gsttee.c:
1158         * plugins/elements/gsttypefindelement.c:
1159           Remove short_description. Add basic docs for gsttypefindelement.
1160           Simplify markup for fakesrc/fdsrc.
1161
1162 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1163
1164         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1165         Added Since doc.
1166
1167 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1168
1169         Patch by: joel larsson <tilljoel at gmail dot com>
1170
1171         * docs/plugins/gstreamer-plugins.args:
1172         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
1173         (gst_fd_src_init), (gst_fd_src_update_fd),
1174         (gst_fd_src_set_property), (gst_fd_src_get_property),
1175         (gst_fd_src_create):
1176         * plugins/elements/gstfdsrc.h:
1177         Add timeout property like udpsrc. Fixes #538628.
1178         Add some more docs and example pipelines.
1179
1180 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1181
1182         * docs/libs/gstreamer-libs-sections.txt:
1183         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1184         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
1185         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
1186         (gst_base_sink_do_sync):
1187         * libs/gst/base/gstbasesink.h:
1188         * win32/common/libgstbase.def:
1189         Add method to allow sinks to specify additional delay between the sync
1190         times and the actual rendering of the data.
1191         API: gst_base_sink_set_render_delay()
1192         API: gst_base_sink_get_render_delay()
1193
1194 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
1195
1196         * configure.ac:
1197         Bump version number back to dev -> 0.10.20.1
1198
1199 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
1200
1201         * docs/gst/gstreamer-sections.txt:
1202         * gst/gsttaglist.c: (_gst_tag_initialize):
1203         * gst/gsttaglist.h:
1204         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
1205         Fixes bug #538568.
1206
1207 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1208
1209         * libs/gst/controller/gstcontroller.c:
1210           Revert one change, that make ret value possible uninitialized.
1211
1212 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1213
1214         * libs/gst/controller/gstcontroller.c:
1215           Use freeze/thaw notify to sync notify emission a bit (its also more
1216           efficient). Move debug output to LOG (is called a lot in a loop).
1217           Always unset g_values if the have been initialized.
1218
1219 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1220
1221         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1222         (gst_base_sink_wait_eos), (gst_base_sink_event):
1223         If we have not seen a buffer before EOS, use the segment values to
1224         report the current position instead of invalid positions.
1225
1226 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1227
1228         * docs/plugins/tmpl/.cvsignore:
1229         * tests/check/gst/.cvsignore:
1230           Ignore more.
1231
1232 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1233
1234         * libs/gst/controller/gstinterpolation.c:
1235         * libs/gst/controller/gstinterpolationcontrolsource.c:
1236         * tests/check/libs/controller.c:
1237           Rewrite handling of default values. Fix overflow with unsigned types
1238           in linear interpolation. Remove now obsolete _first_value() function.
1239           Add more tests. Fixes #538201.
1240
1241 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1242
1243         * libs/gst/base/gstbasetransform.c:
1244         (gst_base_transform_class_init), (gst_base_transform_init),
1245         (gst_base_transform_transform_caps),
1246         (gst_base_transform_prepare_output_buffer):
1247         Add debug info.
1248         When a buffer is writable, its metadata is also writable so we don't
1249         need to subbuffer (which then makes the buffer not-writable anymore).
1250
1251 === release 0.10.20 ===
1252
1253 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
1254
1255         * configure.ac:
1256           releasing 0.10.20, "You Crazy Diamond"
1257
1258 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
1259
1260         * configure.ac:
1261         0.10.19.3 pre-release
1262
1263 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
1264
1265         * configure.ac:
1266         * gst/gstpreset.c:
1267         Rename DATADIR to GST_DATADIR to avoid build problems
1268         on win32. Patch By: David Schleef <ds@schleef.org>
1269         Fixes: #536857
1270
1271 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
1272
1273         * configure.ac:
1274         Explicitely link with -ldl if dladdr() is found there. Before it was
1275         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
1276         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
1277
1278 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1279
1280         * gst/gsterror.c: (_gst_stream_errors_init):
1281           Fix typo (spotted by Fabricio Godoy, #536723).
1282
1283 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
1284
1285         * configure.ac:
1286         0.10.19.2 pre-release
1287
1288 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1289
1290         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
1291         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
1292         Add some debug.
1293         Make sure we don't generate invalid QoS messages.
1294
1295 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1296
1297         * gst/gstevent.c: (gst_event_new_qos):
1298         Add some assert and docs for invalid input to the qos function.
1299
1300 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
1301
1302         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1303         (gst_base_sink_get_position):
1304         The reported position must always be smaller than the last seen
1305         timestamps (or timestamp + duration for reverse).
1306
1307 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
1308
1309         Patch by: Rob Bradford <rob at robster dot org dot uk>
1310
1311         * gst/gstregistry.c: (gst_registry_scan_path_level):
1312         Don't recurse into .debug directories as some distros install
1313         the debugging symbols next to the plugins in .debug directories
1314         and dlopen() crashes on them sometimes. Fixes bug #508070.
1315
1316         Add FIXME for 0.11 to not recurse into directories at all because
1317         it's very inconsistent to the behaviour of other PATH environment
1318         variables.
1319
1320 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1321
1322         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1323         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
1324         Fix position query range checks in reverse playback.
1325
1326 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
1327
1328         * gst/gstelement.c:
1329         * gst/gstelement.h:
1330         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
1331         clear of the reference to the resulting pad must be released later
1332         or not, resulting in possible leaks. Fixes bug #533865.
1333
1334 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
1335
1336         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
1337
1338         * gst/gstelementfactory.c:
1339         Small doc fix. Fixes #535285.
1340
1341 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
1342
1343         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
1344
1345         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
1346         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1347         (gst_base_src_loop), (gst_base_src_set_flushing),
1348         (gst_base_src_change_state):
1349         Make sending an EOS event to the basesrc non-blocking even if the
1350         implementation does blocking waits in the create function. This is done
1351         by unlocking the create function when EOS is sent.
1352         Fixes #535218.
1353
1354 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
1355
1356         * tools/gst-inspect.c: (print_element_properties_info):
1357         If possible print the element type of GValueArray properties.
1358
1359 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
1360
1361         * gst/gstiterator.c:
1362         Remove an unused field from the private GstListIterator struct.
1363
1364 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
1365
1366         * libs/gst/controller/gstcontroller.c:
1367           Add parameter guards.
1368
1369 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
1370
1371         * tests/check/gst/gstpipeline.c:
1372           Revert test change and add comment why it should not work.
1373
1374 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
1375
1376         * tests/check/gst/gstpipeline.c:
1377           Extending the test a little to verify that we also get the NULL state-
1378           change message.
1379
1380 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
1381
1382         * gst/gstpreset.c: (gst_preset_default_get_meta),
1383           (gst_preset_get_preset_names), (gst_preset_get_property_names),
1384           (gst_preset_load_preset), (gst_preset_save_preset),
1385           (gst_preset_rename_preset), (gst_preset_delete_preset),
1386           (gst_preset_set_meta):
1387           Add Since: markers to docs blurbs.
1388
1389         * win32/common/libgstreamer.def:
1390           Add recently-added API.
1391
1392 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1393
1394         Patch by: Stefan Kost  <ensonic@users.sf.net>
1395
1396         * configure.ac:
1397         Add DATADIR for storing presets.
1398
1399         * docs/gst/gstreamer-docs.sgml:
1400         * docs/gst/gstreamer-sections.txt:
1401         * docs/gst/gstreamer.types.in:
1402         Add GstPreset to docs.
1403
1404         * gst/Makefile.am:
1405         * gst/gst.h:
1406         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
1407         (preset_open_and_parse_header), (preset_parse_version),
1408         (preset_merge), (preset_get_keyfile),
1409         (gst_preset_default_get_preset_names),
1410         (gst_preset_default_get_property_names),
1411         (gst_preset_default_load_preset),
1412         (gst_preset_default_save_presets_file),
1413         (gst_preset_default_save_preset),
1414         (gst_preset_default_rename_preset),
1415         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
1416         (gst_preset_default_get_meta), (gst_preset_default_randomize),
1417         (gst_preset_default_reset), (gst_preset_get_preset_names),
1418         (gst_preset_get_property_names), (gst_preset_load_preset),
1419         (gst_preset_save_preset), (gst_preset_rename_preset),
1420         (gst_preset_delete_preset), (gst_preset_set_meta),
1421         (gst_preset_get_meta), (gst_preset_class_init),
1422         (gst_preset_base_init), (gst_preset_get_type):
1423         * gst/gstpreset.h:
1424         Add GstPreset to core. Fixes #396779
1425
1426         * tests/check/Makefile.am:
1427         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
1428         (gst_preset_test_set_property), (gst_preset_test_class_init),
1429         (gst_preset_test_base_init), (gst_preset_test_get_type),
1430         (gst_preset_test_plugin_init), (GST_START_TEST),
1431         (remove_preset_file), (test_setup), (test_teardown),
1432         (gst_preset_suite):
1433         Add GstPreset unit tests.
1434
1435 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1436
1437         * gst/gstpad.c: (gst_pad_event_default_dispatch):
1438         The default event function on a sinkpad should return TRUE when
1439         there are no internal links but should collect the return values from
1440         the internal links otherwise.
1441
1442 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1443
1444         * plugins/elements/gsttypefindelement.c:
1445         (gst_type_find_element_src_event),
1446         (gst_type_find_element_handle_event):
1447         Use faster and safer _pad_push_event().
1448
1449 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
1450
1451         * docs/gst/gstreamer-sections.txt:
1452         * gst/gstutils.c: (element_find_unlinked_pad),
1453           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
1454         * gst/gstutils.h:
1455           API: add gst_bin_find_unlinked_pad()
1456           API: deprecate gst_bin_find_unconnected_pad() (#401456)
1457
1458 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
1459
1460         * gst/gstclock.c:
1461         * gst/gstclock.h:
1462         * gst/gsttask.c:
1463         * gst/gsttask.h:
1464         Fixed a bunch of typos.
1465
1466 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1467
1468         * gst/gstpad.h:
1469         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
1470           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
1471           (gst_parse_bin_from_description_full):
1472         * gst/gstutils.h:
1473           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
1474
1475 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1476
1477         * docs/pwg/advanced-tagging.xml:
1478           Small docs update, can't be bothered to rewrite the nonsensical
1479           examples right now.
1480
1481 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1482
1483         * gst/gstevent.h:
1484           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
1485
1486 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1487
1488         * gst/parse/grammar.y:
1489           Remove unneeded casts.
1490
1491 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1492
1493         * gst/parse/grammar.y:
1494         * tests/check/pipelines/parse-launch.c:
1495           Get all missing elements from a parse launch string if possible
1496           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
1497
1498 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1499
1500         * tests/check/Makefile.am:
1501         * tests/check/pipelines/parse-launch.c:
1502           Add some unit tests for the new gst_parse_launch*_full() API.
1503           (Exposes a previously-existing memory leak in the error code
1504           path, so adding to VALGRIND_TO_FIX for now).
1505
1506 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1507
1508         * docs/gst/gstreamer-sections.txt:
1509         * gst/gst.c: (init_post):
1510         * gst/gst_private.h: (_GstParseContext):
1511         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
1512           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
1513           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
1514           (gst_parse_launch_full):
1515         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
1516           (GstParseFlags), (GstParseContext):
1517         * gst/gstutils.c: (gst_parse_bin_from_description),
1518           (gst_parse_bin_from_description_full):
1519         * gst/gstutils.h:
1520         * gst/parse/grammar.y:
1521         * gst/parse/types.h:
1522         * win32/common/libgstreamer.def:
1523           Add new gst_parse_*_full API (#528178):
1524           API: gst_parse_launch_full()
1525           API: gst_parse_launchv_full()
1526           API: gst_parse_bin_from_description_full()
1527           API: gst_parse_context_new()
1528           API: gst_parse_context_free()
1529           API: gst_parse_context_get_missing_elements()
1530
1531 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
1532
1533         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
1534
1535         * docs/faq/gst-uninstalled:
1536           Also support ffmpeg in gst-uninstalled.
1537
1538 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
1539
1540         * configure.ac:
1541         After discussion on IRC use the binary registry as default
1542         but allow to disable it with --disable-binary-registry.
1543
1544         * win32/common/libgstreamer.def:
1545         Add the two new symbols for the binary registry.
1546
1547 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
1548
1549         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
1550         * gst/gstutils.c: (gst_parse_bin_from_description):
1551         * gst/parse/grammar.y: (graph):
1552           More guards against bad input; typo fix; some minor clean-ups.
1553
1554 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
1555
1556         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1557
1558         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1559         If nothing else can be used, use the last buffer's start time as
1560         the segment's last stop. Fixes bug #534258.
1561
1562 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
1563
1564         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1565           Move size sanity check to the right place: downstream may return
1566           a buffer with a smaller size if the buffer caps are different than
1567           the requested ones, as may happen when doing reverse negotiation.
1568
1569 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1570
1571         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
1572         (gst_file_sink_render):
1573         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
1574         (gst_file_src_start):
1575         Small cleanups. Add note adbout g_fopen() on windows and why we don't
1576         use it yet.
1577
1578 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1579
1580         * gst/gstpad.c: (gst_pad_load_and_link):
1581         * gst/gstutils.c: (gst_element_link_pads),
1582         (gst_element_unlink_pads):
1583         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1584         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1585         (gst_check_teardown_sink_pad),
1586         (gst_check_element_push_buffer_list):
1587         * tests/check/elements/fakesink.c: (GST_START_TEST):
1588         * tests/check/elements/filesink.c:
1589         * tests/check/elements/filesrc.c: (GST_START_TEST):
1590         * tests/check/elements/multiqueue.c: (setup_multiqueue),
1591         (mq_sinkpad_to_srcpad):
1592         * tests/check/elements/tee.c: (GST_START_TEST):
1593         * tests/check/generic/sinks.c: (GST_START_TEST):
1594         * tests/check/gst/gstbin.c: (GST_START_TEST):
1595         * tests/check/gst/gstevent.c: (GST_START_TEST):
1596         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1597         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
1598         * tests/check/gst/gstquery.c: (GST_START_TEST):
1599         * tests/check/gst/gstutils.c: (GST_START_TEST):
1600         * tests/check/libs/basesrc.c: (GST_START_TEST):
1601         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
1602         (gst_parse_test_element_change_state):
1603         Don't use gst_element_get_pad().
1604
1605 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
1606
1607         * docs/Makefile.am:
1608         Fix installing plugin documentation when gtk-doc is disabled.
1609
1610 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1611
1612         * docs/manual/advanced-autoplugging.xml:
1613         * docs/manual/basics-helloworld.xml:
1614         * docs/manual/basics-pads.xml:
1615         * docs/manual/highlevel-components.xml:
1616         Avoid using a bad function in the example code.
1617
1618 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1619
1620         * gst/gstclock.c: (gst_clock_set_calibration):
1621         Fix debug of the new clock rate.
1622
1623 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1624
1625         * win32/common/libgstbase.def:
1626         Add gst_base_sink_wait_clock() to the exported symbols.
1627
1628 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
1629
1630         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
1631
1632         * libs/gst/base/gstbasetransform.c:
1633         (gst_base_transform_sink_event):
1634         Unref events that the GstBaseTransform::event vfunc didn't want to
1635         have forwarded by the base class. Closes a leak in identity.
1636         Fixes bug #446763.
1637
1638 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1639
1640         * docs/libs/gstreamer-libs-sections.txt:
1641         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
1642         * libs/gst/base/gstbasesink.h:
1643         Expose a method that was previously used internally to synchronize
1644         against the clock because it can be useful for subclasses too.
1645         API: GstBaseSink::gst_base_sink_wait_clock()
1646
1647 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
1648
1649         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
1650           Add sanity check to make sure we don't get smaller buffers
1651           than requested (and fallback to normal buffer alloc if we do).
1652
1653 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1654
1655         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
1656         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
1657         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
1658         Refactor adjusting the running_time with latency and offset into a
1659         separate method.
1660         When doing clipping, we still want to use the subclass get_times method,
1661         just in case the DURATION or TIMESTAMP are not set.
1662
1663 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
1664
1665         * docs/gst/gstreamer-sections.txt:
1666         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
1667         * gst/gsttypefind.h:
1668         * win32/common/libgstreamer.def:
1669           API: add gst_type_find_suggest_simple(), #533740.
1670
1671 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
1672
1673         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
1674           Use right error code when typefinding fails, so we can use
1675           the default (translated) error messages.
1676
1677 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1678
1679         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
1680         (gst_base_src_start):
1681         When the subclass did not set caps on outgoing buffers, configure the
1682         caps we negotiated on the source pad.
1683         When the typefind helper does not find caps, error out properly instead
1684         of doing things with NULL caps.
1685
1686 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1687
1688         * gst/gsttypefind.h:
1689           Tabs to spaces, oh yes!
1690
1691 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1692
1693         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
1694           Add David's and Benjamin's tests for array intersection to the
1695           unit test suite (#147931).
1696
1697 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1698
1699         * gst/gstevent.c:
1700           Document that gst_event_new_tag() and gst_event_new_navigation()
1701           take ownership of the taglist/structure passed to them. (#533635).
1702
1703 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
1704
1705         * docs/Makefile.am:
1706         Don't descend into the plugins dir if plugin docs building
1707         is disabled.
1708
1709         * docs/README:
1710         Add a note about the new type:GTypeName syntax for the plugin
1711         documentation .types file.
1712
1713 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1714
1715         * gst/gstmessage.c: (gst_message_new_error),
1716         (gst_message_new_warning), (gst_message_new_info):
1717         * gst/gstmessage.h:
1718         Mark the debug string parameters as const. Fixes bug #533490.
1719
1720 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
1721
1722         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1723         Sort buffer cache list by end offsets. This makes sure that we don't
1724         stop to search for a cached buffer that contains the requested data
1725         too early.
1726         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
1727         more efficient. Fixes bug #459862.
1728
1729 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
1730
1731         * gst/gstinfo.c:
1732           Explain why we copy the list.
1733
1734         * gst/gstpipeline.c:
1735           Improve docs.
1736
1737         * gst/gstutils.c:
1738           Add one debug-log statement to help tracing probelms with linking pads.
1739
1740 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
1741
1742         * tests/check/gst/gstinfo.c:
1743         Add a test for removing the default log handler. Seems to fail under
1744         windows.
1745
1746 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1747
1748         * gst/gstpad.c: (gst_pad_peer_accept_caps):
1749         Release pad lock before calling out to avoid a possible deadlock.
1750
1751 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1752
1753         * gst/parse/grammar.y:
1754         Remove unneeded value unset.
1755
1756         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1757         Add unit test for de/serialization of caps.
1758
1759 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1760
1761         * plugins/elements/gstfakesink.c:
1762         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
1763         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
1764         (gst_fake_src_class_init):
1765         Use custom marshalers that take GstMiniObject as first parameter.
1766         Using OBJECT as parameter while a GstMiniObject is given will lead
1767         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
1768
1769 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1770
1771         * plugins/elements/gsttypefindelement.c:
1772         (gst_type_find_element_handle_event),
1773         (gst_type_find_element_send_cached_events),
1774         (gst_type_find_element_change_state):
1775         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
1776         immediately.
1777
1778 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1779
1780         * plugins/elements/gsttypefindelement.c:
1781         (gst_type_find_handle_src_query), (stop_typefinding),
1782         (gst_type_find_element_handle_event),
1783         (gst_type_find_element_send_cached_events),
1784         (gst_type_find_element_change_state):
1785         Forward FLUSH_START events immediately and clean up instead of
1786         caching them.
1787
1788 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1789
1790         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1791
1792         * libs/gst/base/gstbasetransform.c:
1793         (gst_base_transform_buffer_alloc):
1794         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
1795         fall back to default negotiation in the chain function if the caps
1796         are different from what was requested. Fixes bug #526768.
1797
1798 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1799
1800         * gst/gstsegment.c:
1801         * tests/check/gst/gstsegment.c:
1802           No, let's not use g_slice_{dup|copy} here, since they only exist
1803           since GLib 2.14 and we still depend only on >= 2.12. Also add
1804           unit test for gst_segment_copy().
1805
1806 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1807
1808         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
1809           Try to fix 'dereferencing type-punned pointer will break strict
1810           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
1811           changed the default GType typedef from gulong to gsize at some point,
1812           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
1813           g_once_* functions all take a gsize * though, so work around the type
1814           mismatch for C++ by doing everything in gsize and casting to GType
1815           later.
1816
1817 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
1818
1819         * plugins/elements/gstmultiqueue.c:
1820         Add documentation for the signals to push our core plugin docs
1821         coverage back up to 100%.
1822
1823 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1824
1825         * gst/gstinfo.h (GST_FUNCTION):
1826           Reverted GST_FUNCTION to the old version as we don't want the
1827           full signature in C++ code. Also added support for MSVC.
1828
1829 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1830
1831         * gst/gstutils.h:
1832         Intern the type name string, similar to what G_DEFINE_TYPE does.
1833
1834 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1835
1836         * gst/gstutils.h:
1837         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
1838
1839 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1840
1841         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
1842
1843         * libs/gst/base/gstbasetransform.c:
1844         (gst_base_transform_buffer_alloc):
1845         Don't passthrough buffer allocation too easily if the caps change.
1846         This breaks when working in passthrough mode and upstream changes
1847         it's caps. Fixes bug #526768.
1848
1849 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1850
1851         * gst/gstinfo.c (gst_debug_log_valist):
1852           Improved the __FILE__ part of debug output for MSVC.
1853
1854 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1855
1856         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
1857           Declaration after statement fix for compilers like MSVC.
1858
1859 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1860
1861         * win32/common/config.h.in:
1862           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
1863           use the real thing than having "???" unconditionally.
1864
1865 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1866
1867         * gst/gstinfo.h (GST_FUNCTION):
1868           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
1869
1870 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1871
1872         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
1873         Small code cleanup.
1874
1875         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1876         (gst_base_sink_set_flushing):
1877         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1878         Fix some comments.
1879
1880 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1881
1882         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1883         (gst_fake_src_init), (gst_fake_src_set_property),
1884         (gst_fake_src_get_property), (gst_fake_src_start):
1885         * plugins/elements/gstfakesrc.h:
1886         Added format property to control the format of the newsegment events.
1887         API: GstFakeSrc:format
1888
1889 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
1890
1891         * win32/common/libgstreamer.def:
1892         Add gst_pad_has_name() to the exported symbols.
1893
1894 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
1895
1896         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1897         * libs/gst/base/gstbasetransform.c:
1898         (gst_base_transform_prepare_output_buffer):
1899         Don't allow negative sizes when allocating new buffers.
1900         Fixes bug #461253.
1901
1902 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1903
1904         Patch by: Sjoerd Simons <sjoerd at luon net>
1905
1906         * gst/gstbus.c: (gst_bus_source_dispatch):
1907           Don't print a warning if the queue is empty when we try to pop
1908           here. That could happen if another thread or callback set the
1909           bus to flushing between the source's check/prepare and the
1910           dispatch being called (#531538).
1911
1912 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1913
1914         * plugins/elements/gstmultiqueue.c:
1915           Small docs fix.
1916         
1917 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
1918
1919         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1920         Add unit test for deserializing uint64s and check some really large
1921         numbers in the int64 test.
1922
1923 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
1924
1925         * tools/gst-inspect.c: (n_print), (print_hierarchy),
1926         (print_interfaces), (print_element_properties_info),
1927         (print_signal_info):
1928         Use "%s" as format string instead of printing strings directly.
1929
1930 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
1931
1932         * gst/gstclock.c: (gst_clock_set_calibration):
1933         Make some checks actually useful.
1934
1935         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
1936         Remove some unused code. Unsigned integers tend to be >= 0.
1937
1938 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1939
1940         * gst/gstminiobject.c: (gst_value_get_mini_object):
1941           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
1942           function was not in the unscheduled 0.10.19 release.
1943
1944 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1945
1946         * gst/gstregistry.c: (gst_registry_scan_path_level):
1947           Only print one log message per non-plugin file.
1948
1949 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1950
1951         * gst/gstinfo.c: (gst_debug_log_default):
1952           Fix alignment of debug log columns on 64-bit.
1953
1954 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1955
1956         * docs/libs/Makefile.am:
1957         * docs/libs/gstreamer-libs-sections.txt:
1958           Ignore private controller headers for docs.
1959
1960 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
1961
1962         * libs/gst/controller/gstcontrollerprivate.h:
1963         * libs/gst/controller/gsthelper.c:
1964         * libs/gst/controller/gstinterpolation.c:
1965         * libs/gst/controller/gstinterpolationcontrolsource.c:
1966         (gst_interpolation_control_source_set_interpolation_mode):
1967         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1968         * libs/gst/controller/lib.c:
1969         Move some private declarations into private headers.
1970
1971 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
1972
1973         * gst/gstdebugutils.c: (debug_dump_element_pad):
1974         Remove some code that is unused after Stefan's refactoring and uses
1975         uninitialized variables now, resulting in a compiler warning.
1976
1977 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1978
1979         * gst/gstregistry.c: (gst_registry_scan_path_level):
1980           Run g_str_has_suffix() only on the file name, not the
1981           entire file path.
1982
1983 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
1984
1985         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
1986           Since we're not called only from the chain function any longer,
1987           we can't assume that there's always data in the queue, so move
1988           the is_full check to the beginning of the loop (otherwise we'd
1989           hit the assert when changing the limit properties while the
1990           queue is empty or not running yet).
1991           Also, only set a discont if items were actually removed from
1992           the queue.
1993
1994         * tests/check/elements/queue.c: (test_leaky_downstream):
1995           Test case for the above.
1996
1997 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
1998
1999         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
2000
2001         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
2002         (gst_queue_chain), (queue_capacity_change),
2003         (gst_queue_set_property):
2004         When changing thr max capacity of a leaky queue, immediatly drop buffers
2005         instead of waiting for a push on the sinkpad. Fixes #530637.
2006
2007 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
2008
2009         * gst/gstdebugutils.c:
2010           Refactor code and fix handling of ghostpads and their proxypads.
2011
2012 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2013
2014         * docs/gst/gstreamer-sections.txt:
2015         * gst/gstevent.c: (gst_event_has_name):
2016         * gst/gstevent.h:
2017         * tests/check/gst/gstevent.c: (GST_START_TEST):
2018         Add method to conveniently check the name of a custom event with
2019         gst_event_has_name().
2020         Reformat the event docs so that related methods are put together instead
2021         of the default alphabetical sort.
2022         Update unit test with new method.
2023         API: GstEvent::gst_event_has_name()
2024
2025 2008-04-28  Michael Smith <msmith@songbirdnest.com>
2026
2027         * libs/gst/check/Makefile.am:
2028           Don't add an explicit link to libgstreamer-0.10.la; it's already
2029           included in GST_OBJ_LIBS.
2030
2031 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
2032
2033         * gst/gst.c:
2034         Register GstClock type from a type-safe context. Fixes bug #530317.
2035
2036 2008-04-25  Michael Smith <msmith@songbirdnest.com>
2037
2038         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
2039         * tools/gst-run.c:
2040           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
2041
2042 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2043
2044         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2045         (gst_bin_dispose):
2046         Use the GLib stuff to create a private structure.
2047         Add some locking around some dispose methods to make them a little
2048         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
2049
2050 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
2051
2052         * libs/gst/base/gstbasesink.h:
2053         * libs/gst/base/gstbasesrc.h:
2054         * libs/gst/base/gstbasetransform.h:
2055         * libs/gst/base/gstcollectpads.h:
2056           Fix doc typos and unify caps a bit.
2057
2058 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
2059
2060         * tools/gst-launch.1.in:
2061           Forgot to also add the envvar docs here.
2062
2063 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
2064
2065         * gst/gst.c: (init_post), (gst_deinit):
2066         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
2067           (test_concurrent_create), (gst_pipeline_suite):
2068           Ref some more classes in gst_init() to work around thread-safety
2069           issues in pre-2.16 GLibs, and add basic unit test.
2070
2071 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2072
2073         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2074         (gst_base_sink_send_event):
2075         Rearrange the latency query code. We always want to do the upstream
2076         query, even if we are not live so that the upstream elements can get the
2077         latency results too. If we fail doing the query and we are live, we
2078         return TRUE afterwards.
2079
2080 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2081
2082         patch by: Jason Zhao <e3423c@motorola.com>
2083
2084         * docs/gst/running.xml:
2085         * gst/gst.c:
2086           Enable/disable scan_and_update_registry() based on commandline switch
2087           or environment variable. Fixes #520468.
2088           
2089         * ChangeLog:
2090           Fix typo in my previous commit.
2091
2092 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2093
2094         * gst/gstregistrybinary.c:
2095           Add a warning if we hit unhandled factories when saving.
2096           More debug logging detail, but move to LOG category.
2097
2098 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2099
2100         * gst/gstregistry.c:
2101           Tell the *truth* when improving the documentation.
2102
2103 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
2104
2105         * gst/gstelementfactory.c: (gst_element_factory_make):
2106         Unref the factory after it was used the last time, not before.
2107
2108         * gst/gstindexfactory.c: (gst_index_factory_make):
2109         Improve debugging a bit and don't leak a ref to the index factory with
2110         each call.
2111
2112 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2113
2114         * gst/gstregistry.c:
2115           Improve the documentation.
2116
2117 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2118
2119         * gst/gstsegment.c:
2120           The glib macro seems to be borked. Use g_slice_copy directly and cast
2121           in the hope that this fixes the warning on 64bit.
2122
2123 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2124
2125         * gst/gstsegment.c:
2126           Document the new function. Use g_slice_dup() (no need for
2127           gst_segment_init()).    
2128
2129 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2130
2131         * docs/gst/gstreamer-sections.txt:
2132           Move GParamSepc macros to standart section.
2133   
2134         * gst/gstbin.c:
2135           Dn't document _get_type - its in private section in docs anyway and
2136           this doc-blob was incomplete.
2137
2138         * gst/gstclock.h:
2139           Fix wrong symbol names in docs.
2140
2141         * gst/gstmacros.h:
2142           Add once doc sentence.
2143
2144         * tests/check/gst/.cvsignore:
2145           Ignore more.
2146
2147 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2148
2149         * docs/gst/Makefile.am:
2150           And remove those libs here.
2151
2152 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
2153
2154         * docs/libs/Makefile.am:
2155           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
2156
2157 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2158
2159         Patch by: Olivier Crete <tester at tester dot ca>
2160
2161         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2162         Add the min-threshold to the min latency if possible. Fixes #529148.
2163
2164 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2165
2166         * docs/gst/gstreamer.types.in:
2167           Stupid editor, I removed that line as it should go in yet.
2168
2169 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2170
2171         * docs/gst/gstreamer.types.in:
2172         * docs/libs/gstreamer-libs.types:
2173           Remove library types fro core docs and have them in libs docs.
2174           Reformat and cleanup. Add comment for miniobject types.
2175
2176 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
2177
2178         * gst/gsturi.c: (gst_uri_get_protocol):
2179           Fix leak: g_strdown operates on the string in place, while
2180           g_ascii_strdown() returns a newly-allocated string.
2181
2182 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
2183
2184         * tools/gst-inspect.c: (print_uri_handler_info),
2185         (print_element_info):
2186         Print the URI protocols and the URI type supported by the element.
2187
2188 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2189
2190         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
2191         Use g_value_take_string() instead of the deprecated
2192         g_value_set_string_take_ownership().
2193
2194 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2195
2196         * gst/gstregistrybinary.c: (_gst_crc32):
2197         Return the old CRC instead of 0 if we give a NULL buffer
2198         or a buffer with a length of 0.
2199
2200 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2201
2202         * gst/gsturi.c: (gst_uri_protocol_check_internal),
2203         (gst_uri_get_protocol), (gst_uri_has_protocol),
2204         (gst_uri_construct), (gst_uri_handler_set_uri):
2205         A valid URI scheme can also include '+', '-' and '.' additional
2206         to alphanumeric characters as per RFC 3986 Section 3.1.
2207
2208         Handle URI schemes case insensitive in all places and convert
2209         to lower-case when constructing an URI or setting an URI with
2210         the GstURIHandler interface. Fixes bug #528868.
2211         All elements can still assume (as before) that they will
2212         get passed URIs with a lower-case URI scheme by the GstURIHandler
2213         interface.
2214
2215 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
2216
2217         * gst/gstcaps.c: (gst_static_caps_get):
2218         * gst/gstclock.c: (gst_clock_entry_new):
2219           Don't use g_atomic_set_int where it's not needed.
2220
2221 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
2222
2223         * gst/gstvalue.c: (gst_value_deserialize_caps):
2224         * gst/parse/grammar.y:
2225         Fix 2 caps leaks.
2226
2227 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
2228
2229         * gst/gstutils.c: (gst_atomic_int_set):
2230         Use g_atomic_int_set() here too instead of assignment +
2231         g_atomic_int_get().
2232
2233 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
2234         
2235         * gst/gstutils.c:
2236         * gst/gstutils.h:
2237         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
2238         now that we depend on new enough GLib.
2239
2240         * gst/gstcaps.c: (gst_static_caps_get):
2241         * gst/gstclock.c: (gst_clock_entry_new):
2242         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
2243         (gst_debug_set_default_threshold), (_gst_debug_category_new),
2244         (gst_debug_category_set_threshold):
2245         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2246         (gst_base_sink_set_qos_enabled):
2247         * libs/gst/net/gstnettimeprovider.c:
2248         (gst_net_time_provider_set_property):
2249         Use g_atomic_int_set() instead of gst_atomic_int_set().
2250
2251 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
2252
2253         * gst/gstquery.c:
2254           Also use G_GINT64_CONSTANT for the queries.
2255
2256 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
2257
2258         * gst/gstmessage.c:
2259           Use G_GINT64_CONSTANT in varargs function.
2260
2261 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
2262
2263         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
2264         Initialize the registry magic with zeroes.
2265
2266 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
2267
2268         * gst/gstregistrybinary.c: (_gst_crc32),
2269         (gst_registry_binary_write),
2270         (gst_registry_binary_initialize_magic),
2271         (gst_registry_binary_write_cache),
2272         (gst_registry_binary_check_magic),
2273         (gst_registry_binary_read_cache):
2274         * gst/gstregistrybinary.h:
2275         Add crc32 checksum to the binary registry file and check this before
2276         accepting a registry file.
2277
2278         Also free the data list when writing to the registry file fails.
2279
2280 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
2281
2282         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
2283         (gst_registry_binary_load_feature),
2284         (gst_registry_binary_load_plugin):
2285         If an element supports the Uri interface, returns a valid pointer
2286         to the supported URI protocols but this pointer contains nothing
2287         don't try to save that as it will corrupt the registry.
2288
2289         Don't unref the plugin if we added it to the registry already but
2290         fail to load a feature as gst_registry_add_plugin() takes ownership
2291         of the plugin.
2292
2293         Improve debugging a bit.
2294
2295 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
2296
2297         * gst/gsttaglist.h:
2298           Clarify some tag item docs after discussion on irc.
2299
2300 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
2301
2302         * docs/gst/gstreamer-docs.sgml:
2303           Remove commented out plugins (they have their own docs). Update
2304           comments.
2305
2306 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
2307
2308         * docs/gst/gstreamer-docs.sgml:
2309         * docs/gst/gstreamer-sections.txt:
2310         * gst/gstparamspecs.c:
2311         * gst/gstparamspecs.h:
2312           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
2313           docs to own section.
2314
2315         * gst/gstvalue.c:
2316           This now only documents GValue.
2317           
2318         * docs/libs/gstreamer-libs-sections.txt:
2319         * libs/gst/controller/gstcontroller.h:
2320           Remove GST_PARAM_CONTROLLABLE.
2321
2322 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
2323
2324         * docs/README:
2325           Correct file path. Tell about how to use -overrides.txt.
2326         * docs/design/draft-tagreading.txt:
2327           Small design update.
2328
2329 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
2330
2331         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
2332         (gst_registry_binary_load_plugin):
2333         Fix a typo in a debug message and revert change from yesterday as
2334         gst_registry_add_plugin() will only fail if something is really wrong
2335         already and we can't survive it anyway.
2336
2337 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
2338
2339         * gst/gst.c: (init_post), (gst_deinit):
2340           Pre-register GstGError GType from a thread-safe context
2341           (fixes #527967); unref enum type classes in deinit.
2342
2343 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
2344
2345         Patch by: Rene Stadler <mail at renestadler de>
2346
2347         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
2348           Merging an empty list with another list in KEEP_ALL mode should
2349           yield an empty list as result and not the second list (#512578).
2350
2351         * tests/check/gst/gsttagsetter.c:
2352           Add unit test for tag merge modes and the aforementioned bug.
2353
2354 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
2355
2356         Patch by: Rene Stadler <mail at renestadler de>
2357
2358         * gst/gsttaglist.h:
2359           Fix description to match the order in the table (#512577).
2360   
2361 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
2362
2363         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
2364
2365         * libs/gst/net/gstnettimepacket.h:
2366         * docs/libs/gstreamer-libs-sections.txt:
2367           Define socklen_t as int if it's not defined yet. Fixes compilation
2368           with MSVC6 and other versions where socklen_t is not defined in
2369           the windows headers (#518022).
2370
2371 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
2372
2373         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2374         If gst_registry_add_plugin() fails our reference to the plugin is
2375         invalid so don't try to use it anymore and instead error out.
2376
2377 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2378
2379         * tools/gst-xmlinspect.c: (print_element_info), (main):
2380           De-cruft a bit. If no argument is specified, print all elements in
2381           XML syntax rather than a freestyle list of elements like gst-inspect.
2382           Also, don't print XML header chunk unless we actually have something
2383           to print (ie. don't print it before an error message); print error
2384           message to stderr not stdout. Remove support for printing plugin
2385           info (it would just output something freestyle along the lines of
2386           gst-inspect so far), which fixes #514507. Also add license header.
2387
2388 2008-04-11  Julien Moutte  <julien@fluendo.com>
2389
2390         Mac OS X love...
2391         * configure.ac: Merge platform specific defines, introduce a new
2392         define on OS X to remember that forking when updating registry is
2393         unsafe.
2394         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
2395         module.
2396         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
2397         is defined.
2398         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
2399         condition that leads to absolutely no plugins being registered on
2400         OS X.
2401
2402 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
2403
2404         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2405
2406         * gst/gstutils.c: (gst_pad_add_data_probe),
2407           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
2408           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
2409           (gst_pad_add_buffer_probe_full):
2410         * gst/gstutils.h:
2411         * docs/gst/gstreamer-sections.txt:
2412         * win32/common/libgstreamer.def:
2413           Add gst_pad_add_*_probe_full() functions with a notify callback that
2414           lets the caller free the data it passes to the probe functions. This
2415           is useful for bindings such as gst-python or gstreamermm (#526814).
2416           API: gst_pad_add_data_probe_full
2417           API: gst_pad_add_buffer_probe_full
2418           API: gst_pad_add_event_probe_full
2419
2420         * tests/check/gst/gstutils.c:
2421           Add minimal unit test to make sure freeing the data actually works
2422           as expected.
2423
2424         * tests/benchmarks/.cvsignore:
2425           Random cvsignore addendum.
2426
2427 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
2428
2429         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
2430           (GST_DEBUG_BIN_TO_DOT_FILE):
2431           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
2432           to it in the docs (since these are macros the types of the arguments
2433           won't be shown in the docs otherwise).
2434
2435 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
2436
2437         * gst/gstpad.c:
2438           Do not abort on out of memory for pad_alloc_buffer.
2439
2440 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
2441
2442         * libs/gst/check/gstcheck.c:
2443           Remove blank line between symbol name ad parameters to fix gtkdoc
2444           warning.
2445
2446 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2447
2448         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
2449
2450         * docs/gst/gstreamer-sections.txt:
2451         * gst/gstsegment.c:
2452         * gst/gstsegment.h:
2453         * win32/common/libgstreamer.def:
2454           Expose gst_segment_copy() to make things easier for the c++ bindings.
2455           Fixes #518932.
2456           API: gst_segment_copy()
2457
2458 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2459
2460         * gst/gst.c: (gst_init_get_option_group), (init_post):
2461           Fix const position; ref GType classes for enum types to work
2462           around thread-safety issues in GLib versions < 2.16.
2463
2464 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2465
2466         * docs/design/part-buffering.txt:
2467         Fix some typos and set the estimated total for push mode to -1.
2468
2469         * gst/gstquery.c: (gst_query_new_buffering):
2470         Set buffering-left to 0 as we're not buffering by default.
2471
2472         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
2473         Implement BUFFERING query.
2474
2475 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2476
2477         Based on patch by: Milosz Derezynski <internalerror gmail com>
2478
2479         * gst/gsterror.c: (_gst_stream_errors_init):
2480         * gst/gsterror.h:
2481           Add two new error codes for encrypted content. Fixes #524659.
2482           API: GST_STREAM_ERROR_DECRYPT
2483           API: GST_STREAM_ERROR_DECRYPT_NOKEY
2484
2485 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2486
2487         * gst/gstquery.h:
2488           Fix typo.
2489
2490         * win32/common/libgstreamer.def:
2491           Add new functions.
2492
2493 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
2494
2495         * plugins/elements/gstidentity.c: (gst_identity_event),
2496         (gst_identity_start):
2497         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
2498         event after processing some data. Fixes bug #526042.
2499
2500 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2501
2502         * docs/gst/gstreamer-sections.txt:
2503         * gst/gstquery.c: (gst_query_parse_latency),
2504         (gst_query_set_buffering_percent),
2505         (gst_query_parse_buffering_percent),
2506         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
2507         * gst/gstquery.h:
2508         Rename _avail -> _range
2509         API: gst_query_set_buffering_range
2510         API: gst_query_parse_buffering_range
2511
2512 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2513
2514         * docs/design/part-buffering.txt:
2515         * gst/gstquark.c:
2516         * gst/gstquark.h:
2517         * gst/gstquery.c: (gst_query_parse_latency),
2518         (gst_query_new_buffering), (gst_query_set_buffering_percent),
2519         (gst_query_parse_buffering_percent):
2520         * gst/gstquery.h:
2521         Add busy field and quark for the buffering query so that the app can
2522         only use the query to see if buffering is in progress.
2523
2524 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2525
2526         * docs/gst/gstreamer-sections.txt:
2527         * gst/gstmessage.c: (gst_message_set_buffering_stats),
2528         (gst_message_parse_buffering_stats):
2529         * gst/gstmessage.h:
2530         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
2531         (gst_query_parse_latency), (gst_query_new_buffering),
2532         (gst_query_set_buffering_percent),
2533         (gst_query_parse_buffering_percent),
2534         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
2535         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
2536         * gst/gstquery.h:
2537         Reorder the message docs and headers for clarity.
2538         Add aditional buffering stats API for messages.
2539         Add buffering query.
2540         Convert some leftover queries to use GstQuark.
2541         API: gst_message_set_buffering_stats
2542         API: gst_message_parse_buffering_stats
2543         API: GST_QUERY_BUFFERING
2544         API: GstBufferingMode
2545         API: gst_query_new_buffering
2546         API: gst_query_set_buffering_percent
2547         API: gst_query_parse_buffering_percent
2548         API: gst_query_set_buffering_stats
2549         API: gst_query_parse_buffering_stats
2550
2551 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2552
2553         * gst/gstmessage.c: (gst_message_new_error),
2554         (gst_message_new_warning), (gst_message_new_info),
2555         (gst_message_new_buffering), (gst_message_new_state_changed),
2556         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
2557         (gst_message_new_new_clock), (gst_message_new_segment_start),
2558         (gst_message_new_segment_done), (gst_message_new_duration),
2559         (gst_message_new_async_start), (gst_message_parse_buffering),
2560         (gst_message_parse_state_changed),
2561         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
2562         (gst_message_parse_new_clock), (gst_message_parse_error),
2563         (gst_message_parse_warning), (gst_message_parse_info),
2564         (gst_message_parse_segment_start),
2565         (gst_message_parse_segment_done), (gst_message_parse_duration),
2566         (gst_message_parse_async_start):
2567         Use GstQuark for messages.
2568
2569 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2570
2571         * gst/gstquark.c: (_priv_gst_quarks_initialize):
2572         * gst/gstquark.h:
2573         Add some more quarks needed for messages and queries.
2574
2575 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2576
2577         * docs/design/part-buffering.txt:
2578         Remove the "none" buffering mode, STREAM is a good default.
2579         Move estimated-time to the avail query, that's when it will be needed.
2580         Other small typo fixes and updates.
2581
2582 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
2583
2584         * gst/gstindex.c: (gst_index_resolver_get_type):
2585           Don't put descriptions into the nick field of a GEnumValue: it's not
2586           meant for that and some language bindings rely on the nick field to
2587           construct constants and the like. Fixes #526705.
2588
2589 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
2590
2591         * NEWS:
2592         * RELEASE:
2593         * gstreamer.doap:
2594           Merge other changes from 0.10.19 release branch.
2595
2596 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
2597
2598         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
2599
2600         * configure.ac:
2601         Actually build dlls when cross-compiling with mingw32.
2602         Fixes bug #526247.
2603
2604 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
2605
2606         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
2607
2608         * gst/gstpoll.c:
2609         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
2610
2611 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2612
2613         * docs/design/draft-latency.txt:
2614         Fix typo.
2615
2616         * docs/design/part-buffering.txt:
2617         Update design docs with more buffering ideas.
2618
2619 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
2620
2621         * configure.ac:
2622           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
2623
2624 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
2625
2626         * configure.ac:
2627           Revert part that belongs to the preset patch.
2628
2629 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
2630
2631         * configure.ac:
2632           Add qoutes to the define. Fixes # 525961.
2633
2634 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
2635
2636         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
2637         (gst_file_index_load), (gst_file_index_add_id),
2638         (gst_file_index_get_assoc_entry):
2639         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
2640         (gst_mem_index_free_id), (gst_mem_index_add_id),
2641         (gst_mem_index_index_format):
2642         Use GSlice when possible.
2643
2644 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
2645
2646         * libs/gst/controller/gstinterpolationcontrolsource.c:
2647         (gst_control_point_free),
2648         (gst_interpolation_control_source_set_internal):
2649         Use GSlice for allocating the control points.
2650
2651 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
2652
2653         * plugins/elements/gsttypefindelement.c:
2654         (gst_type_find_element_class_init),
2655         (gst_type_find_element_set_property),
2656         (gst_type_find_element_get_property),
2657         (gst_type_find_element_activate):
2658         * plugins/elements/gsttypefindelement.h:
2659         Cleanup properties.
2660         Fix pad leak when peer query fails.
2661         We can still typefind when the peer returns -1.
2662         Add property to force caps and bypass typefinding. This will be used in
2663         uridecodebin.
2664         API::force-caps
2665
2666 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
2667
2668         * configure.ac:
2669         Require GLib 2.12.
2670
2671         * gst/glib-compat-private.h:
2672         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
2673         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
2674         Unconditionally use GSlice for allocation.
2675
2676         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
2677         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
2678         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
2679         (gst_structure_free):
2680         Use GSlice for allocation.
2681
2682 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
2683
2684         * gst/parse/Makefile.am:
2685         * gst/parse/grammar.tab.pre.c:
2686         * gst/parse/grammar.tab.pre.h:
2687         * gst/parse/lex._gst_parse_yy.pre.c:
2688         Require a new enough flex and bison and remove the parser hacks to use
2689         a pre-regenerated version.
2690
2691 2008-04-01  Julien Moutte  <julien@fluendo.com>
2692
2693         patch by: Jason Zhao <E3423C@motorola.com>
2694
2695         * configure.ac: Add a configure switch to disable option parsing
2696         in gst_init.
2697         Fixes #522882.
2698
2699 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
2700
2701         * configure.ac:
2702         * gst/gstregistry.c:
2703           MacOS has plugins under .so or under .dylib. Add detection for MacOS
2704           and handle this case.
2705
2706         * gst/gst.c:
2707           Add a comment here describing, why we stat each plugin and not try to
2708           be smart.
2709
2710 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
2711
2712         * libs/gst/base/gstbasetransform.c:
2713         (gst_base_transform_prepare_output_buffer):
2714         Also unset the GAP flag on buffers if we're working inplace but
2715         the element is not GAP-aware.
2716
2717         Mark a comment as FIXME 0.11.
2718
2719 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
2720
2721         * gst/gst.c:
2722           Fix type in log message and add one to ease seeing how long registry
2723           cache verification takes.
2724
2725         * gst/gstregistry.c:
2726           Only test plugin filenames against G_MODULE_SUFFIX.
2727
2728 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
2729
2730         * gst/gstdebugutils.c:
2731           Improve handling ghost/proxy pads.
2732
2733 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
2734
2735         * docs/gst/gstreamer-sections.txt:
2736         * gst/gstpad.c:
2737         * gst/gstpad.h:
2738           Expose macro to docs and fix link to it.
2739
2740 2008-03-27  Michael Smith <msmith@fluendo.com>
2741
2742         * libs/gst/dataprotocol/dataprotocol.c:
2743         (gst_dp_packet_from_event_1_0):
2744           When calculating GDP body CRC, use the correct pointer. 
2745           Fixes part of #522401.
2746
2747 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2748
2749         Patch by: Mark Nauwelaerts <manauw at skynet be>
2750
2751         * plugins/elements/gstidentity.c: (gst_identity_class_init),
2752         (gst_identity_init), (gst_identity_prepare_output_buffer):
2753         Identity is not always a passthrough element, it can modify the buffer
2754         timestamps when it has a datarate and operates in single-segment mode.
2755         We therefore make it an in_place filter with a custom buffer prepare
2756         function that conditionally makes the input buffer metadata writable
2757         when needed.  Fixes #523985.
2758
2759 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2760
2761         Patch by: Mark Nauwelaerts <manauw at skynet be>
2762
2763         * gst/gstclock.h:
2764         * libs/gst/base/gstbasesrc.h:
2765         * libs/gst/base/gstbasetransform.c:
2766         * libs/gst/check/gstcheck.c:
2767         Small documentation fixes. Fixes #523978.
2768
2769 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2770
2771         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2772         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2773         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
2774
2775 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2776
2777         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
2778         (single_queue_underrun_cb):
2779         When trying to make room in the queue, bump the max allowed buffers
2780         bigger than the current amount of buffers in the queue. this fixes some
2781         nasty deadlocks in multiqueue when dynamically changing the limits of
2782         the queue.
2783
2784 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2785
2786         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
2787
2788         * gst/gstcaps.c: (gst_caps_set_simple),
2789         (gst_caps_set_simple_valist), (gst_caps_intersect):
2790         * gst/gstcaps.h:
2791         Constify the field gchar * params in set_simple and friends.
2792         Fixes #522326.
2793
2794 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2795
2796         * gst/gstvalue.c: (gst_value_transform_object_string):
2797         Transform a GstObject to a more meaningfull string that includes the
2798         object type in addition to its name.
2799
2800 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
2801
2802         * ChangeLog:
2803           ChangeLog surgery to add bugnumber to commit.
2804
2805 2008-03-23  Rene Stadler  <mail@renestadler.de>
2806
2807         * libs/gst/base/gstbasetransform.c:
2808         (gst_base_transform_set_gap_aware): Fix confusing documentation.
2809
2810 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2811
2812         * gst/gstregistrybinary.c: (gst_registry_binary_write):
2813         Rename constant everywhere and don't forget one occurence.
2814
2815 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2816
2817         * gst/gstregistrybinary.c: (gst_registry_binary_write):
2818         Align memory to the pointer size even if the architecture allows
2819         unaligned memory access. Unaligned memory access usually comes with
2820         performance penality.
2821
2822 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2823
2824         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2825         (gst_registry_binary_check_magic),
2826         (gst_registry_binary_load_pad_template),
2827         (gst_registry_binary_load_feature),
2828         (gst_registry_binary_load_plugin):
2829         Align memory to the pointer size instead of always 32 bit. Fixes
2830         unaligned memory accesses on ia64 and friends.
2831
2832         * gst/gstregistrybinary.h:
2833         Bump binary registry format version for this as it changes the
2834         format on those architectures that don't have unaligned access
2835         and 64 bit pointers.
2836
2837 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2838
2839         * docs/pwg/advanced-dparams.xml:
2840         * docs/pwg/building-props.xml:
2841         * docs/pwg/other-source.xml:
2842         * gst/glib-compat.h:
2843         * gst/gstbin.c: (gst_bin_class_init):
2844         * gst/gstclock.c: (gst_clock_class_init):
2845         * gst/gstindex.c: (gst_index_class_init):
2846         * gst/gstobject.c: (gst_object_class_init):
2847         * gst/gstpad.c: (gst_pad_class_init):
2848         * gst/gstpipeline.c: (gst_pipeline_class_init):
2849         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2850         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
2851         * libs/gst/base/gstbasetransform.c:
2852         (gst_base_transform_class_init):
2853         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
2854         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
2855         (_gst_check_fault_handler_sighandler),
2856         (_gst_check_fault_handler_setup), (gst_check_init):
2857         * libs/gst/controller/gstcontroller.c:
2858         (_gst_controller_class_init):
2859         * libs/gst/controller/gstlfocontrolsource.c:
2860         (gst_lfo_control_source_class_init):
2861         * libs/gst/net/gstnetclientclock.c:
2862         (gst_net_client_clock_class_init):
2863         * libs/gst/net/gstnettimeprovider.c:
2864         (gst_net_time_provider_class_init):
2865         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
2866         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2867         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2868         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
2869         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2870         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2871         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2872         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2873         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
2874         * plugins/elements/gstqueue.c: (gst_queue_class_init):
2875         * plugins/elements/gsttee.c: (gst_tee_class_init):
2876         * plugins/elements/gsttypefindelement.c:
2877         (gst_type_find_element_class_init):
2878         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2879         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
2880         use it everywhere for GParamSpecs that use static strings (i.e. all).
2881         This gives us less memory usage, fewer allocations and thus less
2882         memory defragmentation. Fixes bug #523806.
2883
2884 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2885
2886         * gst/gstminiobject.c: (gst_value_dup_mini_object),
2887         (gst_param_spec_mini_object):
2888         * gst/gstminiobject.h:
2889         * win32/common/libgstreamer.def:
2890         * docs/gst/gstreamer-sections.txt:
2891         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
2892         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
2893         GstParamSpecMiniObject into a public header for this.
2894
2895         This make GstMiniObject a bit more consistent with GObject and makes
2896         it possible to extend the param specs.
2897
2898         gst_value_dup_mini_object is mainly useful for set_property methods.
2899
2900         Fixes bug #523798.
2901
2902         * tools/gst-inspect.c: (print_element_properties_info):
2903         Print something useful for GstMiniObject properties and not just
2904         "unknown type".
2905
2906 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
2907
2908         * docs/gst/gstreamer-sections.txt:
2909         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
2910         (gst_registry_binary_check_magic):
2911         * gst/gstregistrybinary.h:
2912         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
2913         and add it to the (private part) of the docs to fix the build.
2914
2915 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
2916
2917         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
2918         (gst_registry_binary_check_magic),
2919         (gst_registry_binary_read_cache):
2920         * gst/gstregistrybinary.h:
2921         Don't use GST_MAJORMINOR for the binary registry version. Instead
2922         hardcode a value that must be changed whenever the format changes
2923         in an incompatible way.
2924         Also don't GST_ERROR when there is a version mismatch, just
2925         regenerate the registry silently.
2926
2927 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
2928
2929         * configure.ac:
2930         Back to development - 0.10.18.1
2931
2932 === release 0.10.18 ===
2933
2934 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
2935
2936         * configure.ac:
2937           releasing 0.10.18, "So far away"
2938
2939 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
2940
2941         * configure.ac:
2942         * win32/common/config.h:
2943         0.10.17.4 pre-release
2944
2945 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
2946
2947         Patch by: Ole André Vadla Ravnås
2948             <ole dot andre dot ravnas at tandberg dot com>
2949
2950         * docs/gst/gstreamer-sections.txt:
2951         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
2952         (gst_poll_update_winsock_event_mask),
2953         (gst_poll_prepare_winsock_active_sets),
2954         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
2955         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
2956         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
2957         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
2958         (gst_poll_check_ctrl_commands), (gst_poll_wait):
2959         * gst/gstpoll.h:
2960         * win32/common/libgstreamer.def:
2961         Add new function gst_poll_fd_ignored() for improved Windows
2962         compatibility.
2963         Various minor fixes and cleanups. See #520808.
2964
2965 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
2966
2967         * gst/gstindex.c: (gst_index_entry_free):
2968         * gst/gstindex.h:
2969           Don't free key strings which we don't own. Fixes crash in
2970           gst_index_entry_free() (#522741).
2971
2972         * tests/check/Makefile.am:
2973         * tests/check/gst/.cvsignore:
2974         * tests/check/gst/gstindex.c: (test_index_entries),
2975           (gst_index_suite), (gst_index):
2976           Add unit test for the above.
2977
2978 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
2979
2980         * win32/common/libgstreamer.def:
2981         Remove symbols that were removed recently. Fixes bug #521740.
2982
2983 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
2984
2985         * configure.ac:
2986         * win32/common/config.h:
2987         0.10.17.3 pre-release
2988
2989 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2990
2991         Patch by: Ole André Vadla Ravnås
2992             <ole dot andre dot ravnas at tandberg dot com>
2993
2994         * docs/gst/gstreamer-sections.txt:
2995         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
2996         (gst_poll_update_winsock_event_mask), (gst_poll_new),
2997         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
2998         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
2999         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
3000         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3001         (gst_poll_fd_can_write), (gst_poll_wait),
3002         (gst_poll_set_controllable), (gst_poll_restart),
3003         (gst_poll_set_flushing):
3004         * gst/gstpoll.h:
3005         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3006         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
3007         (gst_net_time_provider_new):
3008         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3009         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
3010         * tests/benchmarks/gstpollstress.c: (main):
3011         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
3012         Remove GstPollMode from the API, it does not make sense to let the
3013         application control this.
3014         Add support for Win32.
3015         Fix the testsuite. Fixes #520671.
3016
3017 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
3018
3019         Patch by: Ole André Vadla Ravnås
3020             <ole dot andre dot ravnas at tandberg dot com>
3021
3022         * gst/gstregistrybinary.c:
3023         Include io.h for write() and close() when building with MSVC. Fixes
3024         bug #520877.
3025
3026 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
3027
3028         * configure.ac:
3029         * gst/gst_private.h:
3030         * gst/gstconfig.h.in:
3031         * gst/gstregistry.h:
3032         * gst/gstregistrybinary.c:
3033         * win32/common/gstconfig.h:
3034           Move registry backend API to private headers where we can. Add
3035           fixme-0.11 comments for the others. Add stubs for the xml backend when
3036           using the binary to ensure they functions exists (they should not be
3037           used though). Fixes #520756.
3038
3039 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
3040
3041         * configure.ac:
3042         * win32/common/config.h:
3043         0.10.17.2 prelease
3044
3045 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
3046
3047         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3048         (gst_registry_binary_read_cache):
3049         * gst/gstregistryxml.c: (gst_registry_save):
3050         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
3051         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
3052         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3053         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3054         Switch to using portabl gsize/gssize instead of size_t/ssize_t
3055         Fixes #520152
3056
3057 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
3058
3059         * gst/gstminiobject.c:
3060         Import gst_private.h before any other header that might include other
3061         glib headers. This fixes the build on windows using native compilers.
3062
3063 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3064
3065         * win32/common/gstconfig.h:
3066           Add here too, just for completeness.
3067
3068 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3069
3070         * configure.ac:
3071         * gst/gstconfig.h.in:
3072         * gst/gstregistry.h:
3073           Fix broken use of config.h-defined preprocessor directive in a public
3074           header file. Add a corresponding define to gstconfig.h, since we can't
3075           really remove those function declarations from the header file now
3076           (or can we? and why are they there in the first place?).
3077
3078 2008-03-03  Andy Wingo  <wingo@pobox.com>
3079
3080         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
3081         the new warning.
3082
3083         * gst/gststructure.c (gst_structure_from_string): Warn if
3084         structure_from_string didn't consume the whole string, but the
3085         caller did not provide an end pointer.
3086
3087 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
3088
3089         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
3090
3091         * gst/gstregistryxml.c: (read_string), (load_feature):
3092           Strings allocated by libxml2 should be freed with xmlFree(), not
3093           with g_free(). Fixes issues on windows in certain contexts (#519698).
3094
3095 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
3096
3097         * gst/gstinterface.c: (gst_element_implements_interface):
3098           Don't crash if the element supports the interface queried, but does
3099           not implement GstImplementsInterface. Fixes #519584.
3100
3101         * tests/check/Makefile.am:
3102         * tests/check/gst/.cvsignore:
3103         * tests/check/gst/gstinterface.c:
3104           Add unit test for the above.
3105
3106 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3107
3108         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3109         Small doc update.
3110
3111 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3112
3113         * gst/gstsegment.c: (gst_segment_set_seek),
3114         (gst_segment_to_stream_time):
3115         Improve some comment.
3116         Update variables where it makes more sense.
3117
3118 2008-02-29  Rene Stadler  <mail@renestadler.de>
3119
3120         * gst/gsturi.c: (gst_uri_handler_get_protocols):
3121         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
3122         URIHandlers implemented using language bindings.
3123
3124 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
3125
3126         * gst/gstelementfactory.h:
3127         * tests/check/elements/fakesink.c:
3128         * tests/check/elements/fakesrc.c: (setup_fakesrc):
3129         * tests/check/elements/fdsrc.c: (setup_fdsrc):
3130         * tests/check/elements/filesink.c: (setup_filesink):
3131         * tests/check/elements/filesrc.c: (setup_filesrc):
3132         * tests/check/elements/identity.c: (setup_identity):
3133         * tests/check/elements/tee.c:
3134         * tests/check/generic/sinks.c:
3135         * tests/check/generic/states.c: (setup), (teardown):
3136         * tests/check/gst/gst.c:
3137         * tests/check/gst/gstabi.c:
3138         * tests/check/gst/gstbin.c:
3139         * tests/check/gst/gstbus.c: (pull_messages):
3140         * tests/check/gst/gstcaps.c:
3141         * tests/check/gst/gstelement.c:
3142         * tests/check/gst/gstevent.c:
3143         * tests/check/gst/gstghostpad.c:
3144         * tests/check/gst/gstiterator.c:
3145         * tests/check/gst/gstmessage.c:
3146         * tests/check/gst/gstminiobject.c: (my_foo_init):
3147         * tests/check/gst/gstobject.c: (thread_name_object),
3148         (gst_object_suite):
3149         * tests/check/gst/gstpad.c:
3150         * tests/check/gst/gstplugin.c:
3151         * tests/check/gst/gstpoll.c:
3152         * tests/check/gst/gstquery.c:
3153         * tests/check/gst/gstsegment.c:
3154         * tests/check/gst/gststructure.c:
3155         * tests/check/gst/gstsystemclock.c:
3156         * tests/check/gst/gsttask.c:
3157         * tests/check/gst/gstutils.c:
3158         * tests/check/gst/gstvalue.c:
3159         * tests/check/gst/struct_hppa.h:
3160         * tests/check/gst/struct_i386.h:
3161         * tests/check/gst/struct_ppc32.h:
3162         * tests/check/gst/struct_ppc64.h:
3163         * tests/check/gst/struct_x86_64.h:
3164         * tests/check/libs/adapter.c: (create_and_fill_adapter):
3165         * tests/check/libs/basesrc.c:
3166         * tests/check/libs/controller.c: (GST_START_TEST):
3167         * tests/check/libs/gdp.c:
3168         * tests/check/libs/gstnetclientclock.c:
3169         * tests/check/libs/gstnettimeprovider.c:
3170         * tests/check/libs/libsabi.c:
3171         * tests/check/libs/struct_hppa.h:
3172         * tests/check/libs/struct_i386.h:
3173         * tests/check/libs/struct_ppc32.h:
3174         * tests/check/libs/struct_ppc64.h:
3175         * tests/check/libs/struct_x86_64.h:
3176         * tests/check/pipelines/cleanup.c:
3177         * tests/check/pipelines/simple-launch-lines.c:
3178         * tests/check/pipelines/stress.c:
3179         And correct even more valid sparse warnings.
3180
3181         * win32/common/libgstreamer.def:
3182         Add gst_poll_fd_init to the list of symbols.
3183
3184 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
3185
3186         * gst/gstconfig.h.in:
3187         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
3188         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
3189         (gst_check_log_critical_func), (gst_check_drop_buffers),
3190         (gst_check_element_push_buffer_list):
3191         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
3192         (gst_controller_get_type):
3193         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
3194         (gst_object_get_controller), (gst_object_get_control_source):
3195         * libs/gst/controller/gstinterpolationcontrolsource.c:
3196         (gst_interpolation_control_source_new):
3197         * libs/gst/controller/gstlfocontrolsource.c:
3198         (gst_lfo_control_source_new):
3199         * libs/gst/dataprotocol/dataprotocol.c:
3200         (gst_dp_event_from_packet_0_2):
3201         * plugins/elements/gstfdsrc.c:
3202         * plugins/elements/gstmultiqueue.c:
3203         * plugins/elements/gsttee.c:
3204         * plugins/elements/gsttypefindelement.c:
3205         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
3206         (gst_file_index_add_association):
3207         * plugins/indexers/gstmemindex.c:
3208         * tests/benchmarks/gstpollstress.c: (mess_some_more):
3209         * tests/check/elements/queue.c: (setup_queue):
3210         * tests/check/gst/gstpipeline.c:
3211         * tests/check/libs/collectpads.c: (setup), (teardown),
3212         (gst_collect_pads_suite):
3213         * tests/examples/adapter/adapter_test.c:
3214         * tests/examples/metadata/read-metadata.c: (make_pipeline):
3215         * tests/examples/xml/createxml.c:
3216         * tests/examples/xml/runxml.c:
3217         * tools/gst-inspect.c:
3218         * tools/gst-run.c:
3219         Correct all relevant warnings found by the sparse semantic code
3220         analyzer. This include marking several symbols static, using
3221         NULL instead of 0 for pointers, not using variable sized arrays
3222         on the stack, moving variable declarations to the beginning of
3223         a block and using "foo (void)" instead of "foo ()" for declarations.
3224
3225 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
3226
3227         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
3228         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3229         Don't reset GstPollFDs, this is not necessary at all.
3230
3231         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
3232         (delayed_restart), (delayed_control):
3233         Use GST_POLL_FD_INIT.
3234
3235 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3236
3237         * gst/gstpoll.c: (gst_poll_fd_init):
3238         * gst/gstpoll.h:
3239         Added Since tags.
3240
3241         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
3242         Use some more init macros.
3243
3244 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3245
3246         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3247         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3248         Use init macros and functions.
3249
3250 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3251
3252         * docs/gst/gstreamer-sections.txt:
3253         * gst/gstpoll.c: (gst_poll_fd_init):
3254         * gst/gstpoll.h:
3255         Add INIT macro and _init method for initializing the GstPollFD.
3256
3257 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
3258
3259         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
3260         (gst_fd_sink_update_fd):
3261         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3262         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
3263         (delayed_restart), (delayed_control):
3264         Initialize some uninitialized variables as spotted by valgrind.
3265
3266 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
3267
3268         * tests/benchmarks/Makefile.am:
3269         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
3270         (main):
3271         Add poll stress test.
3272
3273 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
3274
3275         Patch by: Peter Kjellerstedt <pkj at axis dot com>
3276
3277         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3278         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
3279         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
3280         * plugins/elements/gstfdsink.h:
3281         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
3282         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
3283         (gst_fd_src_unlock_stop), (gst_fd_src_create),
3284         (gst_fd_src_uri_set_uri):
3285         * plugins/elements/gstfdsrc.h:
3286         Port to GstPoll. See #505417.
3287
3288 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
3289
3290         * win32/common/libgstreamer.def:
3291         Add new gst_poll_ symbols to win32 defs.
3292
3293 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
3294
3295         * docs/libs/gstreamer-libs-sections.txt:
3296         * libs/gst/net/gstnetclientclock.c:
3297         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
3298         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
3299         (gst_net_client_clock_thread), (gst_net_client_clock_start),
3300         (gst_net_client_clock_stop), (gst_net_client_clock_new):
3301         * libs/gst/net/gstnetclientclock.h:
3302         * libs/gst/net/gstnettimeprovider.c:
3303         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
3304         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
3305         (gst_net_time_provider_start), (gst_net_time_provider_stop),
3306         (gst_net_time_provider_new):
3307         * libs/gst/net/gstnettimeprovider.h:
3308         Use a private stuct to not break ABI.
3309
3310 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
3311
3312         Patch by: Peter Kjellerstedt <pkj at axis dot com>
3313
3314         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
3315         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
3316         (gst_net_client_clock_thread), (gst_net_client_clock_start),
3317         (gst_net_client_clock_stop), (gst_net_client_clock_new):
3318         * libs/gst/net/gstnetclientclock.h:
3319         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
3320         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
3321         (gst_net_time_provider_start), (gst_net_time_provider_stop),
3322         (gst_net_time_provider_new):
3323         * libs/gst/net/gstnettimeprovider.h:
3324         Massive code removal and cleanups because of GstPoll.
3325         Fixes #505417.
3326
3327 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
3328
3329         * configure.ac:
3330         Add checks for poll, ppoll and pselect.
3331
3332         * docs/gst/gstreamer-docs.sgml:
3333         * docs/gst/gstreamer-sections.txt:
3334         Add docs for GstPoll.
3335
3336         * gst/Makefile.am:
3337         * gst/gst.h:
3338         * gst/gstpoll.c: (find_index), (selectable_fds),
3339         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
3340         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
3341         (gst_poll_set_mode), (gst_poll_get_mode),
3342         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
3343         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3344         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
3345         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
3346         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
3347         (gst_poll_fd_can_write), (gst_poll_wait),
3348         (gst_poll_set_controllable), (gst_poll_restart),
3349         (gst_poll_set_flushing):
3350         * gst/gstpoll.h:
3351         Add generic poll abstraction. We ideally don't want to have this in core
3352         here but in glib intead...
3353         This code will be used in various network elements and ultimately for
3354         the nanosecond precision monotonic clock (that's why it's here in core).
3355         It'll allow us to implement cancelable socket operations for windows too.
3356
3357         * tests/check/Makefile.am:
3358         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
3359         (delayed_stop), (delayed_restart), (delayed_flush),
3360         (delayed_control), (gst_poll_suite):
3361         Add GstPoll unit test.
3362
3363 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
3364
3365         * gst/gstfilter.c:
3366           Improve documentation of gst_filter_run(). Fixes #518627.
3367
3368 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3369
3370         * docs/README:
3371           Add a few lines about the new 'check-inspected-versions' target.
3372
3373 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
3374
3375         * tests/check/gst/gstevent.c:
3376           Add qos to the event test. Rename tcase/tsuite; is not only about
3377           custom events.
3378
3379 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
3380
3381         * plugins/elements/gstqueue.c:
3382           Ensure that buffer metadata is writeable, before modifying. Spotted by
3383           Mike.
3384
3385 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
3386
3387         * plugins/elements/gstqueue.c:
3388         * plugins/elements/gstqueue.h:
3389           When dropping buffers in leaky modes, mark next buffers we sent as
3390           DISCONT.
3391
3392 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
3393
3394         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
3395           Also, if mmap() fails that would be a READ error, not OPEN_READ.
3396
3397 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
3398
3399         * plugins/elements/Makefile.am:
3400         * plugins/elements/gstbufferstore.c:
3401         * plugins/elements/gstbufferstore.h:
3402         * plugins/elements/gsttypefindelement.h:
3403           Remove GstBufferStore, no idea why we were still building it.
3404           It's not used anywhere and superseded by GstAdapter.
3405
3406         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3407           (gst_file_src_create_mmap):
3408         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
3409           Printf format fixes for 64-bit integers.
3410
3411 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
3412
3413         * configure.ac:
3414         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
3415         We're not in 0.8 times anymore.
3416
3417 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
3418
3419         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
3420         (gst_check_element_push_buffer_list):
3421         * libs/gst/check/gstcheck.h:
3422         Make the declaration in the header for
3423         gst_check_element_push_buffer_list match the implementation.
3424
3425         Fix up spelling, grammar and wording of the documentation in a few
3426         places, and add the Since keyword to new API functions.
3427         Use g_list_delete_link instead of g_list_remove in
3428         gst_check_drop_buffers, since it's immeasurably more efficient.
3429
3430         * tests/check/elements/fakesrc.c: (GST_START_TEST):
3431         Use new gst_check_drop_buffers function where appropriate.
3432
3433         * win32/common/libgstbase.def:
3434         * win32/common/libgstreamer.def:
3435         Add new symbols gst_collect_pads_take_buffer, 
3436         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
3437         exports
3438
3439         Changelog surgery to add API keyword to new gst_check API.
3440
3441 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
3442
3443         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
3444         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
3445         Update pre-generated flex files with flex 2.3.34.
3446
3447 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
3448
3449         * gst/gstminiobject.c:
3450           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
3451           friendly to subclasses and not require them to know all internals
3452           of their parent class.
3453
3454 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
3455
3456         * docs/libs/gstreamer-libs-sections.txt:
3457         * libs/gst/base/gstcollectpads.c:
3458         * libs/gst/base/gstcollectpads.h:
3459           Add sub-buffer functions to collectpads. Fixes #516187.
3460           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
3461
3462 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
3463
3464         * gst/gstbuffer.c:
3465           Copy selected buffer-flags when creating subbuffers.
3466           Fixes #516395.
3467
3468 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
3469
3470         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
3471         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
3472         * gst/gstmessage.c: (gst_message_class_init),
3473         (gst_message_finalize):
3474         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
3475         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
3476         (gst_mmap_buffer_finalize):
3477         Properly chain up finalize functions to the parent class.
3478
3479 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
3480
3481         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
3482
3483         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
3484         (gst_index_set_resolver_full):
3485         * gst/gstindex.h:
3486         Add new function with option to dispose of user_data in resolver.
3487         Actually call the dispose function when finalizing the object and not
3488         just when changing the resolver/filter.
3489         API: GstIndex::gst_index_set_resolver_full()
3490
3491         * docs/gst/gstreamer-sections.txt:
3492         Add new function to docs. Fixes #515469.
3493
3494 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
3495
3496         * gst/gstindex.c: (gst_index_finalize):
3497         Chain up finalize to the parent class. Fixes leaking the GstObject
3498         name and other things.
3499
3500 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
3501
3502         * configure.ac:
3503         Make DISABLE_DEPRECATED defined *only* during CVS, not during
3504         pre-releases or releases.
3505
3506         * docs/faq/gst-uninstalled:
3507         Add gst-plugins-gl
3508
3509         * docs/random/release:
3510         Change one of the steps - we only upload core & base to Gnome FTP
3511
3512 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
3513
3514         * gst/gstconfig.h.in:
3515           Add 'id' for example.
3516
3517         * gst/gstpad.c:
3518         * gst/gstutils.c:
3519         * plugins/elements/gstfdsink.c:
3520           Link to signals. Doc and comment fixes.
3521
3522 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
3523
3524         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
3525         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
3526           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
3527           unused and unimplemented; finally, it is plugin features, not
3528           plugins, that have ranks.
3529           
3530 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
3531
3532         * gst/gstpluginfeature.h:
3533           Clarify GstRank range docs.
3534
3535 2008-02-05  David Schleef  <ds@schleef.org>
3536
3537         * gst/gst.c: Add a separate gst_deinitialized that prevents
3538           gst_init() from being called after gst_deinit().  Fixes #509559
3539
3540 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
3541
3542         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
3543         (gst_bin_class_init):
3544         * gst/gstelement.c: (gst_element_base_class_init),
3545         (gst_element_class_add_pad_template):
3546         * gst/gstpadtemplate.c: (gst_pad_template_init):
3547         * gst/gstpipeline.c: (gst_pipeline_get_type),
3548         (gst_pipeline_base_init), (gst_pipeline_class_init):
3549         * libs/gst/base/gstbasesink.c:
3550         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
3551         (gst_base_src_base_init), (gst_base_src_class_init):
3552         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
3553         (gst_capsfilter_class_init):
3554         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
3555         (gst_fake_sink_class_init):
3556         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
3557         (gst_fake_src_class_init):
3558         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
3559         (gst_fd_sink_class_init):
3560         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
3561         (gst_fd_src_class_init):
3562         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
3563         (gst_file_sink_class_init):
3564         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
3565         (gst_file_src_class_init):
3566         * plugins/elements/gstidentity.c: (gst_identity_base_init),
3567         (gst_identity_class_init):
3568         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3569         (gst_multi_queue_class_init):
3570         * plugins/elements/gstqueue.c: (gst_queue_base_init),
3571         (gst_queue_class_init):
3572         * plugins/elements/gsttee.c: (gst_tee_base_init),
3573         (gst_tee_class_init):
3574         * plugins/elements/gsttypefindelement.c:
3575         (gst_type_find_element_base_init),
3576         (gst_type_find_element_class_init):
3577         * tests/check/gst/gstelement.c: (gst_element_suite):
3578         Revert previous changes to the behaviour of GstPadTemplates, etc
3579         and the possiblity to call them in class_init as it breaks too
3580         many elements. Reopens bug #491501.
3581
3582         Should be applied again for 0.11, thus added a few FIXME 0.11 at
3583         several places.
3584
3585 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
3586
3587         * tools/gst-launch.c:
3588         Dump one graph per pipeline state-change and state change name
3589         (if GST_DEBUG_DUMP_DOT_DIR is set).
3590
3591 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
3592
3593         * gst/gstpad.c:
3594         * tests/check/gst/gstpad.c:
3595         Be sure that we have a new copy of the caps and not
3596         reffed caps from a template
3597
3598 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
3599
3600         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
3601         * gst/gstpipeline.c: (gst_pipeline_get_type),
3602         (gst_pipeline_class_init):
3603         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
3604         (gst_base_sink_class_init):
3605         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
3606         (gst_base_src_class_init):
3607         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3608         (gst_base_transform_class_init):
3609         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3610         (gst_collect_pads_class_init):
3611         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
3612         * libs/gst/net/gstnettimeprovider.c:
3613         (gst_net_time_provider_base_init),
3614         (gst_net_time_provider_class_init):
3615         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
3616         (gst_capsfilter_class_init):
3617         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
3618         (gst_fake_sink_class_init):
3619         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
3620         (gst_fake_src_class_init):
3621         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
3622         (gst_fd_sink_class_init):
3623         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
3624         (gst_fd_src_class_init):
3625         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
3626         (gst_file_sink_class_init):
3627         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
3628         (gst_file_src_class_init):
3629         * plugins/elements/gstidentity.c: (gst_identity_base_init),
3630         (gst_identity_class_init):
3631         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3632         (gst_multi_queue_class_init):
3633         * plugins/elements/gstqueue.c: (gst_queue_base_init),
3634         (gst_queue_class_init):
3635         * plugins/elements/gsttee.c: (gst_tee_base_init),
3636         (gst_tee_class_init):
3637         * plugins/elements/gsttypefindelement.c:
3638         (gst_type_find_element_base_init),
3639         (gst_type_find_element_class_init):
3640         Don't use base_init where not absolutely necessary. For example it's
3641         not necessary anymore for adding pad templates or setting element
3642         details.
3643
3644         Leave empty base_init functions in several places as GST_BOILERPLATE
3645         still defines and uses them.
3646
3647 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
3648
3649         * gst/gstelement.c: (gst_element_base_class_init),
3650         (gst_element_class_add_pad_template):
3651         * gst/gstpadtemplate.c:
3652         Make it possible (and recommended) to set element details and add
3653         pad templates in the class_init functions by copying the details/pad
3654         templates in GstElement's base_init.
3655
3656         Also make it possible to replace existing pad templates by adding
3657         a new one with the same name. This was done in a hackish fashion
3658         in same elements before already.
3659
3660         Don't reference pad templates that are added a second time. A
3661         new pad template has a refcount of one and is not floating anymore
3662         and to be owned by the element's class. Make this more explicit by
3663         mentioning it in the docs of gst_element_class_add_pad_template().
3664
3665         These changes are backwards compatible. Fixes bug #491501.
3666
3667         * tests/check/gst/gstelement.c:
3668         Add unit test for setting element details, adding pad templates and
3669         replacing them in a subclass.
3670
3671 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
3672
3673         * tools/gst-inspect.c: (print_interfaces),
3674         (print_element_properties_info), (print_pad_info),
3675         (print_signal_info), (print_element_info):
3676         Fix a few memory leaks.
3677
3678 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3679
3680         * docs/libs/gstreamer-libs-sections.txt:
3681         * libs/gst/check/gstcheck.c:
3682         * libs/gst/check/gstcheck.h:
3683         Add more functions for unit testing: gst_check_drop_buffers,
3684         gst_check_caps_equal, gst_check_element_push_buffer_list,
3685         gst_check_element_push_buffer
3686         API: gst_check_drop_buffers
3687         API: gst_check_caps_equal
3688         API: gst_check_element_push_buffer_list
3689         API: gst_check_element_push_buffer
3690
3691 2008-02-01  Julien Moutte  <julien@fluendo.com>
3692
3693         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
3694         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
3695         (gst_index_finalize), (gst_index_entry_free),
3696         (gst_index_add_association): Fix memory leaks.
3697         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
3698         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
3699         (gst_mem_index_free_format), (gst_mem_index_free_id),
3700         (gst_mem_index_finalize): Fix memory leaks.
3701         * win32/common/config.h: Updated to CVS HEAD.
3702
3703 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
3704
3705         * docs/README:
3706           Some more details about how the plugin docs works.
3707
3708         * docs/plugins/gstreamer-plugins-sections.txt:
3709           Whitespace cleanup.
3710
3711 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
3712
3713         * gst/parse/grammar.tab.pre.c:
3714         * gst/parse/grammar.tab.pre.h:
3715         * gst/parse/grammar.y:
3716         * gst/parse/lex._gst_parse_yy.pre.c:
3717           Add delayed set-property. This allows to set properties on dynamicaly
3718           created objects (pads in videomxer). Fixes #509391.
3719
3720 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3721
3722         * gst/gstutils.c:
3723         Check if caps are not NULL (fix bug #510194)
3724
3725 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
3726
3727         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
3728         (gst_base_sink_get_position_paused):
3729         Add fixme regarding EOS in pull mode.
3730         Fix position reporting in PAUSED for negative rates.
3731
3732 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
3733
3734         * gst/gstminiobject.c: (gst_mini_object_replace):
3735         When replacing a miniobject, do a quick equality check first so that we
3736         can avoid a ref/unref pair.
3737
3738 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
3739
3740         * docs/design/part-synchronisation.txt:
3741         Update some docs.
3742
3743         * docs/plugins/Makefile.am:
3744         * docs/plugins/gstreamer-plugins-docs.sgml:
3745         * docs/plugins/gstreamer-plugins-sections.txt:
3746         * plugins/elements/gstmultiqueue.c:
3747         Add multiqueue to the docs.
3748
3749 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3750
3751         * configure.ac:
3752           Back to CVS
3753
3754 === release 0.10.17 ===
3755
3756 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
3757
3758         * configure.ac:
3759           releasing 0.10.17, "Due Negligence"
3760
3761 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3762
3763         * gst/gstutils.c:
3764         Revert caps != NULL check temporarily for 0.10.17 release.
3765
3766 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
3767
3768         * gst/gstutils.c:
3769         Check if caps are not NULL (fix bug #510194)
3770
3771 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3772
3773         * gst/gstutils.c:
3774         Fix compilation on systems that have posix timers but no
3775         monotonic clock.
3776         Fixes: #512715
3777         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
3778         dot net>
3779
3780 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3781
3782         * tools/gst-inspect.c:
3783         Revert previous commit in preparation for an impromptu 0.10.17 release
3784
3785 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
3786
3787         * tools/gst-inspect.c: (print_interfaces),
3788         (print_element_properties_info), (print_pad_info),
3789         (print_signal_info), (print_element_info):
3790         Fix a few memory leaks.
3791
3792 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
3793
3794         * configure.ac:
3795         Back to CVS
3796
3797 === release 0.10.16 ===
3798
3799 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
3800
3801         * configure.ac:
3802           releasing 0.10.16, "Special Dispensation"
3803
3804 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3805
3806         * configure.ac:
3807           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
3808           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
3809           not fail when trying to crosscompile on OpenEmbedded (#511750).
3810
3811 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
3812
3813         * docs/manuals.mak:
3814         Use $(MAKE) instead of make to fix the build if GNU make is
3815         called different. Fixes bug #510747.
3816
3817 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3818
3819         * gst/gstplugin.c: (_gst_plugin_initialize):
3820           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
3821           again, which I broke two commits ago when changing the API
3822           of gst_plugin_register_static(): the g_list_foreach() in
3823           _gst_plugin_register_static still assumed the old function
3824           signature and would therefore fail (re-fixes #510187).
3825
3826         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
3827           (_gst_plugin_register_static), (gst_plugin_register_static):
3828           Revert the (technically correct) change to call g_thread_init() from
3829           the pre-main() constructor. This will break programs which call
3830           g_thread_init() without an if (!g_thread_supported()) guard in their
3831           main function. We could just blame it on GLib or the application, but
3832           it's probably best to just avoid this altogether and simply not use
3833           any GLib functions here and use plain old malloc() with a simple
3834           array to store the plugins to register later when gst_init() is
3835           finally called (re-fixes #510187).
3836
3837         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
3838           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
3839           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
3840           (GST_START_TEST), (gst_plugin_suite):
3841           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
3842           works.
3843
3844 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3845
3846         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
3847           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
3848           This makes gtk-doc complain, but results in slightly better
3849           compiler errors. The old _gst_plugin_register_static() is
3850           still guarded, so there'll be a compiler warning about that
3851           instead. Fixes #510187 too.
3852
3853 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3854
3855         * gst/gst.c: (init_post):
3856         * gst/gstplugin.c: (_gst_plugin_register_static),
3857           (gst_plugin_register_static), (_gst_plugin_initialize):
3858         * gst/gstplugin.h: (GstPluginFilter):
3859           Change API of gst_plugin_register_static() to not take
3860           a GstPluginDesc, but rather just take all the arguments
3861           in a GstPluginDesc directly. This is more intuitive and
3862           avoids certain mistakes when porting code from
3863           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
3864           Fixes #510187.
3865
3866         * tests/check/gst/gstplugin.c:
3867           Fix up for changed API.
3868
3869 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3870
3871         * docs/faq/legal.xml:
3872           Update FAQ, Totem actually has an exception these days.
3873
3874 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
3875
3876         * win32/common/libgstreamer.def:
3877         Add new API declarations
3878
3879 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
3880
3881         * gst/gstminiobject.c:
3882           Spelling fixes for the API docs.
3883
3884 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
3885
3886         * libs/gst/base/gstbasetransform.c:
3887           Fix long property description for QoS.
3888
3889 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
3890
3891         * gst/gst.c:
3892         _gst_trace_on is already provided by gsttrace.h, no need to declare
3893         it ourselves.
3894
3895         * docs/libs/gstreamer-libs-sections.txt:
3896         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
3897         and remove strange tcase_add_test which is outputting a warning.
3898
3899         * libs/gst/check/gstcheck.c:
3900         * libs/gst/check/gstcheck.h:
3901         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
3902         and define them in gstcheck.c instead of having every .c file whcih
3903         includes gstcheck.h be defining its own copy and relying on symbol
3904         interposing to marry them all, which doesn't work on Solaris.
3905
3906         * tests/check/elements/identity.c: (GST_START_TEST):
3907         Don't define 'buffers' locally, it comes from libgstcheck.
3908
3909         * tests/check/generic/sinks.c: (send_buffer):
3910         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
3911
3912         * tests/check/gst/gststructure.c: (GST_START_TEST):
3913         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
3914         * tests/check/gst/gstutils.c: (GST_START_TEST):
3915         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3916         Add a bunch of casts to make various constants fit the types
3917         they're being assigned to.
3918
3919 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
3920
3921         * gst/gstchildproxy.c:
3922           Improve docs and add some ideas for making this more general-purpose.
3923
3924 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
3925
3926         * gst/gst_private.h: (GST_CAT_TYPES):
3927           Add GST_CAT_TYPES, for consistency, and so that the other
3928           debug categories don't make fun of it. Spotted by Saur on IRC.
3929
3930 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
3931
3932         * gst/parse/Makefile.am:
3933           Move types.h from EXTRA_DIST to noinst_HEADERS.
3934
3935 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
3936
3937         * autogen.sh:
3938           Add -Wno-portability to the automake parameters to stop warnings
3939           about GNU make extensions being used. We require GNU make in almost
3940           every Makefile anyway.
3941
3942         * configure.ac:
3943           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
3944           at the same time is required for per target flags.
3945
3946 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3947
3948         * gst/gstmacros.h:
3949           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
3950           __GNUC__ is defined before using it.
3951
3952 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3953
3954         * docs/gst/gstreamer-sections.txt:
3955         * gst/gst.c: (init_post):
3956         * gst/gstplugin.c: (_gst_plugin_register_static),
3957           (gst_plugin_register_static), (_gst_plugin_initialize),
3958           (gst_plugin_register_func):
3959         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
3960           API: add gst_plugin_register_static() and deprecate
3961           GST_PLUGIN_DEFINE_STATIC, since it's not portable
3962           (#498924).
3963           Also, in _gst_plugin_register_static(), make sure to call
3964           g_thread_init() before calling GLib functions such as
3965           g_list_append() if we're not initialised yet, since that
3966           may lead to random crashes with older GSlice/GLib versions.
3967
3968         * tests/check/gst/gstplugin.c:
3969           Adapt unit test to above changes.
3970
3971 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3972
3973         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
3974         * gst/gstcaps.c: (gst_caps_to_string):
3975         * gst/gststructure.c: (GST_ASCII_IS_STRING),
3976           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
3977           Yet another gratuitous GString micro-optimisation: add a (private)
3978           function that serialises a structure appending to an existing
3979           GString, so that when we serialise caps we don't need to alloc+free
3980           a throwaway GString for each structure (each of which also entailing
3981           multiple reallocs on the way); also use g_string_sized_new() in
3982           various places with an approximate string length to avoid reallocs
3983           within GString. See #500143.
3984
3985 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3986
3987         * gst/gststructure.c: (gst_structure_id_set_value):
3988           Always check UTF-8 conformance of structure strings and not only
3989           if the debugging system is enabled; reasoning: the behaviour of
3990           the actual code shouldn't really change depending on whether the
3991           debugging system is enabled or not (#508291).
3992
3993 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
3994
3995         * Makefile.am:
3996           Remove old coverage target in favour of "make lcov".
3997
3998 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3999
4000         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4001         (gst_base_src_loop):
4002         The start segment for reverse playback goes from start to last_stop.
4003
4004 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4005
4006         Patch by: Peter Kjellerstedt <pkj axis com>
4007
4008         * gst/gstclock.h:
4009         Cast the results from the timeval/spec_to_time macros to what the
4010         docs say it casts to, a GstClockTime. fixes #508175.
4011
4012 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4013
4014         * gst/gstbuffer.c:
4015         Update some comments.
4016
4017         * tools/gst-inspect.c: (print_element_properties_info):
4018         Improve printing of flags.
4019
4020 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4021
4022         * libs/gst/base/gstbasetransform.c:
4023           (gst_base_transform_transform_size):
4024           Print element name with g_warning() if there's a problem
4025           with the unit size.
4026
4027 2008-01-07  David Schleef  <ds@schleef.org>
4028
4029         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
4030
4031         * libs/gst/controller/gstcontroller.h:
4032         * libs/gst/controller/gstcontrolsource.h:
4033         * libs/gst/controller/gstinterpolationcontrolsource.h:
4034         * libs/gst/controller/gstlfocontrolsource.h:
4035         * libs/gst/dataprotocol/dataprotocol.h:
4036           Fix empty prototypes.  Fixes bug #507957.
4037
4038 2008-01-07  David Schleef  <ds@schleef.org>
4039
4040         * docs/faq/dependencies.xml: Fix typo.
4041
4042 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4043
4044         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
4045         (gst_base_src_loop):
4046         Don't update the last_stop position in do_seek, that's the position we
4047         did a seek to.
4048         Read backwards when we have a negative rate.
4049
4050         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
4051         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
4052         (filesrc_suite):
4053         Add check for reverse reading.
4054
4055 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
4056
4057         Patch by: Alexis Ballier <aballier at gentoo org>
4058
4059         * tests/check/gst/gstabi.c:
4060         * tests/check/gst/struct_ppc64.h:
4061         * tests/check/libs/libsabi.c:
4062         * tests/check/libs/struct_ppc64.h:
4063           Decide which header to include based on the userland ABI target
4064           and not the kernel/cpu. Fix up structure sizes of ppc64 header
4065           for 64-bit userland (#503590).  Might need something similar for
4066           x86 too.
4067
4068 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4069
4070         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
4071           Log the reason why fopen fails in addition to the fact that it failed.
4072           
4073 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
4074
4075         * gst/parse/parse.l:
4076         Use "%option never-interactive" to prevent useless calls to isatty()
4077         on every input when parsing. Also use "%option noinput" to not define
4078         the static input/yyinput functions which we don't use anyway. This
4079         removes a compiler warning with gcc 4.3 and saves some bytes in the
4080         library.
4081         
4082         * gst/parse/lex._gst_parse_yy.pre.c:
4083         Regenerated for the above change.
4084
4085 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
4086
4087         * gst/gstpad.c: (fixate_value):
4088         Don't crash when trying to fixate and empty list.
4089         Fixes #506643.
4090
4091 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
4092
4093         * docs/faq/gst-uninstalled:
4094         Clarify the comments to make the usage of this script and what it
4095         does easier to understand.
4096
4097 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4098
4099         * tools/gst-plot-timeline.py:
4100         Add more options to gst-plot-timeline
4101
4102 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
4103
4104         * docs/design/part-synchronisation.txt:
4105         Some more info on how the stream_time in GstBaseSink is done.
4106
4107 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
4108
4109         * tests/check/generic/sinks.c: (gst_sinks_suite):
4110           Put back the tcase_set_timeout(), apparently it's needed after
4111           all; fix it up in a way that makes things work with valgrind too.
4112
4113 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4114
4115         * gst/gstdebugutils.c:
4116           Add warning when failed to open file for writing.
4117
4118 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4119
4120         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
4121
4122         * gst/gstvalue.c: (gst_value_is_fixed):
4123           Optimisation: bail out of the loop as early as possible (#500143).
4124
4125 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4126
4127         * gst/gstcaps.c: (gst_caps_to_string):
4128         * gst/gstinfo.c: (gst_debug_construct_term_color):
4129         * gst/gstparse.c: (gst_parse_launchv):
4130         * gst/gstutils.c: (gst_util_dump_mem):
4131         * gst/gstvalue.c: (gst_value_serialize_any_list),
4132           (gst_value_transform_any_list_string):
4133           Bunch of gratuitous nano-optimisations.
4134
4135 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4136
4137         * tests/check/generic/sinks.c: (async_done_func),
4138           (async_done_eos_func):
4139           Fix leak in unit test (bus sync handler must unref the message
4140           if it returns GST_BUS_DROP). Don't fiddle with the default test
4141           timeout, this is smaller than the current preconfigured value
4142           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
4143           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
4144
4145 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4146
4147         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
4148
4149         * configure.ac:
4150         Check for stdio_ext.h for the filesink changes.
4151
4152         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
4153         (gst_file_sink_class_init), (gst_file_sink_init),
4154         (gst_file_sink_dispose), (gst_file_sink_set_property),
4155         (gst_file_sink_get_property), (gst_file_sink_open_file),
4156         (gst_file_sink_close_file):
4157         * plugins/elements/gstfilesink.h:
4158         Add two properties to control the buffering mode and size.
4159         API: GstFileSink::buffer-mode
4160         API: GstFileSink::buffer-size
4161         Fixes #500150.
4162
4163 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4164
4165         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
4166         Add some more docs to explain why a FIXME was wrongly added. 
4167
4168 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
4169
4170         * gst/gstobject.c:
4171           Fix typo in the gst_object_{ref,unref} documentation.
4172
4173 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
4174
4175         * tests/check/libs/controller.c:
4176         * tests/check/libs/typefindhelper.c:
4177         * tests/check/pipelines/parse-launch.c:
4178           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
4179           going to be deprecated (see #498924).
4180
4181 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
4182
4183         * gst/gsttypefind.c: (gst_type_find_register):
4184           Make gst_type_find_register work for static typefind functions,
4185           ie. allow passing plugin == NULL (prerequisite for #498924).
4186
4187         * gst/gstelementfactory.c: (gst_element_register):
4188           Small docs addition.
4189
4190 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
4191
4192         * gst/gstpad.c: (gst_pad_dispose):
4193         Really unlink the peer pad instead of setting the peer pointer to NULL
4194         when we dispose the pad.
4195         This correctly calls the unlink functions and makes sure that the peer
4196         does not have a handle to invalid memory. See #504671.
4197
4198         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
4199         Add testsuite for above case.
4200
4201 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
4202
4203         Patch by: Peter Kjellerstedt <pkj axis com>
4204
4205         * libs/gst/check/gstcheck.h:
4206           Fix detection of the check version we're compiling against (would
4207           otherwise break if check goes v0.10.0); correctly report the
4208           name of the failed test again in case of failure, instead of
4209           just 'tf' (fixes #504499).
4210
4211 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
4212
4213         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
4214         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4215         (gst_base_src_loop), (gst_base_src_set_flushing),
4216         (gst_base_src_change_state):
4217         Allow sending EOS to the source to make it send out an EOS event from
4218         the streaming thread.
4219         Update docs and deprecate the old NULL/READY shutdown method.
4220
4221         * tests/check/libs/basesrc.c: (GST_START_TEST),
4222         (gst_basesrc_suite):
4223         Add unit test for controlled shutdown.
4224
4225 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
4226
4227         * docs/design/part-synchronisation.txt:
4228         Small updates.
4229
4230         * gst/gstsegment.c: (gst_segment_set_seek),
4231         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
4232         (gst_segment_to_running_time):
4233         The seek format can be different from the segment format when the start
4234         and stop values are not to be updated, when we only do a rate change for
4235         example.
4236
4237         * tests/check/gst/gstsegment.c: (GST_START_TEST),
4238         (gst_segment_suite):
4239         Add a testcase for the rate-only seeks, checking that the format is
4240         correctly ignored when start and stop are not updated.
4241
4242 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
4243
4244         Patch by: Matthias Bolte <photon at mail dot upb dot de>
4245
4246         * win32/vs8/grammar.vcproj:
4247         * win32/vs8/libgstcontroller.vcproj:
4248         * win32/vs8/libgstreamer.vcproj:
4249         Fix compilation with VS8 and include some missing files.
4250
4251 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4252
4253         * gst/gsttaglist.c:
4254           Small docs addition: mention that the strings returned by
4255           gst_tag_list_get_string*() are in UTF-8 encoding.
4256
4257 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4258
4259         * Makefile.am:
4260           The check-exports stuff moved to common/win32.mak, so include that.
4261
4262 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
4263
4264         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4265         (gst_base_src_perform_seek), (gst_base_src_get_range),
4266         (gst_base_src_set_playing), (gst_base_src_change_state):
4267         Make _wait_playing() not check any variables so that we can call this
4268         function from subclasses. Move the checks elsewhere similar to
4269         _wait_preroll() in basesink.
4270         Add some debugging.
4271         Only signal the LIVE cond when we are going back to PLAYING.
4272
4273 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4274
4275         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
4276           Use g_remove() and g_rename(). Check result of g_rename(), and
4277           don't leak the open file descriptor if we error out when writing.
4278
4279         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
4280           Must check the return value of close() after writing out the new
4281           registry file.  Sometimes write problems such as out-of-diskspace
4282           are only reported when the file is closed and not already during
4283           the write.  This may have caused partial/broken registry files in
4284           some rare circumstances. Should fix #503675.
4285
4286 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
4287
4288         * docs/gst/.cvsignore:
4289         * docs/libs/.cvsignore:
4290         * docs/plugins/.cvsignore:
4291         Ignore files generated by new common/* modifications
4292
4293 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
4294
4295         * win32/common/libgstbase.def:
4296           Yes, you can also have a <TAB> if you want.
4297
4298 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
4299
4300         * win32/common/libgstbase.def:
4301           Add new basetransform API to win export file.
4302
4303 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
4304
4305         * tests/check/gst/gstbin.c:
4306           Adjust the test to the refcount change two days ago.
4307
4308 2007-12-14  David Schleef  <ds@schleef.org>
4309
4310         * docs/faq/getting.xml: Fix typo.
4311
4312 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
4313
4314         * docs/libs/gstreamer-libs-sections.txt:
4315         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
4316           (gst_base_transform_prepare_output_buffer),
4317           (gst_base_transform_set_gap_aware):
4318         * libs/gst/base/gstbasetransform.h:
4319           API: Add gst_base_transform_set_gap_aware() to control whether
4320           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
4321           get buffers with this flag at all. Fixes #503231.
4322
4323 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
4324
4325         * libs/gst/base/gstbasesink.c:
4326         * libs/gst/base/gstbasesrc.c:
4327         * libs/gst/base/gstbasetransform.c:
4328           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
4329           thread. Correct log message in gstbasesrc.c.
4330
4331 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
4332
4333         * gst/gstutils.c: (element_find_unconnected_pad):
4334           Fix possible compiler warning (#503417).
4335
4336 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
4337
4338         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
4339           Don't use GST_CAT_EVENT here for logging, it makes no sense.
4340
4341 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
4342
4343         * tools/gst-inspect.c: (print_element_properties_info):
4344           Add support for GstFraction properties.
4345
4346 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4347
4348         * Makefile.am:
4349           Add check-exports target and run it as part of 'make check'
4350           (see #499140 and #493983).
4351
4352         * gst/gst_private.h:
4353         * gst/gstelementfactory.h:
4354         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
4355         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
4356           (_priv_gst_in_valgrind):
4357         * gst/gstinfo.h: (GstLogFunction):
4358         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
4359           (gst_type_find_register):
4360         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
4361           (gst_type_find_factory_get_type):
4362         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
4363           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
4364           (gst_controller_new_valist), (gst_controller_new_list),
4365           (_gst_controller_dispose), (_gst_controller_class_init):
4366         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
4367         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
4368           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
4369           (gst_object_get_controller), (gst_object_set_controller),
4370           (gst_object_suggest_next_sync), (gst_object_sync_values),
4371           (gst_object_set_control_source), (gst_object_get_control_source),
4372           (gst_object_get_value_arrays), (gst_object_get_value_array),
4373           (gst_object_get_control_rate), (gst_object_set_control_rate):
4374         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
4375         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
4376           Make some functions that should be static static; rename some
4377           private symbols so that they don't get exported; add some FIXME
4378           comments so we can move accidentally exported functions into
4379           our private section in 0.11.
4380
4381         * win32/common/libgstreamer.def:
4382           Add gst_utils_get_timestamp().
4383
4384 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
4385
4386         * gst/gstvalue.c:
4387         * gst/gstvalue.h:
4388           Add more missing "Since:" tags to docs.
4389
4390 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
4391
4392         * gst/gstutils.c:
4393           Add mising "Since:" to docs.
4394
4395 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
4396
4397         * gst/gstplugin.c:
4398           Include "glib-compat-private.h" to fix the build on system with
4399           glib < 2.10. Fixes #503131.
4400
4401 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
4402
4403         * gst/gstutils.c:
4404         * gst/gstutils.h:
4405           Actually its not PURE as it gets the time from elsewhere.
4406
4407 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
4408
4409         * docs/gst/gstreamer-sections.txt:
4410         * gst/gstclock.h:
4411         * gst/gstdebugutils.c:
4412         * gst/gstinfo.c:
4413         * gst/gstutils.c:
4414         * gst/gstutils.h:
4415         * libs/gst/base/gstbasesink.c:
4416         * tools/gst-launch.c:
4417           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
4418           uses as we don't have HAVE_POSIX_TIMERS in public headers.
4419           Thanks Tim for spotting.
4420           API: gst_util_get_timestamp
4421
4422 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
4423
4424         * configure.ac:
4425           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
4426
4427 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
4428
4429         * gst/gststructure.c: (gst_structure_validate_name),
4430           (gst_structure_new_valist), (gst_structure_parse_value),
4431           (gst_structure_from_string):
4432           Don't crash in _from_string() if the structure name is not valid
4433           (fixes #501560).  Allow structure names to start with a number
4434           again (this apparently broke the ubuntu codec installer).
4435
4436         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
4437           (GST_START_TEST):
4438           Add unit test for the crash; update unit tests for new behaviour.
4439
4440 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
4441
4442         * gst/gstutils.c:
4443         Clarify gst_element_get_compatible_pad() documentation.
4444         Fixes #500919.
4445
4446 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
4447
4448         * tests/check/Makefile.am:
4449           Don't forget to dist {gst,libs}/struct_hppa.h.
4450
4451 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4452
4453         * libs/gst/base/gstbasesink.c:
4454           Use new API to get elapsed time.
4455
4456 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4457
4458         * gst/gstdebugutils.c:
4459         * gst/gstinfo.c:
4460           Fix wrong order of args in GST_CLOCK_DIFF() usage.
4461
4462         * tools/gst-launch.c:
4463           Use new API to get elapsed time.
4464
4465 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4466
4467         * docs/gst/gstreamer-sections.txt:
4468         * gst/gstclock.h:
4469         * gst/gstdebugutils.c:
4470         * gst/gstinfo.c:
4471           Rename new API + ChangeLog surgery to remove old name from last entry..
4472
4473 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4474
4475         * docs/gst/gstreamer-sections.txt:
4476         * gst/gstclock.h:
4477         * gst/gstdebugutils.c:
4478         * gst/gstinfo.c:
4479           Now hide the different clock stuff behind a macro.
4480
4481 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4482
4483         * configure.ac:
4484         * gst/gstdebugutils.c:
4485         * gst/gstinfo.c:
4486           Apply the posix-timer check from #361155. Conditionally use the posix
4487           timer for logging. This gives better timestamp precission, less
4488           overhead and no ntp jitter.
4489
4490 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
4491
4492         * gst/gstminiobject.c: (gst_mini_object_get_type),
4493         (gst_mini_object_class_init), (gst_mini_object_copy_default),
4494         (gst_mini_object_finalize), (gst_mini_object_copy),
4495         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
4496         (gst_mini_object_replace), (param_mini_object_validate),
4497         (gst_param_spec_mini_object_get_type):
4498         Some cleanup and checking against invalid function parameters.
4499
4500 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
4501
4502         * docs/gst/gstreamer-sections.txt:
4503         * gst/gstclock.h:
4504         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4505         (gst_systemclock_suite):
4506         Start merging in the easy bits of #361155, the monotonic clock patch.
4507         This one adds a few handy macros with docs and a testsuite.
4508
4509 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
4510
4511         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
4512         Be a bit smarter when seeking, like, don't try to do a seek when it's
4513         not needed. This avoids errors when the file is not seekable.
4514         Fixes #499771.
4515
4516 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
4517
4518         * docs/gst/gstreamer-docs.sgml:
4519         * docs/gst/gstreamer-sections.txt:
4520         * docs/gst/gstreamer.types.in:
4521         * gst/Makefile.am:
4522         * gst/gst.h:
4523         * gst/gstpreset.c:
4524         * gst/gstpreset.h:
4525         * plugins/elements/gstqueue.c:
4526           Due to popular request remove preset interface again. :-(.
4527
4528 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
4529
4530         * tools/gst-inspect.c:
4531           Print 'default value' for enums and flags too.
4532
4533 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
4534
4535         * docs/random/ensonic/profiling.txt:
4536           More ideas.
4537
4538         * gst/gstbin.c:
4539           Fix typo and give better log output.
4540
4541         * gst/gstdebugutils.c:
4542         * gst/gstdebugutils.h:
4543           More ideas, make graphs a bit smaller and fix param name in macro.
4544
4545 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
4546
4547         * gst/gstpreset.c:
4548           Try harder to use the return value from fgets().
4549
4550 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
4551
4552         * gst/gstpreset.c:
4553           For theses two fgets we handle the error below.
4554
4555 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
4556
4557         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
4558         Only send upstream events upstream. Fixes #498746.
4559
4560 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
4561
4562         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
4563
4564         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4565         (gst_identity_init), (gst_identity_transform_ip),
4566         (gst_identity_set_property), (gst_identity_get_property):
4567         * plugins/elements/gstidentity.h:
4568         Add property to disable handoff signal emission. Fixes #498694.
4569         API: GstIdentity::signal-handoffs
4570
4571 2007-11-21  Julien Moutte  <julien@fluendo.com>
4572
4573         * docs/faq/gst-uninstalled: Yet another missing library for the
4574         uninstalled script (fft)
4575
4576 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
4577
4578         * docs/faq/developing.xml:
4579         Add a question about how to submit new translations.
4580
4581         * docs/random/release:
4582         Update the contact email address for the Translation Project
4583
4584         * plugins/elements/gstfdsrc.c:
4585         The parent_class for fdsrc is pushsrc, not GstElement.
4586
4587 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
4588
4589         * gst/gstpreset.c:
4590           Plug a leak and fix saving.
4591
4592 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
4593
4594         * docs/gst/gstreamer-sections.txt:
4595         Add new gst_preset__get_property_names() function to the docs
4596         to fix the build.
4597
4598 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
4599
4600         * gst/gstpreset.c:
4601         * gst/gstpreset.h:
4602           Change _get_preset_names API to return a strv with copies. Add
4603           _get_property_names to allow implementations to filter and provide
4604           good default implementation.
4605
4606 2007-11-20  Julien MOUTTE  <julien@moutte.net>
4607
4608         * docs/faq/gst-uninstalled: Add another library to the uninstalled
4609         script (sdp).
4610
4611 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
4612
4613         * gst/gstpreset.c:
4614           More cleanups, docs, and TODOs from comments that now slowly come in.
4615
4616 2007-11-19  Julien MOUTTE  <julien@moutte.net>
4617
4618         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
4619         search path.
4620
4621 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
4622
4623         * gst/gstpreset.c:
4624           Fix bogus warning and make the property type specific code more
4625           similar.
4626
4627 2007-11-19  Julien MOUTTE  <julien@moutte.net>
4628
4629         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
4630         it build on OS X.
4631
4632 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
4633
4634         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4635         (gst_bin_add_func), (gst_bin_remove_func),
4636         (gst_bin_change_state_func), (gst_bin_continue_func):
4637         Change email, cleanups add some more debug and comments.
4638         Also set bus and clock on new elements when the pipeline was in error.
4639
4640 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
4641
4642         * gst/gstbin.c:
4643         * gst/gstdebugutils.c:
4644           Fix build with --disable-gst-debug. Fixes #497859.
4645           Spotted by Sameer Naik.
4646
4647 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
4648
4649         * gst/gstevent.c:
4650           Little documentation improvment.
4651
4652         * gst/gstpreset.c:
4653           More TODO cleanups. Remove c++ comments.
4654
4655         * libs/gst/controller/gstcontroller.c:
4656           Add TODO and use quark from static string.
4657
4658         * tests/check/gst/gstmessage.c:
4659         * tests/check/gst/gststructure.c:
4660           Use quark from static string.
4661
4662 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
4663
4664         * gst/gstpreset.c:
4665           Add some comments and TODOs.
4666
4667         * gst/gstpreset.h:
4668           Add padding for future changes.
4669
4670         * plugins/elements/gstqueue.c:
4671           Implement the iface.    
4672
4673 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
4674
4675         * docs/gst/gstreamer-docs.sgml:
4676         * docs/gst/gstreamer-sections.txt:
4677         * docs/gst/gstreamer.types.in:
4678         * gst/Makefile.am:
4679         * gst/gst.h:
4680         * gst/gstpreset.c:
4681         * gst/gstpreset.h:
4682           Add the preset interface (Fixes #396779). Do some doc cleanups along.
4683
4684 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
4685
4686         * configure.ac:
4687
4688         Back to CVS
4689
4690 === release 0.10.15 ===
4691
4692 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
4693
4694         * configure.ac:
4695           releasing 0.10.15, "October"
4696
4697 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
4698
4699         * win32/vs6/libgstreamer.dsp:
4700         Convert line endings back to DOS.
4701
4702 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
4703
4704         * docs/design/draft-tagreading.txt:
4705         * docs/random/ensonic/profiling.txt:
4706         Update fast tagreading draft and performance profiling ideas.
4707
4708 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
4709
4710         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
4711         Don't hold the object lock when unreffing a buffer because it could
4712         cause a deadlock when the finalize function wants to grab the object
4713         lock too. Fixes #495133.
4714
4715 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
4716
4717         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
4718         (gst_segment_to_stream_time), (gst_segment_to_running_time):
4719         Also accumulate time correctly when doing reverse playback. Fixes
4720         #488201,
4721         When converting to running and stream time, use default values for
4722         start/stop/time/accum when comparing different formats. Fixes #494245.
4723
4724         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4725         Do running/stream time in TIME format.
4726
4727         * tests/check/gst/gstsegment.c: (GST_START_TEST),
4728         (gst_segment_suite):
4729         2 new unit tests for segment accumulation.
4730
4731 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4732
4733         * gst/gst.c: (init_pre):
4734         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
4735           (_gst_debug_bin_to_dot_file):
4736           Move getenv() back into gst_init, so everyone can live happily
4737           ever after. Make sure the symbol isn't exported though.
4738
4739 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4740
4741         Patch by: Sebastien Moutte  <sebastien moutte net>
4742
4743         * win32/common/gstenumtypes.c:
4744         * win32/common/gstenumtypes.h:
4745           Update enum types.
4746
4747         * win32/vs6/libgstreamer.dsp:
4748           Update vs6 project files (#494343).
4749
4750 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4751
4752         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
4753         (gst_base_src_perform_seek), (gst_base_src_default_event),
4754         (gst_base_src_set_flushing), (gst_base_src_activate_push),
4755         (gst_base_src_activate_pull):
4756         Unify flushing code, remove some old unlock code that is no longer used.
4757         Take the streaming lock when seeking to avoid races. Fixes #492729.
4758         Added some more comments.
4759
4760 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4761
4762         * gst/gst.c: (_gst_disable_segtrap):
4763           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
4764           we can use gst_segtrap_is_enabled() there now that we have that API.
4765           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
4766           to do the getenv here (and export the variable).
4767
4768         * gst/gstdebugutils.c: (debug_dump_element),
4769           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
4770           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
4771
4772         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
4773           (gst_debug_log_default):
4774           Rename _gst_info_start_time to priv_gst_info_start_time so it
4775           doesn't get exported (was never in any header).
4776
4777         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
4778           (gst_plugin_loading_mutex):
4779           Make static mutex gst_plugin_loading_mutex really static (was never
4780           in any header), and use gst_segtrap_is_enabled() instead of
4781           _gst_disable_segtrap.
4782
4783         * gst/gsttrace.c: (_gst_trace_default):
4784           Make local _gst_trace_default static (was never in any header).
4785
4786 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4787
4788         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
4789
4790         * win32/common/libgstbase.def:
4791         * win32/common/libgstcontroller.def:
4792         * win32/common/libgstdataprotocol.def:
4793         * win32/common/libgstnet.def:
4794         * win32/common/libgstreamer.def:
4795           Add more missing symbols, remove some duplicates, and sort
4796           as the 'sort' command sorts it (partially fixes #493983).
4797
4798 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4799
4800         * gst/gstelement.c: (gst_element_set_state_func):
4801         Only change the state cookie if a different state was set on the
4802         element. See #492729.
4803
4804 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4805
4806         * gst/gstvalue.c:
4807           Remove unused and uninitialised type variables that were still
4808           exported for some reason (they were never in any header files
4809           though).
4810
4811 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4812
4813         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4814         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
4815         (gst_base_sink_event), (gst_base_sink_get_position_last),
4816         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4817         (gst_base_sink_change_state):
4818         Don't try to report a 0 position when we don't know, return -1 and FALSE
4819         instead. This mostly happens when we are prerolling.
4820         Make sure we can report the right position before we post the ASYNC_DONE
4821         message so that a message handler can query position without races.
4822
4823         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
4824         (async_done_handoff), (async_done_func), (send_buffer),
4825         (async_done_eos_func), (gst_sinks_suite):
4826         Add two tests for the above.
4827
4828 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4829
4830         * MAINTAINERS:
4831         Update with new email address.
4832
4833         * docs/design/part-TODO.txt:
4834         Add some more info about future pad-block and negotiation changes.
4835
4836         * docs/design/part-buffering.txt:
4837         Add some ideas about buffering reporting.
4838
4839 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
4840
4841         * tests/check/gst/gstobject.c:
4842         Disable silly racy test that always fails on this combination of CPU
4843         and kernel.
4844
4845 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4846
4847         Patch by: Murray Cumming  <murrayc@murrayc.com>
4848
4849         * gst/gstobject.c:
4850           Corrected the registration of the parent-set and parent-unset
4851           signals: The parameter is a GstObject, not a GObject (#493134).
4852
4853 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4854
4855         * gst/gst_private.h:
4856         * gst/gstbuffer.h:
4857         * gst/gstevent.h:
4858         * gst/gstformat.h:
4859         * gst/gstmessage.h:
4860         * gst/gstplugin.h:
4861         * gst/gstquery.h:
4862         * gst/gsttaglist.h:
4863         * gst/gstvalue.h:
4864           Move declaration of private _gst_foo_initialize() functions into
4865           our private header file where they should have been all along.
4866
4867 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4868
4869         * docs/plugins/gstreamer-plugins-sections.txt:
4870         * gst/gstdebugutils.h:
4871         * gst/gstxml.h:
4872         * plugins/elements/gstqueue.c:
4873           gtk-doc fixes; trailing-comma-in-enum fix.
4874
4875 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4876
4877         * gst/gst.c: (gst_deinit):
4878           Clean up on deinit (not the external ones though, doesn't seem to be
4879           needed for some reason).
4880
4881 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4882
4883         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
4884           Remove __declspec(dllimport) for MSVC that was copied over into core
4885           from a plugin, obviously without ever having been tested (note the
4886           single underscore in _declspec in the initial commit), and that doesn't
4887           really make sense.  See #492077.
4888
4889 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4890
4891         * gst/gst.c: (init_post):
4892         * gst/gstevent.c: (_gst_event_initialize):
4893         * gst/gstquery.c: (_gst_query_initialize):
4894         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
4895           g_type_class_ref() other types as well, see #349410 and #64764.
4896
4897         * gst/gstbuffer.c: (_gst_buffer_initialize):
4898         * gst/gstmessage.c: (_gst_message_initialize):
4899           Simplify existing g_type_class_ref().
4900
4901 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4902
4903         * gst/gstformat.c: (_gst_format_initialize):
4904           g_type_class_ref() our GstFormat type to make sure we avoid the
4905           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
4906           bug #64764. Should fix intermittent tee unit test failures (#474823).
4907
4908 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4909
4910         * tests/check/elements/tee.c: (test_num_buffers):
4911           Simplify, simplify, simplify - or not.  Rewrite unit test
4912           not to use gst_parse_launch(); allow N sub-streams. Increasing
4913           the number of sub-streams seems to reproduce #474823 more easily.
4914
4915 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
4916
4917         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
4918
4919         * gst/gsttrace.c:
4920         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4921         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4922         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
4923           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
4924           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
4925           so use _pipe() directly (#492077).
4926
4927         * win32/common/dirent.c: (_treaddir):
4928           Add a couple of casts to make it build without warnings with MSVC.
4929
4930         * win32/common/libgstreamer.def:
4931           Add some more symbols that need to be exported.
4932
4933 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
4934
4935         * tests/examples/metadata/read-metadata.c: (message_loop):
4936           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
4937           arriving in a second or third tag message are added to
4938           the tag list as well.
4939
4940 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
4941
4942         * libs/gst/base/gstbasesrc.c:
4943           Its "Since:" and not "@Since:". And remove an superflous cast.
4944
4945 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
4946
4947         * docs/libs/gstreamer-libs-sections.txt:
4948         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4949         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
4950         (gst_base_sink_get_property), (gst_base_sink_render_object),
4951         (gst_base_sink_preroll_object),
4952         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
4953         (gst_base_sink_change_state):
4954         * libs/gst/base/gstbasesink.h:
4955         Add a new last-buffer property that contains the last buffer used in
4956         basesink for preroll or rendering. useful for making snapshots.
4957         API: gst_base_sink_get_last_buffer()
4958         API: GstBaseSink::last-buffer
4959
4960 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
4961
4962         * docs/gst/running.xml:
4963         * gst/gst.c:
4964         * gst/gstdebugutils.c:
4965         * gst/gstdebugutils.h:
4966         * tools/gst-launch.c:
4967           Improve bin graph dumping, by using the envvar to specify a path.
4968           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
4969
4970 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
4971
4972         * plugins/elements/gsttypefindelement.c:
4973           (gst_type_find_element_handle_event),
4974           (gst_type_find_element_activate):
4975           Post special error message if we can't determine the type of a stream
4976           because it's empty.
4977
4978 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
4979
4980         * docs/gst/running.xml:
4981         * gst/gstdebugutils.c:
4982           Document new env-var. Add one log-line after dumpng a graph.
4983
4984 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
4985
4986         * configure.ac:
4987           Ugly hack to put the (recently removed and non-portable, apparently)
4988           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
4989           GNU ld, because without that 'make check' fails miserably on my debian
4990           stable box.  Someone with more knowledge of linker intricacies and
4991           portability issues than me fix this properly please.
4992
4993 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
4994
4995         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
4996         Reset last seen position after flushing so that we don't report the old
4997         position anymore.
4998
4999 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5000
5001         * gst/gstelementfactory.c: (gst_element_register):
5002         * gst/gsturi.h:
5003         Patch from Alessandro Decina adding get_type_full and
5004         get_protocols_full private vfuncs to the URIHandler interface
5005         to allow bindings to support creating URI handlers. 
5006         Partially fixes: #339279
5007         API: GstURIHandlerInterface::get_type_full
5008         API: GstURIHandlerInterface::get_protocols_full
5009
5010 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5011
5012         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5013         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
5014         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
5015         Make it so that pads are considered linked until a buffer is pushed
5016         and discovered otherwise. This avoids problems with decodebin2 hanging
5017         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
5018         case.
5019
5020         Make sure we lock the multiqueue when updating the max-size properties.
5021         
5022         Fix a crash on Solaris in a debug statement in get_request_pad that
5023         passes a NULL string to GST_DEBUG. 
5024
5025         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5026         (run_output_order_test):
5027         Fix the test to allow the first buffer on not-linked pads to come out
5028         of sequence while multiqueue discovers that they are not-linked.
5029
5030 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5031
5032         * configure.ac:
5033         * libs/gst/check/Makefile.am:
5034         Use a custom export symbol regex for libgstcheck, as it needs
5035         to export symbols that don't match the standard GStreamer gst_*
5036         pattern, and  --export-dynamic is not portable (only works on 
5037         GNU ld)
5038
5039         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5040         (gst_check_setup_sink_pad):
5041         Make sure to pass a message parameter to the fail_* macros.
5042
5043         * tests/check/gst/gstinfo.c: (GST_START_TEST):
5044         Fix some compiler warnings.
5045
5046 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
5047
5048         * tests/check/gst/gststructure.c: (test_to_string):
5049           Disable test that checks that white spaces are not allowed
5050           in structure names or field names, since we need to
5051           support that for now for backwards compatibility reasons.
5052
5053 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
5054
5055         * docs/gst/gstreamer-sections.txt:
5056         * gst/gsttaglist.c:
5057         * gst/gsttaglist.h:
5058           API: add GST_TAG_ARTIST_SORTNAME
5059           API: add GST_TAG_ALBUM_SORTNAME
5060           API: add GST_TAG_TITLE_SORTNAME
5061           Add tag variants for sorting (#414539).
5062
5063 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
5064
5065         * gst/gststructure.c:
5066           Also allow white space for names so we don't break
5067           backwards compatibility.
5068
5069 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
5070
5071         * docs/design/part-TODO.txt:
5072         * docs/design/part-segments.txt:
5073         * docs/design/part-streams.txt:
5074         Small updates.
5075
5076 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
5077
5078         * docs/gst/gstreamer-sections.txt:
5079          Fixed documentation from my previous commit (added new API add
5080          gst_value_set_structure(), add gst_value_get_structure() and
5081          GST_VALUE_HOLDS_STRUCTURE).
5082
5083 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
5084
5085         * gst/gstdebugutils.c:
5086           Reflow code to fix uninitialized variable warning.
5087
5088 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
5089
5090         * gst/gstcaps.c: (gst_caps_to_string),
5091         (gst_caps_from_string_inplace):
5092         * gst/gststructure.c: (gst_structure_get_abbrs),
5093         (gst_structure_to_string), (gst_structure_from_string):
5094         * gst/gstvalue.c: (gst_value_set_structure),
5095         (gst_value_get_structure), (gst_value_serialize_structure),
5096         (gst_value_deserialize_structure), (_gst_value_initialize):
5097         * gst/gstvalue.h:
5098         * tests/check/gst/gststructure.c: (GST_START_TEST),
5099         (gst_structure_suite):
5100         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5101          Added GstStructure to gst_value_table and its related functions.
5102          Changed gst_structure_to_string to print ';' in the end.
5103          Changed gst_caps_to_string to not print ';' beteween its
5104          fields (structures) anymore and remove the lastes ';' from latest
5105          structure. Now it is possible to have nested structures.
5106          In addition, backward compatibilty is assured by accepting '\0' as
5107          end delimiter. Fixes: #487969.
5108          API: add gst_value_set_structure()
5109          API: add gst_value_get_structure()
5110          API: add GST_VALUE_HOLDS_STRUCTURE
5111
5112 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
5113
5114         * gst/gstbus.c:
5115           When no GSource callback has been set up, tell developer
5116           to use a function that actually exists.
5117
5118 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
5119
5120         * docs/gst/gstreamer-sections.txt:
5121         * gst/Makefile.am:
5122         * gst/gst.c:
5123         * gst/gst.h:
5124         * gst/gstdebugutils.c:
5125         * gst/gstdebugutils.h:
5126         * gst/gstinfo.c:
5127         * gst/gstinfo.h:
5128         * tools/gst-launch.c:
5129           Allow dumping pipelines as dot graphs. Fixes #456573.
5130
5131 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5132
5133         * gst/gststructure.c:
5134           Allow '+' as well, it can be part of media or mime types
5135           such as image/svg+xml.
5136
5137 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5138
5139         * docs/gst/gstreamer-sections.txt:
5140         * gst/gstbus.c:
5141         * gst/gstbus.h:
5142           API: add gst_bus_pop_filtered
5143           API: add gst_bus_timed_pop_filtered
5144           Two new functions for waiting for specific message types on the
5145           bus for a specified amount of time without iterating any main
5146           loops or main contexts.
5147
5148         * tests/check/gst/gstbus.c:
5149           Some tests for the new functions.
5150
5151 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5152
5153         * docs/libs/gstreamer-libs-sections.txt:
5154           Make gtk-doc ignore stuff it should ignore.
5155
5156 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5157
5158         * libs/gst/check/gstcheck.c:
5159         * libs/gst/check/gstcheck.h:
5160           Allow runtime selection of unit tests to run via the GST_CHECKS
5161           environment variable (test case function names, comma-separated).
5162
5163 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
5164
5165         * gst/gststructure.c:
5166         * tests/check/gst/gststructure.c:
5167           Revert serialisation change and constrain structure-names after
5168           consensus on irc. Update api documentation to reflect the change.
5169
5170 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
5171
5172         * gst/gststructure.c:
5173           Improve serialization and fix tests.
5174
5175         * tests/check/gst/gststructure.c:
5176           Add another test that covers why I actually did the previous structure
5177           change.
5178
5179 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
5180
5181         * tools/gst-inspect.c: (print_element_info):
5182         Don't crash when inspecting an element.
5183
5184 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5185
5186         * tests/check/gst/gststructure.c:
5187           Add unit test for escaping of structure name when serialising
5188           and deserialising to/from strings.
5189
5190 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
5191
5192         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
5193         (gst_single_queue_new):
5194         * plugins/elements/gstqueue.c: (gst_queue_init),
5195         (gst_queue_push_one):
5196         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
5197         upstream is tricked into thinking it can suggest a format downstream
5198         while downstream does not support that format. The real problem is that
5199         core calls acceptcaps when pushing a buffer with new caps, for which we
5200         do a little workaround by setting the caps on the srcpad ourselves
5201         before pushing the buffer (until this is figured out). Fixes #486758.
5202
5203 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
5204
5205         * gst/gststructure.c:
5206         * gst/gstvalue.c:
5207           Add some more comments and debug output. Quote structure name to fix
5208           deserialisation of some strings.
5209
5210 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
5211
5212         * gst/gstbuffer.h:
5213           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
5214           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
5215
5216 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
5217
5218         * tools/gst-inspect.c:
5219           Save approx. 400 1 byte allocs when printing. Use API to acces element
5220           details.
5221
5222         * tools/gst-run.c:
5223           Avoid a strdup.
5224
5225         * tools/gst-xmlinspect.c:
5226           Use API to acces element details.
5227
5228 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
5229
5230         * gst/gstinfo.c:
5231           Fix some spelling errors.
5232
5233 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
5234
5235         * gst/gstbin.c: (bin_handle_async_done):
5236         Correctly set the next state if all of our async children commited their
5237         state. This makes sure we can actually cancel the state change in
5238         progress. Fixes a regression in Rhythmbox when seeking.
5239
5240 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5241
5242         * gst/gstbin.c:
5243           Don't shadow local variable.
5244
5245         * gst/gstinfo.c:
5246           Don't shadow global function name.
5247
5248 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5249
5250         * gst/gstelementfactory.c:
5251         * gst/gstpluginfeature.c:
5252         * gst/gstpluginfeature.h:
5253         * gst/gstregistrybinary.c:
5254         * gst/gstregistryxml.c:
5255         * gst/gsttypefind.c:
5256           Use already-interned string for the private GstPluginFeature
5257           plugin_name field.
5258
5259 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5260
5261         * docs/libs/gstreamer-libs-sections.txt:
5262           Add new API to docs; fixes the build.
5263
5264 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
5265         
5266         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
5267
5268         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
5269         (gst_base_sink_event):
5270         * libs/gst/base/gstbasesink.h:
5271         Add function to wait for EOS, subclasses can use this to correctly wait
5272         for devices to drain before performing the EOS logic. Fixes #485343.
5273         API: gst_base_sink_wait_eos()
5274
5275 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5276
5277         * gst/gstplugin.h:
5278           Cast description string constants in GST_PLUGIN_DEFINE macros
5279           to a (gchar*) to make C++ code using these macros compile
5280           without warning with g++-4.2 (see #462737).  Even if slightly
5281           ugly, this seems preferable to putting the description strings
5282           into the GLib quark table or making the structure member a
5283           const gchar * and doing casts in core code that allocs and
5284           frees these strings, or requiring a cast in the C++ code.
5285
5286 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5287
5288         * gst/gstinfo.h:
5289           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
5290           to print the entire class/function signature into the log
5291           file for C++ code.  This only affects C++ code, for C code
5292           everything remains the same.
5293
5294 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
5295
5296         * gst/gstbin.c: (remove_from_queue):
5297         Work around a problem with pipelines containing (semi)loops until a
5298         proper, more complicated solution is ready. See #475455.
5299
5300 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5301
5302         * gst/gstplugin.c:
5303         * gst/gstplugin.h:
5304         * gst/gstregistrybinary.c:
5305         * gst/gstregistryxml.c:
5306           Put more strings into the GLib quark table. No need to keep
5307           a hundred-something copies of identical version strings,
5308           license strings, package name strings and package origin
5309           strings around. 
5310
5311 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5312
5313         * docs/manual/advanced-dataaccess.xml:
5314           Don't imply that it's okay to unconditionally change
5315           buffer data or buffer metadata in a pad probe callback,
5316           and a bunch of other comments. Fixes #430031.
5317
5318 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5319
5320         * win32/common/gstenumtypes.c:
5321         * win32/common/gstenumtypes.h:
5322         * win32/common/gstversion.h:
5323           Update generated files.
5324
5325 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5326
5327         * docs/manual/advanced-autoplugging.xml:
5328           Prefix section with broken code with a warning (see #342432).
5329
5330 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5331
5332         * docs/manual/appendix-integration.xml:
5333         * docs/manual/basics-init.xml:
5334           Call g_thread_init() before g_option_context_new() to
5335           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
5336
5337 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
5338
5339         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5340         (gst_base_sink_queue_object_unlocked),
5341         (gst_base_sink_queue_object), (gst_base_sink_event),
5342         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
5343         When we received EOS and are waiting for when to post the EOS message,
5344         our state is prerolled and we should not return ASYNC.
5345         Reorganize some code paths to implement this behavior.
5346
5347         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5348         (gst_sinks_suite):
5349         Add unit test to verify above EOS fix.
5350
5351 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
5352
5353         * plugins/elements/gsttypefindelement.c:
5354         (gst_type_find_element_have_type), (gst_type_find_element_init),
5355         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
5356         Move detecting the input caps of the sinkpad to the setcaps function.
5357         This allows us to update the output caps when we receive new input caps
5358         instead of always using the first detected caps.
5359
5360 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
5361
5362         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
5363         (gst_base_sink_get_position):
5364         Don't try to preroll non-async elements after a flush.
5365         Subtract latency form clock times when reporting position.
5366
5367 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
5368
5369         * gst/gstpad.c: (gst_pad_pause_task):
5370         * gst/gstutils.c:
5371         Small comment and documentation update.
5372
5373 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
5374
5375         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5376         (gst_base_src_set_live), (gst_base_src_is_live),
5377         (gst_base_src_query_latency), (gst_base_src_perform_seek),
5378         (gst_base_src_default_event), (gst_base_src_wait),
5379         (gst_base_src_do_sync), (gst_base_src_get_range),
5380         (gst_base_src_pad_get_range), (gst_base_src_loop),
5381         (gst_base_src_unlock), (gst_base_src_unlock_stop),
5382         (gst_base_src_set_flushing), (gst_base_src_set_playing),
5383         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5384         (gst_base_src_change_state):
5385         Rework the locking of basesrc in a similar fashion to basesink. We
5386         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
5387         us to handle live sources and semi live ones much better.
5388         Simplify flushing.
5389         Fix unlocking when seeking, shutting down and pausing in live sources.
5390
5391 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
5392
5393         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
5394         Fix compilation again.
5395
5396 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5397
5398         * gst/gstelement.c:
5399           Use meaningful categories for the logs to clean the default one.
5400
5401 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5402
5403         * tests/check/pipelines/cleanup.c:
5404           Print message name and not just number.
5405
5406 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5407
5408         * docs/design/draft-tagreading.txt:
5409           Add some more thoughts.
5410
5411 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5412
5413         * tests/check/pipelines/simple-launch-lines.c:
5414           Print message name and not just number.
5415
5416 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5417
5418         * libs/gst/base/gsttypefindhelper.c:
5419           Speedup typefinding. This is work in progress (see #459862).
5420
5421 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5422
5423         * gst/gstplugin.c:
5424           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
5425           Spotted by Josep Torra Valles <josep@fluendo.com>.
5426
5427 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
5428
5429         * gst/gstclock.h:
5430           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
5431           field has moved to GstObject.
5432
5433 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
5434
5435         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
5436         (gst_base_src_get_range), (gst_base_src_change_state):
5437         Call unlock for live sources so that they can't get stuck in _create and
5438         produce a buffer before they are set back to PLAYING.
5439
5440 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
5441
5442         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
5443         (gst_queue_locked_dequeue):
5444         Comment the segment-related code... in the PROPER function.
5445         See #482147 and my commit from yesterday.
5446
5447 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
5448
5449         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5450         Also initialize the counter that calculates the first timestamp on a
5451         buffer correctly for non-live sources.
5452
5453 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
5454
5455         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
5456         Disable code that's breaking the current-time-level reporting.
5457         See #482147
5458
5459 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
5460
5461         * docs/gst/gstreamer-sections.txt:
5462         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
5463         as they shouldn't show up. Fixes the docs build.
5464
5465 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
5466         
5467         * gst/gstinfo.h:
5468         Add an explicit variable importation needed on VS6 (only for MSC_VER)
5469         Define M_PI which is used in files which are including gstinfo.h. 
5470         VS6 includes doesn't define it.
5471         * win32/common/libgstbase.def:
5472         * win32/common/libgstcontroller.def:
5473         * win32/common/libgstreamer.def:
5474         Add new exported functions and variables.
5475         * win32/vs6/libgstcontroller.dsp:
5476         * win32/vs6/libgstreamer.dsp:
5477         Update the list of files to build.
5478         
5479 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
5480
5481         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
5482
5483         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
5484         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
5485         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
5486         Improve debugging. Fixes #480858.
5487
5488 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
5489
5490         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
5491
5492         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5493         First patch of code cleanups, use the macros and right arguments in the
5494         macros to signal and lock the queue. See #480858.
5495
5496 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
5497
5498         * gst/gstbus.c: (poll_func):
5499         Improve debugging when dealing with _poll().
5500
5501 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5502
5503         * gst/gstregistryxml.c:
5504           Fix memory leak I introduced a few days ago.
5505
5506 2007-09-26  Michael Smith <msmith@fluendo.com>
5507
5508         * gst/gstbuffer.c: (gst_buffer_finalize):
5509           Make it once again possible to free GstBuffers in the default
5510           build.
5511           The poisoning scribbles on parts of the miniobject we need in
5512           order to free it.
5513           Fixes #480341
5514
5515 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
5516
5517         * docs/gst/gstreamer-sections.txt:
5518         * gst/gsttaglist.c:
5519         * gst/gsttaglist.h:
5520         API: add GST_TAG_COMPOSER, fixes #459809.
5521
5522 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
5523
5524         * gst/gstplugin.c:
5525         * gst/gstplugin.h:
5526         Add the 3-clause BSD license and the MIT/X11 license to the license
5527         list. Fixes #479784.
5528
5529 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5530
5531         * docs/faq/getting.xml:
5532           Add Q+A about different GStreamer versions (#364056).
5533
5534 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
5535
5536         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5537         (gst_base_sink_event), (gst_base_sink_change_state):
5538         Return correct gboolean from query function.
5539
5540 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
5541
5542         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5543         (gst_base_sink_event), (gst_base_sink_query),
5544         (gst_base_sink_change_state):
5545         Simplify latency query.
5546         When not synchronizing, we can report latency without querying the peer
5547         element.
5548
5549 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
5550
5551         * gst/gstobject.h:
5552         * gst/gstvalue.c:
5553         Fix small typos in the docs.
5554
5555 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
5556
5557         * docs/design/draft-latency.txt:
5558         * docs/design/draft-push-pull.txt:
5559         * docs/design/draft-tagreading.txt:
5560         * docs/design/part-MT-refcounting.txt:
5561         * docs/design/part-activation.txt:
5562         * docs/design/part-block.txt:
5563         * docs/design/part-element-source.txt:
5564         * docs/design/part-events.txt:
5565         * docs/design/part-gstbin.txt:
5566         * docs/design/part-gstelement.txt:
5567         * docs/design/part-gstobject.txt:
5568         * docs/design/part-gstpipeline.txt:
5569         * docs/design/part-messages.txt:
5570         * docs/design/part-preroll.txt:
5571         * docs/design/part-push-pull.txt:
5572         * docs/design/part-qos.txt:
5573         * docs/design/part-query.txt:
5574         * docs/design/part-scheduling.txt:
5575         * docs/design/part-seeking.txt:
5576         * docs/design/part-segments.txt:
5577         * docs/design/part-states.txt:
5578         Documentation updates and typo fixes.
5579
5580 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5581
5582         * plugins/elements/gstfakesink.c:
5583           Add some debug text to error message to indicate that
5584           we errored out on request.
5585
5586         * tools/gst-launch.c:
5587           When the state change to PLAYING fails, check for an
5588           error message on the bus and print it.
5589
5590 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5591
5592         translated by: Jorge González González <aloriel@gmail.com>
5593
5594         * po/LINGUAS:
5595         * po/es.po:
5596           Added Spanish translation.
5597
5598 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
5599
5600         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5601         Fix printf arguments.
5602
5603 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
5604
5605         * tests/check/generic/states.c:
5606           Improved state change unit test.
5607
5608 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
5609
5610         * gst/gstbin.h:
5611           Move priv to the right place.
5612
5613         * gst/gstsystemclock.c:
5614           Add FIXME: and improve log.
5615
5616         * tests/check/Makefile.am:
5617         * tests/examples/manual/Makefile.am:
5618           Work with all types of registries.
5619
5620 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
5621
5622         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
5623         Don't unref the event after pushing it. Fixes #478401.
5624
5625 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
5626
5627         * .cvsignore:
5628         * tests/examples/manual/.cvsignore:
5629           Ignore registries in any format.
5630
5631 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5632
5633         * gst/glib-compat-private.h:
5634           Add compatibility macro for g_intern_string() for
5635           GLib-2.8 (any reason we can't just bump the
5636           requirement to at least 2.10?)
5637
5638         * gst/gstpadtemplate.h:
5639         * gst/gstelementfactory.c:
5640         * gst/gstregistryxml.c:
5641         * gst/gstregistrybinary.c:
5642           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
5643           up the internal code accordingly.  This shouldn't be a problem, since
5644           there is no reason external code could ever assume the string in such
5645           a structure is dynamically allocated unless it did that itself;  the
5646           use of g_strdup() is private to element factories.  The new code also
5647           saves some memory by putting pad template name strings into the GLib
5648           quark table instead of allocating them dynamically.
5649           Declaring this field constant fixes warnings with g++-4.2 when using
5650           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
5651
5652 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
5653
5654         * gst/gstelementfactory.c:
5655           Release static caps. Fixes #475723.
5656
5657 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
5658
5659         * gst/gstinfo.c:
5660         * gst/gstinfo.h:
5661           Make some internal API take const gchar * instead of just
5662           gchar * to avoid compiler warnings with g++-4.2.2 when
5663           passing string constants (partially fixes #478092).
5664
5665 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
5666
5667         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
5668         A latency query fails when one of the sinks fail.
5669
5670         * gst/gstelement.c: (gst_element_set_base_time):
5671         Improve debugging.
5672
5673 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
5674
5675         * gst/gstbin.c: (gst_bin_continue_func):
5676         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
5677         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
5678         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
5679
5680         Fix minor compilation warnings shown with Forte.
5681
5682 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
5683
5684         * plugins/elements/gstqueue.c: (apply_buffer),
5685         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
5686         Measure queue level based on the diff between head and tail timestamps
5687         even when pushing the first buffer.
5688
5689 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
5690
5691         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5692         (gst_base_sink_event), (gst_base_sink_change_state):
5693         Sinks that don't preroll can always be queried for the latency.
5694         Don't post ASYNC start when we are not async.
5695
5696 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
5697
5698         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
5699         (gst_queue_handle_sink_event), (gst_queue_chain),
5700         (gst_queue_push_one), (gst_queue_handle_src_query),
5701         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
5702         * plugins/elements/gstqueue.h:
5703         When downstream returns UNEXPECTED from pushing a buffer, don't try to
5704         push more buffers but allow pushing of EOS and NEWSEGMENT.
5705         Add some more debug info here and there. Fixes #476514.
5706
5707 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
5708
5709         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5710         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
5711         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
5712         (gst_base_sink_set_flushing), (gst_base_sink_query),
5713         (gst_base_sink_change_state):
5714         Latency query is allowed after we are prerolled. Introduce a new flag
5715         for this and stop abusing other variables.
5716
5717 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5718
5719         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
5720         Push OOB events downstream when we get them in send_event. This allows
5721         the application to insert events in the pipeline.
5722         Add some more comments.
5723
5724 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5725
5726         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
5727         (do_bin_latency), (gst_bin_change_state_func):
5728         * gst/gstpipeline.c: (gst_pipeline_change_state):
5729         Move latency query from GstPipeline to GstBin so that we can also
5730         use it when async-handling is enabled on bins.
5731
5732 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5733
5734         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5735         (gst_base_src_do_sync), (gst_base_src_change_state):
5736         Update docs.
5737         Clean up the timestamping and syncing code for pseudo live sources.
5738
5739 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
5740
5741         Patch by: Steve Fink  <sphink gmail com>
5742
5743         * docs/manual/appendix-checklist.xml:
5744           Mention less -R switch in the section about debug output (#474055).
5745
5746 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5747
5748         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
5749         Queue can latency to the pipeline up to the configured max size in time.
5750         Report this fact in the latency query.
5751
5752 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
5753
5754         Patch by: Sebastien Moutte <sebastien at moutte dot net>
5755
5756         * libs/gst/controller/gstinterpolation.c:
5757         * libs/gst/controller/gstlfocontrolsource.c:
5758         Use gst_guint64_to_gdouble() when converting from a uint64 or
5759         GstClockTime to double to fix the build on win32. Fixes #474371.
5760
5761 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
5762
5763         * gst/gstbuffer.c: (gst_buffer_finalize):
5764         Implement poisoning for GstBuffer if --enable-poisoning is specified.
5765         When finalizing a buffer the complete struct is filled with 0xff,
5766         thus making a use of the buffer after the final unref impossible.
5767
5768 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
5769
5770         * tests/check/libs/controller.c: (GST_START_TEST):
5771         Use fail_unless_equals_int(a, b) instead of
5772         fail_unless_equals (a == b) to get better output on failures.
5773
5774 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
5775
5776         * tests/check/gst/gsturi.c:
5777           Also check for the other file URI variant on win32.
5778
5779 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
5780
5781         * gst/gsturi.c: (gst_uri_get_location):
5782           If there's no hostname, we want to return 'c:/foo/bar.txt'
5783           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
5784
5785         * tests/check/gst/gsturi.c:
5786           Unit test for the above and a few more things.
5787
5788 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
5789
5790         * docs/design/part-live-source.txt:
5791         Add docs on how live sources should timestamp.
5792
5793         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
5794         Add some more debug info.
5795         For subclasses that are live and like to sync, add aditional startup
5796         latency to sync time and timestamps so that we timstamp according to the
5797         design doc.
5798
5799 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
5800
5801         * gst/gstbuffer.c:
5802           Also do a g_type_class_ref() for the subbuffer type in
5803           the init function.
5804
5805 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
5806
5807         * docs/gst/gstreamer-sections.txt:
5808         * gst/gstpad.c: (gst_pad_peer_query):
5809         * gst/gstpad.h:
5810         Add function to perform a query on the peer of a pad.
5811         API: gst_pad_peer_query()
5812
5813 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
5814
5815         * tests/check/gst/gstsystemclock.c:
5816           Cleanup the test a little (use gst-logging and not g_message). Improve
5817           test to check if a wait reached the target.
5818
5819 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
5820
5821         * docs/libs/gstreamer-libs-sections.txt:
5822           Add new API to docs and fix the build.
5823
5824 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
5825
5826         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5827         (gst_base_src_init), (gst_base_src_set_do_timestamp),
5828         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
5829         (gst_base_src_get_property), (gst_base_src_do_sync):
5830         * libs/gst/base/gstbasesrc.h:
5831         Add property to make the basesrc timestamp buffers based on the current
5832         running time.
5833         API: GstBaseSrc::do-timestamp
5834         API: gst_base_src_set_do_timestamp()
5835         API: gst_base_src_get_do_timestamp()
5836
5837 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
5838
5839         * docs/random/release:
5840           Really make sure translations are up-to-date before
5841           a release (#465010).
5842
5843 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
5844
5845         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5846         Always destroy the timer, also in error cases.
5847
5848 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
5849
5850         * docs/manual/highlevel-xml.xml:
5851         Fix XML example code. Fixes #472714.
5852
5853 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
5854
5855         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5856         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
5857         (gst_base_sink_query):
5858         Protect eos and have_preroll with the OBJECT lock so we don't need to
5859         take the PREROLL lock when querying the latency. Fixes #473846.
5860
5861 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
5862
5863         * gst/gstelement.c:
5864           Give some log-messages a category.
5865
5866 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
5867
5868         * gst/gststructure.c:
5869         (gst_structure_fixate_field_nearest_fraction):
5870         Fix fraction list fixation code. Take the fraction with the smallest
5871         difference with the target instead of the first one in the list.
5872
5873         * tests/check/gst/gststructure.c: (GST_START_TEST),
5874         (gst_structure_suite):
5875         Added test to verify correct fraction list fixation behaviour.
5876
5877 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
5878
5879         * win32/common/libgstreamer.def:
5880           Export gst_bus_add_signal_watch too.
5881
5882 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
5883
5884         * docs/libs/gstreamer-libs-sections.txt:
5885         Add new methods to docs.
5886
5887         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5888         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
5889         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
5890         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
5891         * libs/gst/base/gstbasesink.h:
5892         Add ts-offset property to fine-tune the synchronisation.
5893         API: GstBaseSink::ts-offset property
5894         API: gst_base_sink_set_ts_offset()
5895         API: gst_base_sink_get_ts_offset()
5896
5897 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
5898
5899         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5900         (gst_base_sink_init), (gst_base_sink_set_sync),
5901         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
5902         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
5903         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
5904         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
5905         (gst_base_sink_get_property), (gst_base_sink_change_state):
5906         * libs/gst/base/gstbasesink.h:
5907         Add async property to instruct the sink never to inform the parent about
5908         ASYNC state changes, update docs.
5909         Check argument with g_return_* for the public functions.
5910         API: GstBaseSink::async property
5911         API: gst_base_sink_set_async_enabled()
5912         API: gst_base_sink_is_async_enabled()
5913
5914 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
5915
5916         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
5917         Improve debugging.
5918
5919         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5920         (gst_base_src_default_query), (gst_base_src_wait),
5921         (gst_base_src_do_sync), (gst_base_src_change_state):
5922         Rearrange some code so that we can add support for measuring the 
5923         startup latency.
5924
5925 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
5926
5927         * docs/random/ensonic/dynlink.txt:
5928           More thoughs on this.
5929
5930         * plugins/elements/gstcapsfilter.c:
5931           Add bugzilla ticket number to FIXME comment.
5932
5933 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
5934
5935         * docs/design/part-TODO.txt:
5936         * docs/design/part-block.txt:
5937         Update some docs.
5938
5939 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5940
5941         * gst/Makefile.am:
5942           Revert patch which uses $(gst_headers) instead of $^ because it
5943           breaks make dist.
5944
5945 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5946
5947         * tests/check/gst/gstbin.c: (GST_START_TEST):
5948           Fix leaks in the new unit test.
5949
5950 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
5951
5952         * gst/gst.c:
5953           Don't use GST_INFO before the debug system is actually initialised
5954           (shouldn't do any harm, but won't print anything either, so we can
5955           just as well remove it).
5956
5957         * gst/gstinfo.h:
5958           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
5959           compilers that don't support variadic macros (such as MSVC), should
5960           check for debug_level <= __gst_debug_min as well, since that's the
5961           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
5962           inline helper functions. Should improve performance a bit, but also
5963           makes sure uses of GST_INFO et.al are ignored if the debugging
5964           system isn't initialised yet (instead of printing an assertion
5965           failure).
5966
5967 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
5968
5969         patch by: David Nečas <yeti@physics.muni.cz>
5970
5971         * gst/Makefile.am:
5972           Replace some non portable makefile constructs.
5973
5974 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
5975
5976         * common/gtk-doc-plugins.mak:
5977           Grrrrr. Don't remove the types file on make clean.
5978
5979 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
5980
5981         * tools/gst-launch.1.in:
5982         Add colorspace to example pipeline. Fixes #458274.
5983
5984 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
5985
5986         * docs/random/release:
5987           The release manager should run 'make download-po' before making a
5988           release to make sure translations are up-to-date.
5989
5990         * po/LINGUAS:
5991         * po/be.po:
5992         * po/pl.po:
5993         * po/rw.po:
5994           Add some new translations.
5995
5996 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
5997
5998         * tools/gst-launch.c: (event_loop), (main):
5999         Don´t try to do any state management when a live pipeline posts
6000         buffering messages.
6001         Also make the buffering string translatable.
6002
6003 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6004
6005         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
6006         (bin_handle_async_start), (gst_bin_handle_message_func):
6007         Improve debugging.
6008         When adding elements, insert messages into the bus of the newly added
6009         element and make sure the element is the source of the message. This
6010         allows the parent bin to intercept the message and do the
6011         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
6012         messages to the app (which is not allowed).
6013         Update some docs.
6014
6015         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6016         Fix testsuite so that is does not work around messages that should not
6017         have been posted in the first place.
6018
6019 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6020
6021         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
6022         (update_degree), (gst_bin_sort_iterator_next):
6023         Fix annoying bug in the sorted iterator where a sink that is not really
6024         a sink (when it has downstream links) screwed up the iterator.
6025
6026         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6027         Unit test to verify the fix.
6028
6029 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6030
6031         * gst/gstmessage.h:
6032         Add some more docs for the messages.
6033
6034         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6035         (gst_base_sink_query):
6036         Add some more debugging.
6037
6038         * tools/gst-launch.c: (event_loop):
6039         When interrupting, don't try to set pipeline to PAUSED twice.
6040
6041 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
6042
6043         
6044         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
6045         (bin_handle_async_start), (gst_bin_handle_message_func):
6046         Move ASYNC_START message posting to where it belongs, similar to
6047         async_done. 
6048         Don't post ASYNC_START when we are in error. 
6049         Post ASYNC_START when we added an async element to a bin.
6050
6051 2007-08-14  Julien MOUTTE  <julien@moutte.net>
6052
6053         * gst/gstindex.c: (gst_index_add_association): Fix index entry
6054         generation from vargs. Fixes #466595.
6055
6056 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
6057
6058         * gst/gstbin.c: (gst_bin_element_set_state):
6059         Always change the state of a NO_PREROLL element even if it has ASYNC
6060         elements inside (in case of a bin).
6061
6062         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
6063         Unit test for this case.
6064
6065 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
6066
6067         * libs/gst/check/gstbufferstraw.c:
6068         * libs/gst/check/gstcheck.h:
6069         * libs/gst/controller/gstcontroller.c:
6070         * libs/gst/controller/gstcontrolsource.h:
6071         * libs/gst/controller/gstlfocontrolsource.h:
6072         * plugins/elements/gstcapsfilter.h:
6073         * plugins/elements/gstfdsink.h:
6074         * plugins/elements/gstfdsrc.h:
6075           Add more missing docs.
6076
6077 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6078
6079         * gst/gststructure.c:
6080         Add Since tag to docs.
6081
6082 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6083
6084         * docs/gst/gstreamer-sections.txt:
6085         * gst/gststructure.c: (gst_structure_get_uint):
6086         * gst/gststructure.h:
6087         Add function to get uint from a structure.
6088         API: gst_structure_get_uint()
6089
6090 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6091
6092         * gst/gstcaps.c: (gst_caps_set_simple_valist),
6093         (gst_caps_intersect):
6094         Fix proper check for simple caps.
6095
6096 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
6097
6098         * docs/gst/Makefile.am:
6099         * docs/libs/Makefile.am:
6100           Remove cruft and do some cleanups.
6101
6102         * docs/gst/gstreamer-docs.sgml:
6103         * docs/libs/gstreamer-libs-docs.sgml:
6104           Prepare for comming gtkdoc features (rebase against online docs).
6105
6106 2007-08-10  Michael Smith <msmith@fluendo.com>
6107
6108         * docs/gst/gstreamer-sections.txt:
6109           Add gst_registry_add_path to docs.
6110
6111 2007-08-10  Michael Smith <msmith@fluendo.com>
6112
6113         * gst/gstregistry.h:
6114           Add gst_registry_add_path, which was missing from this header.
6115
6116 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6117
6118         * libs/gst/controller/gstlfocontrolsource.c:
6119           Printf format fix.
6120
6121 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
6122
6123         * libs/gst/base/gstbasesink.c:
6124           Don't send an async_start message during downwards state change if 
6125           target state is less than READY
6126
6127 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6128
6129         translated by: Gabor Kelemen <kelemeng@gnome.hu>
6130
6131         * po/LINGUAS:
6132         * po/hu.po:
6133           Added Hungarian translation.
6134
6135 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6136
6137         * po/fi.po:
6138         * po/it.po:
6139         * po/nl.po:
6140         * po/sv.po:
6141         * po/uk.po:
6142           Updated translations.
6143
6144 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
6145
6146         * libs/gst/controller/Makefile.am:
6147         Dist gstlfocontrolsourceprivate.h
6148
6149 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
6150
6151         * docs/libs/gstreamer-libs.types:
6152         Don't register the enum type gst_lfo_waveform_get_type() in the
6153         .types file - only GObject derived types belong.
6154
6155 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
6156
6157         Patch by: <arenevier at fdn dot fr>
6158
6159         * gst/gstbuffer.h:
6160         Remove comma from last element in enum to avoid compile errors when
6161         using -pendantic. Fixes #464366.
6162
6163 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
6164
6165         * docs/design/part-TODO.txt:
6166         Add some more TODO items
6167
6168         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
6169         Improve debugging.
6170
6171         * gst/gstcaps.c: (gst_caps_intersect):
6172         Optimize trivial intersection case between identical caps pointers.
6173
6174         * gst/gstelement.c: (gst_element_continue_state),
6175         (gst_element_set_state_func):
6176         * gst/gstpad.c:
6177         Fix spelling and grammar mistakes.
6178
6179 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
6180
6181         * po/POTFILES.in:
6182         * po/POTFILES.skip:
6183           Update POTFILES. Fixes #461599.
6184
6185 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
6186
6187         * gst/gst.c:
6188         Fix confusing typo in debug output.
6189
6190 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
6191
6192         reviewed by: Stefan Kost <ensonic@users.sf.net>
6193
6194         * libs/gst/controller/Makefile.am:
6195         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
6196         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
6197         (gst_lfo_control_source_new),
6198         (gst_lfo_control_source_set_waveform),
6199         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
6200         (gst_lfo_control_source_finalize),
6201         (gst_lfo_control_source_dispose),
6202         (gst_lfo_control_source_set_property),
6203         (gst_lfo_control_source_get_property),
6204         (gst_lfo_control_source_class_init):
6205         * libs/gst/controller/gstlfocontrolsource.h:
6206         * libs/gst/controller/gstlfocontrolsourceprivate.h:
6207         API: Add GstLFOControlSource, a control source that gives values
6208         for specific timestamps based on several periodic waveforms.
6209         Fixes #459717.
6210
6211         * tests/check/libs/controller.c: (GST_START_TEST),
6212         (gst_controller_suite):
6213         * docs/libs/gstreamer-libs-docs.sgml:
6214         * docs/libs/gstreamer-libs-sections.txt:
6215         * docs/libs/gstreamer-libs.types:
6216         Add documentation and unit tests for GstLFOControlSource.
6217
6218 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
6219
6220         * configure.ac:
6221         Back to CVS
6222
6223 === release 0.10.14 ===
6224
6225 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
6226
6227         * configure.ac:
6228           releasing 0.10.14, "Breathing Vacuum"
6229
6230 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
6231
6232         * gst/gstelement.c: (gst_element_class_set_details_simple):
6233         * gst/gstelement.h:
6234           Make strings passed to gst_element_class_set_details_simple()
6235           constant, as they should be (#462752).
6236
6237 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
6238
6239         * gst/gstbin.c: (gst_bin_change_state_func),
6240         (bin_handle_async_done), (gst_bin_handle_message_func):
6241         Don't forget about the fact that some element went ASYNC even after a
6242         resync. This makes us post the ASYNC_DONE message correctly.
6243         Fixes #462558.
6244
6245 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
6246
6247         * gst/gstregistry.c: (gst_registry_add_feature):
6248         When replacing an existing feature in the registry, make sure to
6249         continue holding a reference until we've replaced the name string
6250         within our feature hash table. Make sure to use g_hash_table_replace
6251         instead of g_hash_table_insert to ensure the new name string is used
6252         as a key instead of the old one that we're about to free.
6253         Fixes: #462085
6254
6255 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
6256
6257         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6258         (gst_plugin_feature_set_name):
6259         Revert patch from #459466 until after the release and we can work
6260         out exactly what the problem is (if any).
6261
6262 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
6263
6264         * docs/gst/gstreamer-sections.txt:
6265         * gst/gsttaglist.c:
6266         * gst/gsttaglist.h:
6267           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
6268
6269 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
6270
6271         * docs/libs/Makefile.am:
6272         Include our build-prefix libs and includes before the generic ones to
6273         avoid linking against the installed libs when we want the build-tree
6274         ones.
6275
6276 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
6277
6278         Patch by: Steve Fink  <sphink gmail com>
6279
6280         * docs/pwg/building-testapp.xml:
6281           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
6282           if people try to build or install the example from the plugin
6283           template against a GStreamer from package using the configure
6284           defaults.
6285
6286 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
6287
6288         Patch by: Steve Fink  <sphink gmail com>
6289
6290         * tools/gst-inspect.1.in:
6291           Document --print-all and --print-plugin-auto-install-info command
6292           line options in man page.
6293
6294 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
6295
6296         * docs/gst/gstreamer-sections.txt:
6297         Add docs for new api function.
6298
6299 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
6300
6301         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
6302         * gst/gstelementfactory.h:
6303         API: gst_element_factory_has_interface()
6304         Added method to check if an element factory implements a named
6305         interface.
6306
6307 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
6308
6309         * configure.ac:
6310         * docs/gst/gstreamer.types.in:
6311           Another conditional doc check.
6312
6313         * gst/gstmessage.c:
6314         * gst/gstparamspecs.h:
6315         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6316         * gst/gstvalue.c:
6317         * gst/gstxml.h:
6318           API-doc fixes.
6319
6320 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
6321
6322         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
6323         (gst_registry_binary_load_feature),
6324         (gst_registry_binary_load_plugin),
6325         (gst_registry_binary_read_cache):
6326           Print error just once and with additional info.
6327
6328 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
6329
6330         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
6331         (helper_find_suggest), (helper_find_get_length),
6332         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
6333         (gst_type_find_helper_for_buffer):
6334           Cleanup the typefindhelper code and add private doc comments.
6335
6336 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
6337
6338         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6339         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
6340         Fix capsfilter for cases where the caps set on capsfilter will provide
6341         additional information.
6342         Fixes #449197
6343
6344 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
6345
6346         * gst/gsttypefindfactory.c:
6347           Fix docs that recommened wrong function to use.
6348
6349 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
6350
6351         * tools/gst-inspect.c: (print_plugin_features):
6352           Also give media-type for typefinders in element output.
6353
6354 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
6355
6356         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
6357         (gst_registry_remove_features_for_plugin_unlocked),
6358         (gst_registry_add_feature), (gst_registry_remove_feature),
6359         (gst_registry_lookup_feature_locked):
6360         * gst/gstregistry.h:
6361           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
6362           Fixes #459501.
6363
6364 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
6365
6366         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6367         (gst_plugin_feature_set_name):
6368           Avoid double memory usage for pluginfeature names. Fixes #459466.
6369
6370 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
6371
6372         * gst/gstpad.h:
6373           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
6374           driving the pipeline may need to explicitly check for NOT_LINKED as
6375           well, since IS_FATAL doesn't cover that.
6376
6377 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
6378
6379         * docs/pwg/advanced-types.xml:
6380           Fix typo and duplicate entry in video formats list.
6381
6382 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
6383
6384         * libs/gst/controller/gstinterpolation.c:
6385         Also round to the nearest int when using cubic interpolation.
6386
6387 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
6388
6389         * libs/gst/controller/gstinterpolation.c:
6390         When linearly interpolating integer types, round to the nearest int
6391         by adding 0.5. Don't do it for float/double types.
6392         Fixes the failing controller test on my machine, which is somehow
6393         rounding differently than on the buildbots.
6394
6395 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
6396
6397         * tools/gst-plot-timeline.py:
6398           Better log parsing (categories can have -). Adjust text vs. lines, so
6399           that they span the same y-range.        
6400
6401 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
6402
6403         * docs/random/ensonic/audiobaseclasses.txt:
6404         * docs/random/ensonic/dynlink.txt:
6405         * docs/random/ensonic/profiling.txt:
6406           Save my thoughts.
6407
6408         * docs/random/moving-plugins:
6409           Add note to use g_assert type macros.
6410
6411 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
6412
6413         * configure.ac:
6414         * libs/gst/check/Makefile.am:
6415           Add libm check as we use in for plugins.
6416
6417 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
6418
6419         * gst/gstbin.c: (gst_bin_continue_func):
6420         Check that the state_cookie hasn't changed since the continue_func
6421         was scheduled. Avoids problems where the state changes back to
6422         something it shouldn't be because it was changed in the meantime.
6423
6424 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
6425
6426         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
6427         (gst_registry_binary_save_string),
6428         (gst_registry_binary_save_pad_template),
6429         (gst_registry_binary_save_feature),
6430         (gst_registry_binary_save_plugin),
6431         (gst_registry_binary_load_feature),
6432         (gst_registry_binary_load_plugin),
6433         (gst_registry_binary_read_cache):
6434           Fix memory leak. Be less verbose in the log.
6435
6436 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6437
6438         * tests/check/elements/.cvsignore:
6439         Add file to cvsignore as commanded.
6440
6441 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6442
6443         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6444         (mq_dummypad_event), (run_output_order_test):
6445         Use a GStaticMutex to protect all cases where libcheck
6446         fail_if/fail_unless macros might be called from multiple threads
6447         simultaneously to avoid errors like:
6448           "check_pack.c:107: :-1081725400:Bad message type arg"
6449
6450 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6451
6452         * tests/check/pipelines/stress.c: (GST_START_TEST):
6453         Make sure we set the pipeline back to the NULL state before
6454         dropping our final reference.
6455
6456 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6457
6458         * tests/check/elements/tee.c: (GST_START_TEST):
6459         Make the tee stress-test a little less stressful so it doesn't just
6460         time out on slow-machines, and remove a small race when it's starting 
6461         up by adding a get_state() call.
6462
6463 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
6464
6465         * gst/gst.c:
6466           Avoid reading registry twice on startup. Fixes #457322.
6467
6468 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
6469
6470         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6471         * pkgconfig/gstreamer-check.pc.in:
6472         Substitute the CFLAGS for libcheck into our .pc file too so that
6473         dependent modules will pick it up properly if libcheck is installed
6474         into some other prefix.
6475
6476 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
6477
6478         * configure.ac:
6479         Revert the pkg-config check for libcheck, since it pulls in the
6480         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
6481         a proper solution, either from the check project, or something else.
6482
6483 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
6484
6485         * configure.ac:
6486           Use pkg-config to locate check.
6487
6488 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
6489
6490         * gst/gsttaglist.c:
6491           Fix doc syntax.
6492
6493         * gst/gstutils.c:
6494         * gst/gstutils.h:
6495           Add deprecation guards.
6496
6497         * libs/gst/base/gstcollectpads.h:
6498           Don't document object (this is implicitly private).
6499
6500 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
6501
6502         * gst/gststructure.c: (gst_structure_parse_value):
6503           When deserialising foo=bar without a type cast, check if it's a
6504           boolean before falling back to a string type, otherwise things like
6505           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
6506           because the filtercaps end up having a signed=(string)true field,
6507           which causes problems later when intersection caps.
6508
6509         * tests/check/gst/gststructure.c: (GST_START_TEST):
6510           Add a unit test for this.
6511
6512 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
6513
6514         Reviewed by: Stefan Kost <ensonic@users.sf.net>
6515
6516         * libs/gst/controller/Makefile.am:
6517         * libs/gst/controller/gstcontroller.c:
6518         (gst_controlled_property_add_interpolation_control_source),
6519         (gst_controlled_property_new), (gst_controlled_property_free),
6520         (gst_controller_find_controlled_property),
6521         (gst_controller_new_valist), (gst_controller_new_list),
6522         (gst_controller_new), (gst_controller_remove_properties_valist),
6523         (gst_controller_remove_properties_list),
6524         (gst_controller_remove_properties),
6525         (gst_controller_set_property_disabled),
6526         (gst_controller_set_disabled), (gst_controller_set_control_source),
6527         (gst_controller_get_control_source), (gst_controller_get),
6528         (gst_controller_sync_values), (gst_controller_get_value_array),
6529         (_gst_controller_dispose), (gst_controller_get_type),
6530         (gst_controlled_property_set_interpolation_mode),
6531         (gst_controller_set), (gst_controller_set_from_list),
6532         (gst_controller_unset), (gst_controller_unset_all),
6533         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
6534         * libs/gst/controller/gstcontroller.h:
6535         * libs/gst/controller/gstcontrollerprivate.h:
6536         * libs/gst/controller/gstcontrolsource.c:
6537         (gst_control_source_class_init), (gst_control_source_init),
6538         (gst_control_source_get_value),
6539         (gst_control_source_get_value_array), (gst_control_source_bind):
6540         * libs/gst/controller/gstcontrolsource.h:
6541         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
6542         (gst_object_get_control_source):
6543         * libs/gst/controller/gstinterpolation.c:
6544         (gst_interpolation_control_source_find_control_point_node),
6545         (gst_interpolation_control_source_get_first_value),
6546         (_interpolate_none_get), (interpolate_none_get),
6547         (interpolate_none_get_boolean_value_array),
6548         (interpolate_none_get_enum_value_array),
6549         (interpolate_none_get_string_value_array),
6550         (_interpolate_trigger_get), (interpolate_trigger_get),
6551         (interpolate_trigger_get_boolean_value_array),
6552         (interpolate_trigger_get_enum_value_array),
6553         (interpolate_trigger_get_string_value_array):
6554         * libs/gst/controller/gstinterpolationcontrolsource.c:
6555         (gst_control_point_free), (gst_interpolation_control_source_reset),
6556         (gst_interpolation_control_source_new),
6557         (gst_interpolation_control_source_set_interpolation_mode),
6558         (gst_interpolation_control_source_bind),
6559         (gst_control_point_compare), (gst_control_point_find),
6560         (gst_interpolation_control_source_set_internal),
6561         (gst_interpolation_control_source_set),
6562         (gst_interpolation_control_source_set_from_list),
6563         (gst_interpolation_control_source_unset),
6564         (gst_interpolation_control_source_unset_all),
6565         (gst_interpolation_control_source_get_all),
6566         (gst_interpolation_control_source_get_count),
6567         (gst_interpolation_control_source_init),
6568         (gst_interpolation_control_source_finalize),
6569         (gst_interpolation_control_source_dispose),
6570         (gst_interpolation_control_source_class_init):
6571         * libs/gst/controller/gstinterpolationcontrolsource.h:
6572         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
6573         API: Refactor GstController into the core controller which can take
6574         a GstControlSource for providing actual values for timestamps.
6575         Implement a interpolation control source and use this for backward
6576         compatibility, deprecate a bunch of functions that are now handled
6577         by GstControlSource or GstInterpolationControlSource.
6578         Make it possible to disable the controller completely or only for
6579         specific properties. Fixes #450711.
6580         * docs/libs/gstreamer-libs-docs.sgml:
6581         * docs/libs/gstreamer-libs-sections.txt:
6582         * docs/libs/gstreamer-libs.types:
6583         Add new functions and classes to the docs.
6584         * tests/check/libs/controller.c: (GST_START_TEST),
6585         (gst_controller_suite):
6586         * tests/examples/controller/audio-example.c: (main):
6587         Port unit test and example to the new API and add some new
6588         unit tests.
6589
6590 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
6591
6592         Patch by: Mark Nauwelaerts <manauw at skynet be>
6593
6594         * plugins/elements/gstmultiqueue.c:
6595         (gst_multi_queue_get_internal_links), (apply_buffer),
6596         (single_queue_overrun_cb), (gst_single_queue_new):
6597         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
6598         the pipeline layout can be tracked correctly. Fixes #453732.
6599
6600 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
6601
6602         * docs/gst/Makefile.am:
6603         * docs/libs/Makefile.am:
6604         * docs/plugins/Makefile.am:
6605           Simplify --extra-dir as gtkdoc scans recursively.
6606
6607 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
6608
6609         * tools/gst-launch.c: (main):
6610         When we got an error, there is no point in waiting for preroll when
6611         shutting down.
6612
6613 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
6614
6615         * plugins/elements/gsttee.c: (gst_tee_base_init),
6616         (gst_tee_request_new_pad), (gst_tee_release_pad),
6617         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
6618         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
6619         (gst_tee_chain):
6620         Be a lot smarter when deciding what srcpad to use for proxying
6621         the buffer_alloc. Also handle pad added/removed when doing so.
6622         Fixes #357959.
6623         Keep track of what pads we already pushed on in case we have pads
6624         added/removed while pushing. Fixes #374639 
6625
6626         * tests/check/Makefile.am:
6627         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
6628         (tee_suite):
6629         Added unit test for pad resync.
6630
6631 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6632
6633         * po/nl.po:
6634         * po/sv.po:
6635           Updated translations.
6636
6637 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6638
6639         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
6640
6641         * po/LINGUAS:
6642         * po/fi.po:
6643           Added new Finnish translation.
6644
6645 2007-06-28  Wim Taymans  <wim@fluendo.com>
6646
6647         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6648         (single_queue_overrun_cb):
6649         When figuring out when a queue is filled, use our internal time estimate
6650         based on segments, just like check_full does.
6651
6652 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
6653
6654         * gst/gstminiobject.c: (gst_mini_object_get_type):
6655           Remove 3 do-nothing methods.
6656
6657 2007-06-27  Wim Taymans  <wim@fluendo.com>
6658
6659         Patch by: Tim Angus <tim at ngus dot net>
6660
6661         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6662         (gst_capsfilter_set_property):
6663         Take a reference instead of a copy when setting "caps".
6664         Fix documentation to clarify this behaviour. Fixes #449414.
6665
6666 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
6667
6668         * gst/gstindexfactory.c: (gst_index_factory_get_type):
6669         * gst/gstplugin.c: (gst_plugin_init):
6670         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
6671         * gst/gstquery.c: (gst_query_get_type):
6672         * gst/gstregistry.c: (gst_registry_init):
6673         * gst/gsturi.c: (gst_uri_handler_base_init):
6674           Remove empty instance_init() functions to save relocs and lessen the
6675           noise. Remove some of the function prototypes that are doubled by
6676           G_DEFINE_TYPE.
6677           
6678 2007-06-27  Wim Taymans  <wim@fluendo.com>
6679
6680         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
6681
6682         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
6683         Add peer and direction in the XML serialisation of ghostpads.
6684         Fixes #449226.
6685
6686 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
6687
6688         * configure.ac:
6689           Preserve useful information, thanks Tim.
6690
6691 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
6692
6693         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
6694         (gst_single_queue_flush), (apply_segment), (apply_buffer),
6695         (gst_single_queue_push_one), (gst_multi_queue_loop),
6696         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
6697         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
6698         (compute_high_id), (gst_single_queue_new):
6699         * plugins/elements/gstmultiqueue.h:
6700         Take the multiqueue lock when updating the fill level so we don't get
6701         confused. 
6702
6703         After applying a buffer or event on the src pad segment, make sure to
6704         call gst_data_queue_limits_changed() to get the data queue to unblock
6705         and check the filled state again.
6706         
6707         Rework the not-linked pad handling so the logic is that not-linked 
6708         pads can push as fast as they like, but only so they never get 
6709         ahead of any linked pads.
6710
6711         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
6712         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
6713         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
6714
6715         Add a test to check that not-linked pads always stay behind
6716         linked pads.
6717
6718         Fixes: #430682
6719
6720 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
6721
6722         * docs/random/release:
6723           Some updates to the release procedure.
6724
6725 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
6726
6727         * gst/gstelementfactory.c: (__gst_element_details_clear):
6728           Microoptimization that saves stunning 80 bytes.
6729
6730 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
6731
6732         * docs/plugins/gstreamer-plugins.args:
6733         * docs/plugins/inspect/plugin-coreelements.xml:
6734         * docs/plugins/inspect/plugin-coreindexers.xml:
6735           Update docs with caps info.
6736
6737 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6738
6739         * po/it.po:
6740           Updated Italian translation.
6741
6742 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6743
6744         * ChangeLog:
6745         * po/vi.po:
6746           Update Vietnamese translations.
6747
6748 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6749
6750         * libs/gst/base/gstbasesink.c:
6751           Remove unused signal enum.
6752
6753 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
6754
6755         * docs/gst/gstreamer-sections.txt:
6756         * gst/gstelement.c:
6757         * gst/gstutils.c: (gst_type_register_static_full):
6758         Beef up and include the docs for gst_type_register_static_full and
6759         gst_element_class_set_details_simple and add the API keyword
6760         in the ChangeLog.
6761
6762 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
6763
6764         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6765         (update_time_level), (gst_single_queue_push_one),
6766         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
6767         (single_queue_overrun_cb), (single_queue_underrun_cb),
6768         (single_queue_check_full):
6769         Fix setting max-* properties after adding queues.
6770         Use IS_FILLED for checking visible items.
6771         Signal overrun if multiple queues overrun.
6772         Add extra debug output.
6773         Patch by: Wim Taymans <wim@fluendo.com>
6774
6775 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
6776
6777         * gst/gstelement.c: (gst_element_class_set_details_simple):
6778         * gst/gstelement.h:
6779         * gst/gstutils.c: (gst_type_register_static_full):
6780         * gst/gstutils.h:
6781         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
6782         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
6783         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
6784         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
6785         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
6786         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
6787         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
6788         * plugins/elements/gstidentity.c: (gst_identity_base_init):
6789         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
6790         * plugins/elements/gstqueue.c: (gst_queue_base_init),
6791         (apply_buffer), (gst_queue_chain):
6792         * plugins/elements/gsttee.c: (gst_tee_base_init):
6793         * plugins/elements/gsttypefindelement.c:
6794         (gst_type_find_element_base_init),
6795         (gst_type_find_element_class_init):
6796           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
6797           API: add gst_type_register_static_full
6798           API: add gst_element_class_set_details_simple
6799
6800 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6801
6802         * docs/pwg/advanced-types.xml:
6803           Fix typo in iana.org URI.
6804
6805 2007-06-19  Andy Wingo  <wingo@pobox.com>
6806
6807         * tests/check/pipelines/simple-launch-lines.c
6808         (test_state_change_returns): Enable pull-mode tests now that
6809         basesink has been fixed.
6810
6811         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
6812         Changed from gst_base_sink_is_prerolled, reversing the sense of
6813         the return value. Returns FALSE also if the sink is in pull mode,
6814         in which case it needs no preroll.
6815         (gst_base_sink_query, gst_base_sink_change_state): Update for
6816         needs_preroll change.
6817         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
6818         chaining up, in which we return SUCCESS directly if we activated
6819         in pull mode instead of ASYNC. Involves countering an async_start
6820         message sent before chaining up; not sure if this is correct, in
6821         an ideal world we only send async-start when activating in push
6822         mode.
6823
6824         * tests/check/pipelines/simple-launch-lines.c
6825         (test_state_change_returns): New test, partially disabled until
6826         basesink is fixed.
6827
6828 2007-06-19  Wim Taymans  <wim@fluendo.com>
6829
6830         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6831         (gst_multi_queue_sink_event):
6832         Fix event leak.
6833
6834 2007-06-19  Wim Taymans  <wim@fluendo.com>
6835
6836         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6837         (gst_bin_change_state_func), (bin_push_state_continue),
6838         (bin_handle_async_start), (bin_handle_async_done),
6839         (gst_bin_handle_message_func):
6840         Move the common code for posting state-change messages into
6841         one function.
6842         Broadcast the state signal after we posted the messages.
6843         Mark the bin as busy when it's doing a state-change.
6844         Make sure async-start/done messages don't interfere with the bin's
6845         state when it's busy.
6846         After the state change, let the bin check which elements completed the
6847         state change while it was busy so that it can update its state.
6848
6849 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
6850
6851         * docs/random/release:
6852         Add a note about updating the doap file to the release checklist
6853
6854 2007-06-18  Wim Taymans  <wim@fluendo.com>
6855
6856         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6857         (gst_single_queue_push_one), (gst_multi_queue_chain),
6858         (gst_multi_queue_sink_event):
6859         Make sure we don't reference the buffer/event after we have given away
6860         ownership in the queue.
6861
6862 2007-06-18  Wim Taymans  <wim@fluendo.com>
6863
6864         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
6865         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
6866         Update queue state _after_ adding the item in the queue because else we
6867         could end up being full without the element added yet.
6868
6869 2007-06-18  Wim Taymans  <wim@fluendo.com>
6870
6871         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6872         (gst_bin_remove_func), (gst_bin_get_state_func),
6873         (gst_bin_element_set_state), (gst_bin_continue_func),
6874         (bin_push_state_continue), (bin_handle_async_start),
6875         (bin_handle_async_done), (gst_bin_handle_message_func):
6876         * gst/gstbin.h:
6877         Immediatly commit the toplevel bin state when receiving an async-done
6878         message. This enables us to avoid spawning a thread to commit the state
6879         in some common cases and it also avoids some races.
6880         Avoid spawning a state thread when adding/removing async elements to a
6881         toplevel bin. Instead we immediatly update the bin state.
6882         Get rid of iterating all the children when getting the state in the bin
6883         because it is now always up-to-date.
6884         Fix bug where locked elements would always return _SUCCESS even it they
6885         returned NO_PREROLL before being locked.
6886         Fix the order of the state_change, async-start/done messages that was
6887         sometimes incorrect.
6888         Mark the state_dirty field as deprecated, we don't need it anymore as we
6889         are always up-to-date.
6890
6891         * gst/gstelement.c: (gst_element_get_state_func),
6892         (gst_element_continue_state):
6893         Small debug inprovements.
6894         Return the previous element state return when nothing is pending instead
6895         of blindly returning SUCCESS.
6896
6897         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
6898         (gst_sinks_suite):
6899         Add a whole bunch of new testcases.
6900
6901 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6902
6903         * po/uk.po:
6904         * po/vi.po:
6905           Update translations.
6906
6907 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
6908
6909         * gst/gstpad.c:
6910         Fix typo in the docs.
6911
6912 2007-06-15  Wim Taymans  <wim@fluendo.com>
6913
6914         * docs/libs/gstreamer-libs-sections.txt:
6915         Add docs for new methods.
6916
6917 2007-06-15  Wim Taymans  <wim@fluendo.com>
6918
6919         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
6920         (gst_multi_queue_item_new):
6921         Don't use GSlice because we don't depend on >= 2.10 yet.
6922
6923 2007-06-15  Wim Taymans  <wim@fluendo.com>
6924
6925         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
6926         (update_time_level), (apply_segment), (apply_buffer),
6927         (gst_single_queue_push_one), (gst_multi_queue_item_new),
6928         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
6929         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
6930         (single_queue_underrun_cb), (single_queue_check_full):
6931         Remove debug printf.
6932
6933 2007-06-15  Wim Taymans  <wim@fluendo.com>
6934
6935         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
6936         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
6937         (gst_data_queue_set_flushing), (gst_data_queue_push),
6938         (gst_data_queue_pop), (gst_data_queue_drop_head),
6939         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
6940         * libs/gst/base/gstdataqueue.h:
6941         Various cleanups.
6942         Added methods to get the current levels and to inform the queue that the
6943         'full' limits changed.
6944
6945         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
6946         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
6947         (gst_single_queue_flush), (update_time_level), (apply_segment),
6948         (apply_buffer), (gst_single_queue_push_one),
6949         (gst_multi_queue_item_steal_object),
6950         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
6951         (gst_multi_queue_loop), (gst_multi_queue_chain),
6952         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
6953         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
6954         (gst_multi_queue_src_query), (single_queue_overrun_cb),
6955         (single_queue_underrun_cb), (single_queue_check_full),
6956         (gst_single_queue_new):
6957         Keep track of time in the queue by measuring the difference between
6958         running_time on input and output. This gives more accurate results and
6959         can compensate for segments correctly.
6960         Make a queue by default only 5 buffers deep. We will now increase the
6961         buffer size depending on the filledness of the other queues.
6962         Factor out commong flush code.
6963         Make sure we don't add additional refcounts to buffers when we can avoid
6964         it.
6965         Propagate GstFlowReturn differently.
6966         Use GSlice for intermediate GstMultiQueueItems.
6967         Keep track of EOS.
6968         Resize queues on over and underruns based on filled level of other
6969         queues.
6970         When checking if the queue is filled, prefer to measure in time if we
6971         can and fall back to bytes when no time is known.
6972
6973         * plugins/elements/gstqueue.c:
6974         Fix return value.
6975
6976 2007-06-15  Wim Taymans  <wim@fluendo.com>
6977
6978         * libs/gst/base/gstbasetransform.c:
6979         (gst_base_transform_sink_event):
6980         Work around the brokenness of the event vmethod in basetransform. Prefer
6981         to return TRUE when the subclass returned FALSE (meaning don't forward
6982         the event). 
6983
6984         * libs/gst/base/gstbasetransform.h:
6985         Clarify the docs.
6986
6987 2007-06-15  Wim Taymans  <wim@fluendo.com>
6988
6989         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
6990         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6991         (gst_base_src_default_query), (gst_base_src_get_range),
6992         (gst_base_src_start):
6993         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
6994         Improve debugging.
6995
6996 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
6997
6998         * docs/pwg/advanced-types.xml:
6999           Added more formats to caps table.
7000
7001 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
7002
7003         * tools/gst-launch.c: (main):
7004           Remove crufy code. GOption does not need this workaround.
7005
7006 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7007
7008         * libs/gst/controller/gstcontroller.c:
7009         (gst_controlled_property_set_interpolation_mode):
7010           Fix wrong getter for enums in controller.
7011
7012 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7013
7014         * libs/gst/check/gstcheck.c: (gst_check_init):
7015           Intercept criticals and warnings in the Gst-Phonon log domain, so
7016           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
7017           well.
7018         
7019 2007-06-14  Edward Hervey  <edward@fluendo.com>
7020
7021         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
7022         Since this file doesn't include "gst.h" it will not go through the
7023         macros that disable GST_LOG if debugging was disabled.
7024
7025 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7026
7027         * libs/gst/check/Makefile.am:
7028         * libs/gst/check/gstcheck.h:
7029         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7030         * pkgconfig/gstreamer-check.pc.in:
7031           Ugly 'fix' for the controller unit test on the p5 bot: in
7032           fail_unless_equals_float() check whether the values are 'almost
7033           equal' by allowing a small absolute error, which should be good
7034           enough for our use cases (normal numbers and values close to 0).
7035           Proper fixage left to floating point arithmetic aficionados.
7036
7037 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7038
7039         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
7040         (gst_base_sink_render_object), (gst_base_sink_get_position):
7041           Add two breaks thats where missing.
7042
7043 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7044
7045         * docs/libs/gstreamer-libs-sections.txt:
7046         * libs/gst/check/gstcheck.h:
7047           API: add fail_unless_equals_float() and assert_equals_float().
7048           Add documentation for some of the macros.
7049
7050         * tests/check/libs/controller.c: (GST_START_TEST):
7051           Use newly-added asserts.
7052
7053 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7054
7055         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
7056           Show the caps change in the log to help spotting the case of not
7057           exactly matching caps.
7058
7059 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7060
7061         * docs/pwg/building-boiler.xml:
7062           Fix typos, spotted by Thijs Vermeir (#447190).
7063
7064 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7065
7066         * docs/plugins/tmpl/.cvsignore:
7067         Ignore file to keep the buildbots happy
7068
7069 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7070
7071         * docs/plugins/Makefile.am:
7072         * docs/plugins/gstreamer-plugins-docs.sgml:
7073         * docs/plugins/gstreamer-plugins-sections.txt:
7074         Pull fdsink into the docs too.
7075
7076 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
7077
7078         * libs/gst/controller/gstinterpolation.c:
7079         Actually use the new functions with min/max checks for the trigger and
7080         none interpolation modes for get() and get_value_array() instead of
7081         just the latter.
7082
7083 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
7084
7085         * libs/gst/controller/gstcontroller.c:
7086         (gst_controlled_property_free):
7087         Unset the minimum and maximum GValues when freeing the corresponding
7088         GstControllerProperty struct.
7089
7090 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
7091
7092         * libs/gst/controller/gstcontroller.c:
7093         (gst_controlled_property_new):
7094         * libs/gst/controller/gstcontrollerprivate.h:
7095         * libs/gst/controller/gstinterpolation.c:
7096         (gst_controlled_property_find_control_point_node),
7097         (interpolate_none_get), (interpolate_none_get_enum_value_array),
7098         (interpolate_none_get_string_value_array),
7099         (interpolate_trigger_get),
7100         (interpolate_trigger_get_enum_value_array),
7101         (interpolate_trigger_get_string_value_array):
7102         Protect against values larger or smaller than the minimum or maximum
7103         allowed value for the property when using values that can be compared.
7104
7105         Optimize trigger interpolator a bit by taking the last requested value
7106         into account instead of always looping through the complete list.
7107
7108         Fix coding style a bit, everywhere else we use "return foo" instead
7109         of "return (foo)".
7110         
7111         * tests/check/libs/controller.c: (GST_START_TEST),
7112         (gst_controller_suite):
7113         Add unit test for the protection against too large or too small
7114         values.
7115
7116 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
7117
7118         * docs/random/slomo/controller.txt:
7119         Add some thoughts about the future of the controller.
7120
7121 2007-06-08  Wim Taymans  <wim@fluendo.com>
7122
7123         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7124         Don't overflow in retimestamping code.
7125
7126 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
7127
7128         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
7129         Use gst_util_guint64_to_gdouble for conversions.
7130         * win32/common/libgstreamer.def:
7131         Add new exported functions.
7132
7133 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
7134
7135         * gst/gstutils.c:
7136           Small docs addition.
7137
7138 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7139
7140         * README:
7141           Remove that test line again.
7142
7143 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7144
7145         * README:
7146           Test commit mail sending.
7147
7148 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7149
7150         * configure.ac:
7151           Fix typo and test commit mail sending.
7152
7153 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7154
7155         * tests/examples/controller/audio-example.c:
7156           Improve comment and test commit mail sending.
7157
7158 2007-06-07  Wim Taymans  <wim@fluendo.com>
7159
7160         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
7161         (gst_bin_remove_func), (gst_bin_element_set_state),
7162         (bin_handle_async_start), (bin_handle_async_done),
7163         (gst_bin_handle_message_func):
7164         Add helper function to find messages.
7165         Generate the async-done messages together with the state change
7166         messages.
7167         Small cleanups in handling toplevel bins.
7168
7169 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
7170
7171         * libs/gst/base/gstdataqueue.c:
7172         * libs/gst/base/gstdataqueue.h:
7173         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
7174         (gst_multi_queue_item_new), (gst_multi_queue_chain),
7175         (gst_multi_queue_sink_event):
7176         * tests/check/elements/multiqueue.c: (multiqueue_suite):
7177           Fix multiqueue leaking buffers and events when downstream or the
7178           queue are flushing. Make refcounting assumptions explicit and
7179           document them (shouldn't break existing code that uses it other than
7180           maybe leak miniobjects, but that already happens anyway). Add unit
7181           test for the most common flushing case. Fixes #423700.
7182           
7183 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
7184
7185         * libs/gst/controller/gstcontroller.c:
7186         Clarify docs: The get_all, get_value_array(s) functions
7187         don't modify the GObject properties.
7188
7189 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
7190
7191         * libs/gst/controller/gstcontroller.c:
7192         (gst_controlled_property_set_interpolation_mode),
7193         (gst_controlled_property_prepend_default),
7194         (gst_controlled_property_new), (gst_controller_set_unlocked),
7195         (gst_controller_set), (gst_controller_set_from_list),
7196         (gst_controller_unset), (gst_controller_unset_all):
7197         * libs/gst/controller/gstcontrollerprivate.h:
7198         * libs/gst/controller/gstinterpolation.c:
7199         Factor out the 'set' logic into gst_controller_set_unlocked for the
7200         gst_controller_set and gst_controller_set_from_list functions.
7201
7202         To make life of the interpolators easier always add a control point
7203         at timestamp zero with the default value.
7204
7205         In the linear interpolator make things more obvious by better variable
7206         naming (slope).
7207
7208         Implement cubic interpolation mode (by using a natural cubic spline)
7209         and map the quadratic interpolation mode to this too (as quadratic
7210         doesn't make much sense, see discussion on the list).
7211
7212         * tests/check/libs/controller.c: (GST_START_TEST),
7213         (gst_controller_suite):
7214         Add unit test for the cubic interpolation mode and check everywhere
7215         if the interpolation mode could be set as expected.
7216
7217 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
7218
7219         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
7220           Don't use GLib-2.10 functions, we still depend on
7221           GLib-how-old-is-it-again-2.8.
7222
7223 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
7224
7225         * docs/gst/gstreamer-sections.txt:
7226         * gst/Makefile.am:
7227         * gst/gst.c:
7228         * gst/gst.h:
7229         * gst/gstparamspecs.c: (_gst_param_fraction_init),
7230         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
7231         (_gst_param_fraction_values_cmp),
7232         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
7233         * gst/gstparamspecs.h:
7234         * gst/gstvalue.c:
7235         * tests/check/Makefile.am:
7236         * tests/check/gst/.cvsignore:
7237         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
7238         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
7239         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
7240         (GST_START_TEST), (gst_param_spec_suite):
7241           API: add GstParamSpecFraction, so elements can have fraction
7242           properties without lots of painful string parsing (#444648).
7243
7244 2007-06-05  Wim Taymans  <wim@fluendo.com>
7245
7246         * gst/gstobject.c: (gst_object_class_init):
7247         Fix signal signature.
7248
7249         * gst/gstsegment.c:
7250         Add small clarification in the api docs.
7251
7252         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
7253         States are protected with object lock.
7254
7255 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
7256
7257         * AUTHORS:
7258         I should probably be listed as an author by now.
7259
7260         * docs/random/release:
7261         Update the release doc
7262
7263 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
7264
7265         * gst/gstvalue.c:
7266           Make docs for gst_value_compare() mention return enums that
7267           actually exist.
7268
7269 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
7270
7271         * configure.ac:
7272           Back to CVS
7273
7274 === release 0.10.13 ===
7275
7276 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
7277
7278         * configure.ac:
7279           releasing 0.10.13, "With or without you"
7280
7281 2007-05-25  Wim Taymans  <wim@fluendo.com>
7282
7283         * gst/gstbin.c: (bin_handle_async_done):
7284         Make sure that the child bin stops after completing the async state
7285         change so that the parent can continue the state change to PLAYING.
7286         Fixes #441159.
7287
7288 2007-05-25  Wim Taymans  <wim@fluendo.com>
7289
7290         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7291         (unref_data), (gst_collect_pads_remove_pad),
7292         (gst_collect_pads_check_pads):
7293         Use additional refcounting to avoid crashes when dynamically adding and
7294         removing pads. Fixes #420206.
7295
7296 2007-05-24  Wim Taymans  <wim@fluendo.com>
7297
7298         * tools/gst-launch.c: (event_loop):
7299         When buffering goes from a two digit to a single digit number, make sure
7300         to remove the old second digit by writing a blank over it.
7301
7302 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
7303
7304         * libs/gst/base/gstdataqueue.c:
7305           Eliminate tabs and trailing comma in enum list; fix some typos.
7306
7307 2007-05-24  Wim Taymans  <wim@fluendo.com>
7308
7309         * tests/check/gst/gstbin.c: (GST_START_TEST):
7310         Allow refcount of 3 and 4 because some state thread might still be busy
7311         with it.
7312
7313 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
7314
7315         * plugins/elements/Makefile.am:
7316         * plugins/elements/gstmultiqueue.h:
7317         * plugins/elements/gstqueue.h:
7318           These are not installed headers, no need for padding.
7319
7320 2007-05-24  Wim Taymans  <wim@fluendo.com>
7321
7322         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7323         (gst_bin_continue_func):
7324         Enable latency for next release.
7325         Restore STATE_LOCK around recalc_state that was left out during the
7326         rewrite and could result in racy behaviour when _get_state and
7327         recalc_state are run concurrently. See #440463.
7328
7329 2007-05-23  Wim Taymans  <wim@fluendo.com>
7330
7331         * tests/check/gst/gstsystemclock.c: (store_callback),
7332         (GST_START_TEST):
7333         Improve test_async_order to also work when both timers are already
7334         expired when we get scheduled to check it.
7335
7336 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
7337
7338         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
7339         (gst_bin_set_property), (gst_bin_get_property),
7340         (gst_bin_remove_func), (gst_bin_handle_message_func):
7341         * gst/gstbin.h:
7342           'private' is a c++ keyword, let's not use that in header files,
7343           otherwise c++ compilers will throw a tantrum.
7344
7345 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
7346
7347         * plugins/elements/gstelements.c:
7348         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
7349         (gst_file_sink_get_current_offset):
7350         * plugins/indexers/gstindexers.c: (plugin_init):
7351           Use #ifdef for HAVE_XYZ for consistency.
7352
7353         * tests/check/Makefile.am:
7354         * tests/check/elements/.cvsignore:
7355         * tests/check/elements/filesink.c: (setup_filesink),
7356         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
7357           Add some unit tests for filesink.
7358
7359 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
7360
7361         Patch by: Mark Nauwelaerts <manauw at skynet be>
7362
7363         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
7364         (gst_file_sink_query), (gst_file_sink_do_seek),
7365         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7366         * plugins/elements/gstfilesink.h:
7367           Fix position reporting; rename data_written member to current_pos to
7368           reflect its real meaning (fixes #412648).
7369
7370 2007-05-22  Edward Hervey  <edward@fluendo.com>
7371
7372         * docs/gst/gstreamer-sections.txt:
7373         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7374         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
7375         (gst_bin_remove_func), (gst_bin_handle_message_func):
7376         * gst/gstbin.h:
7377         Add a property for bins that handle the state change of their childs.
7378         Fixes #435880
7379
7380 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
7381
7382         * libs/gst/controller/gstinterpolation.c:
7383         Use an array of the correct type when using _get_value_array with
7384         linear interpolation.
7385
7386 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
7387
7388         * gst/gstelement.c (gst_element_requires_clock,
7389           gst_element_provides_clock, gst_element_request_pad,
7390           gst_element_class_set_details, gst_element_class_set_details_simple,
7391           gst_element_default_send_event, gst_element_abort_state,
7392           gst_element_continue_state, gst_element_set_state,
7393           gst_element_set_state_func, iterator_activate_fold_with_resync):
7394         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
7395           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
7396           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
7397           gst_pad_get_range, gst_pad_pull_range):
7398         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
7399           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
7400           GstPadActivateModeFunction, GstPadChainFunction,
7401           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
7402           GstPadFixateCapsFunction, GstPadTemplate):
7403         * gst/gstpipeline.c (gst_pipeline_change_state,
7404           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
7405           gst_pipeline_set_clock, gst_pipeline_auto_clock,
7406           gst_pipeline_get_delay):
7407           Whitespace and docs fixes.
7408
7409 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
7410
7411         * libs/gst/controller/gstinterpolation.c:
7412         (interpolate_trigger_get_enum_value_array),
7413         (interpolate_trigger_get_string_value_array):
7414         Add support for retrieving value arrays when using the trigger
7415         interpolation mode. 
7416
7417 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
7418
7419         * libs/gst/controller/gstcontroller.c:
7420         (gst_controller_get_value_array):
7421         * libs/gst/controller/gstcontroller.h:
7422         Clarify the docs of gst_controller_get_value_array(): The array where
7423         the values should be written to must be allocated as there seems to be
7424         no way to get the size of a random GType. This doesn't change any
7425         behaviour. Also fix some typos all over the place and remove an unused,
7426         commented function that is not necessary as g_object_set() could be
7427         used instead.
7428         * tests/check/libs/controller.c: (GST_START_TEST),
7429         (gst_controller_suite):
7430         Add unit test for gst_controller_get_value_array().
7431
7432 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
7433
7434         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7435
7436         Disable part of the gst_buffer_try_new_and_alloc test, because
7437         it can happily succeed on 64-bit systems where there's more address
7438         space available.
7439
7440 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
7441
7442         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
7443         Add unit test for the improved caps checking from bug #421543.
7444
7445 2007-05-21  Wim Taymans  <wim@fluendo.com>
7446
7447         * docs/design/part-synchronisation.txt:
7448         Small addition.
7449
7450         * gst/gstbin.c: (gst_bin_query):
7451         * plugins/elements/gstqueue.c: (apply_segment):
7452         Improve debugging.
7453
7454         * gst/gstmessage.h:
7455         Improve docs.
7456
7457 2007-05-21  Wim Taymans  <wim@fluendo.com>
7458
7459         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
7460         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
7461         (gst_pad_configure_src):
7462         Added simple version of improved caps checking. It was previously
7463         assumed that a setcaps function would check the validity of the caps but
7464         people prefer us to check caps against the template automatically. 
7465         Fixes #421543.
7466
7467 2007-05-21  Wim Taymans  <wim@fluendo.com>
7468
7469         * libs/gst/base/gstbasetransform.h:
7470         Fix macro for locking/unlocking the transform lock.
7471
7472 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
7473
7474         * docs/plugins/tmpl/.cvsignore:
7475           Ignore more.
7476
7477 2007-05-18  Edward Hervey  <edward@fluendo.com>
7478
7479         * plugins/elements/gstqueue.c: (gst_queue_loop):
7480         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
7481         for the subtle art of warning a potentially blocking thread that it
7482         should check the source pad return value, and relay the information
7483         upstream.
7484
7485 2007-05-18  Edward Hervey  <edward@fluendo.com>
7486
7487         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7488         Release the queue lock !
7489
7490 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7491
7492         * docs/libs/gstreamer-libs-sections.txt:
7493         Add the two new controller functions to the appropiate places.
7494
7495 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7496
7497         reviewed by: Stefan Kost <ensonic@users.sf.net>
7498
7499         * libs/gst/controller/gstcontroller.c:
7500         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
7501         (_gst_controller_get_property), (_gst_controller_set_property),
7502         (_gst_controller_init), (_gst_controller_class_init):
7503         * libs/gst/controller/gstcontroller.h:
7504         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
7505         (gst_object_get_control_rate), (gst_object_set_control_rate):
7506         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
7507         Add API that provides sync suggestion timestamps for elements that
7508         call gst_object_sync_values() from which those elements can subdivide
7509         their processing loop to get the best results for the controlled
7510         properties. For now it just suggests last_sync + control_rate as
7511         new timestamp but this will be improved in the future.
7512
7513         While doing that change the control-rate property to a GstClockTime
7514         from guint and change it's meaning from samples to nanoseconds as
7515         the GstController doesn't know anything about sampling rate. Strictly
7516         speaking this breaks ABI but as the control-rate property didn't do
7517         anything in the past and as such couldn't be used this should be no
7518         problem.        
7519
7520 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7521
7522         reviewed by: Stefan Kost <ensonic@users.sf.net>
7523
7524         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7525         (gst_controller_unset_all):
7526         * libs/gst/controller/gstcontrollerprivate.h:
7527         * libs/gst/controller/gstinterpolation.c:
7528         (gst_controlled_property_find_control_point_node):
7529         Save last synced value from the list to continue searching from there
7530         in future syncs. This speeds everything up a bit.
7531         
7532 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7533
7534         reviewed by: Stefan Kost <ensonic@users.sf.net>
7535
7536         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
7537         (gst_control_point_find), (gst_controlled_property_new),
7538         (gst_control_point_free), (gst_controlled_property_free),
7539         (gst_controller_set), (gst_controller_set_from_list),
7540         (gst_controller_unset), (gst_controller_unset_all),
7541         (gst_controller_sync_values):
7542         * libs/gst/controller/gstcontroller.h:
7543         * libs/gst/controller/gstcontrollerprivate.h:
7544         * libs/gst/controller/gstinterpolation.c:
7545         (gst_controlled_property_find_control_point_node),
7546         (interpolate_none_get), (interpolate_trigger_get):
7547         Add a new private GstControlPoint struct which "inherits" from
7548         GstTimedValue to allow different interpolators to store internal
7549         values next to each control point. From the outside everything is
7550         still a GstControlPoint so we don't loose binary compatibility.
7551         Also fixup all the GValue handling to not leak GValues or list nodes.
7552         * tests/check/libs/controller.c: (GST_START_TEST):
7553         Free the list nodes and GValues in the controller_misc test.
7554
7555 2007-05-17  Edward Hervey  <edward@fluendo.com>
7556
7557         * gst/gstsegment.c:
7558         Small doc fix.
7559
7560 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
7561
7562         * gst/gstplugin.c: (gst_plugin_load_file):
7563           If we fail to load a plugin because of unresolved symbols or missing
7564           libraries and spew a warning to stderr, we may just as well mention
7565           which plugin it was that failed to load.
7566
7567 2007-05-13  David Schleef  <ds@schleef.org>
7568
7569         * docs/Makefile.am: the gtk-doc makefile snippet correctly
7570           handles the case when ENABLE_GTK_DOC is false, and installs
7571           the prebuilt documentation.  So gtk-doc subdirs are 
7572           unconditionally enabled.  Fixes: #349099.
7573
7574 2007-05-13  David Schleef  <ds@schleef.org>
7575
7576         * gst/gstutils.h: Reword some documentation.
7577
7578 2007-05-12  David Schleef  <ds@schleef.org>
7579
7580         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
7581           do anything with the passed "module" parameter, so remove it.
7582           Allows removal of additional vestigal code.
7583
7584 2007-05-12  David Schleef  <ds@schleef.org>
7585
7586         * gst/gstplugin.c:
7587           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
7588           Switch to using g_stat() because it's more portable.
7589
7590 2007-05-12  David Schleef  <ds@schleef.org>
7591
7592         * gst/gst.c:
7593           Add GST_DISABLE_OPTION_PARSING, in order to disable option
7594           parsing for embedded systems.
7595         * gst/gstelementfactory.c:
7596           Allow gst_element_register() to be called with plugin==NULL.
7597           Did nobody notice that static elements were broken?
7598
7599 2007-05-12  Wim Taymans  <wim@fluendo.com>
7600
7601         * tools/gst-launch.c: (event_loop):
7602         Give more interesting info when buffering starts and stops.
7603         Fix case where buffering starts but we fail to update the buffering flag
7604         because the target state is not PLAYING.
7605
7606 2007-05-12  Wim Taymans  <wim@fluendo.com>
7607
7608         * plugins/elements/gstqueue.c: (gst_queue_init),
7609         (gst_queue_finalize), (update_time_level), (apply_segment),
7610         (apply_buffer), (gst_queue_locked_flush),
7611         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
7612         (gst_queue_handle_sink_event), (gst_queue_chain),
7613         (gst_queue_push_one), (gst_queue_loop):
7614         * plugins/elements/gstqueue.h:
7615         Refactor an cleanup queue a bit.
7616         Do better time level calculations that also work when the srcpad is not
7617         yet running.
7618         Remove some unneeded debug lines.
7619
7620         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
7621         Added testcase for time level measurement.
7622         Try to make some stuff more racefree.
7623
7624 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
7625
7626         * gst/gsturi.c: (gst_element_make_from_uri):
7627           Don't leak plugin feature.
7628
7629         * tests/check/Makefile.am:
7630         * tests/check/gst/.cvsignore:
7631         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
7632           Add brain-dead unit test.
7633
7634 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
7635
7636         Patch by: Jeroen Wouters <woutersj at gmail com>
7637
7638         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
7639           Treat protocol strings in a case-insensitive way (#437563).
7640
7641 2007-05-11  Michael Smith <msmith@fluendo.com>
7642
7643         * gst/gstplugin.c: (gst_plugin_load_file):
7644         * gst/gstregistry.c: (gst_registry_scan_path_level):
7645           Don't print a g_warning for any failure to load a shared object.
7646           Instead, push this down into gstplugin.c, and warn _only_ if we
7647           failed to open the module (i.e. failure to link).
7648           Avoids warnings on normal, working, non-plugin .so files.
7649
7650 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
7651
7652         * gst/gstplugin.c (gst_plugin_load_file):
7653         * gst/gstregistry.c (GST_CAT_DEFAULT,
7654           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
7655           Print a g_warning if there was an error when loading a plugins during
7656           registry scan. The shuld help beginners starting with gst-plugin
7657           template.
7658
7659 2007-05-10  Wim Taymans  <wim@fluendo.com>
7660
7661         * plugins/elements/gstqueue.c: (gst_queue_class_init),
7662         (update_time_level), (gst_queue_locked_flush),
7663         (gst_queue_handle_sink_event), (gst_queue_chain),
7664         (gst_queue_push_one), (gst_queue_loop):
7665         * plugins/elements/gstqueue.h:
7666         Be smarter when calculating the current amount of data in the queue by
7667         measuring the difference between start and end timestamps (in running
7668         time) inside the queue. Fixes #432876.
7669         API: GstQueue::pushing to notify elements that we are pushing data again
7670         since the running signal is rather broken for this purpose.
7671
7672 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
7673
7674         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
7675           gst_queue_base_init, gst_queue_init):
7676           use GST_BOILERPLATE
7677
7678 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
7679
7680         * win32/common/libgstreamer.def:
7681         Add new exported functions.
7682         * win32/vs6/grammar.dsp:
7683         Use grammar pre-generated files.
7684
7685 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7686
7687         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
7688
7689         * gst/Makefile.am:
7690         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
7691         * gst/gstparse.h:
7692         * gst/gstutils.c: (gst_parse_bin_from_description):
7693         * gst/gstutils.h:
7694           Maintain API and ABI when --disable-parse is used. Now that
7695           we have an appropriate error code, we can just return NULL and the
7696           appropriate error when gst_parse_launch() is used despite it having
7697           been disabled (#342564).
7698
7699         * tests/check/Makefile.am:
7700         * tests/check/pipelines/.cvsignore:
7701         * tests/check/pipelines/parse-disabled.c:
7702           Make sure these functions exist and return NULL plus a GError when
7703           --disable-parse is used.
7704
7705 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7706
7707         * tests/benchmarks/complexity.c: (main):
7708         * tests/benchmarks/mass-elements.c: (main):
7709           Set a good example and don't leak messages.
7710
7711 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
7712
7713         * docs/gst/Makefile.am:
7714         * docs/libs/Makefile.am:
7715           Correct fixxrefs options.
7716
7717         * docs/plugins/Makefile.am:
7718         * docs/plugins/gstreamer-plugins-docs.sgml:
7719         * docs/plugins/gstreamer-plugins-sections.txt:
7720         * plugins/elements/Makefile.am:
7721         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
7722         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
7723           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
7724           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
7725           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
7726           _GstCapsFilterClass, trans_class):
7727         * plugins/elements/gstelements.c (name, rank, type, _elements):
7728         * plugins/elements/gstidentity.c
7729           (gst_identity_check_imperfect_timestamp,
7730           gst_identity_check_imperfect_offset):
7731           Document capsfilter and add doc-blurb to identity.
7732
7733 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7734
7735         * libs/gst/controller/gstcontroller.c:
7736         (gst_controlled_property_set_interpolation_mode):
7737         * libs/gst/controller/gstinterpolation.c:
7738           Don't crash if someone tries to set an interpolation mode that
7739           is invalid or that isn't supported yet. Fixes #422295.
7740
7741         * tests/check/libs/controller.c: (GST_START_TEST),
7742         (gst_controller_suite):
7743           Add a test case for the above.
7744
7745 2007-05-03  Edward Hervey  <edward@fluendo.com>
7746
7747         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7748         Properly set the last_stop position on GstSegment. This will only happen
7749         if there is a buffer to push out.
7750
7751 2007-05-03  Wim Taymans  <wim@fluendo.com>
7752
7753         * libs/gst/base/gstbasetransform.c:
7754         (gst_base_transform_buffer_alloc):
7755         always_in_place does not mean that the sink and source caps are the
7756         same! Make sure we don't blindly proxy the buffer_alloc in this case.
7757
7758 2007-05-03  Wim Taymans  <wim@fluendo.com>
7759
7760         * docs/libs/gstreamer-libs-sections.txt:
7761         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7762         (gst_base_src_default_query), (gst_base_src_get_range):
7763         * libs/gst/base/gstbasesrc.h:
7764         API: gst_base_src_query_latency(). Added method so that subclasses can
7765         easily get the latency values of the base source class.
7766
7767 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
7768
7769         * tools/gst-inspect.c (print_implementation_info):
7770         Remove 0.8 cruft.
7771
7772 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
7773
7774         * tools/Makefile.am:
7775         * tools/gst-launch.1.in:
7776           Don't create a customised man page based on the host architecture,
7777           describe the default registry path generically. That way the man
7778           page is the same for all architectures and packagers have one
7779           multilib issue less to deal with. Fixes #434926.
7780
7781 2007-05-02  Wim Taymans  <wim@fluendo.com>
7782
7783         * gst/gstpad.c:
7784         Fix documentation as spotted by rg on IRC. 
7785
7786 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
7787
7788         * gst/gstutils.c:
7789           Improve docs for gst_element_{link,unlink}.
7790
7791 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
7792
7793         * docs/design/part-events.txt:
7794         * docs/design/part-overview.txt:
7795         * gst/gstevent.c:
7796         * gst/gsturi.c:
7797         * gst/gsturi.h:
7798         * libs/gst/base/gstbasesink.c:
7799           Typo fixes; minor docs addition.
7800
7801 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7802
7803         * docs/gst/gstreamer-sections.txt:
7804         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
7805         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
7806         * gst/gsturi.h:
7807         API: Add gst_uri_protocol_is_supported(), which checks if a sink
7808         or src that supports a given URI protocol exists.
7809
7810 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7811
7812         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7813         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7814         Set the location to NULL if "file://" is set as URI. Otherwise
7815         some random previous URI would still be set if "file://" is
7816         set on an already used filesink/filesrc.
7817
7818 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7819
7820         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7821         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7822         Special case the "file://" URI as as this is used by some
7823         applications to test with gst_element_make_from_uri if there's
7824         an element that supports the URI protocol.
7825         Also move the g_path_is_absolute() check for the location part
7826         of the URI to also check this for "file://localhost/bla" URIs.
7827
7828 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
7829
7830         * docs/gst/gstreamer-sections.txt:
7831         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
7832         * gst/gstbuffer.h:
7833         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
7834         (gst_buffer_suite):
7835           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
7836
7837 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
7838
7839         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
7840         (gst_registry_binary_load_pad_template),
7841         (gst_registry_binary_load_plugin),
7842         (gst_registry_binary_read_cache):
7843         * gst/gstregistrybinary.h:
7844           Implement no-mmap alternative for registry reading. Do code cleanups.
7845           Add more comments about avoiding strdups for all text data. Comments
7846           welcome.
7847
7848 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
7849
7850         * gst/gstregistrybinary.h (GstBinaryPluginElement,
7851           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
7852           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
7853           Comment structs and reformat to fix the build (that stuff should go
7854           into a priv. header).
7855
7856 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
7857
7858         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
7859         (gst_registry_binary_load_feature):
7860         * gst/gstregistrybinary.h:
7861           Refactor so that we can implement multiple features. Add support for
7862           TypeFindFactory features.
7863
7864 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
7865
7866         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
7867
7868         * configure.ac:
7869           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
7870
7871 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
7872
7873         * gst/gstbin.c: (gst_bin_element_set_state),
7874         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
7875         (bin_handle_async_done), (gst_bin_handle_message_func):
7876           Fix build with --gst-disable-gst-debug
7877
7878 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
7879
7880         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
7881           Make sure streaming has finished before calling the ::stop() vfunc,
7882           since that vfunc might clear state which is being used in the
7883           streaming thread. This fixes a race that caused crashes in
7884           audioresample when shutting down a pipeline (#420106).
7885
7886 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7887
7888         * docs/gst/gstreamer-sections.txt:
7889           That was one byte missing.
7890
7891 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7892
7893         * configure.ac:
7894         * docs/gst/gstreamer-sections.txt:
7895         * gst/Makefile.am:
7896         * gst/gstconfig.h.in:
7897         * gst/gstobject.c: (gst_object_class_init),
7898         (gst_signal_object_class_init):
7899         * gst/gstobject.h:
7900           2nd attempt to have a xml-less build as a joined effort of #413123
7901           and #421480.
7902
7903 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7904
7905         * docs/design/draft-tagreading.txt:
7906           Added open issues/thoughts to draft.
7907
7908 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7909
7910         * gst/parse/grammar.tab.pre.c:
7911         * gst/parse/grammar.tab.pre.h:
7912         * gst/parse/lex._gst_parse_yy.pre.c:
7913         Update the prebuild parser sources.
7914
7915 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7916
7917         * gst/parse/Makefile.am:
7918         And now fix the building of the flex sources. Now everything should
7919         work as expected.
7920
7921 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7922
7923         * gst/parse/Makefile.am:
7924         Now hopefully fix the build failures by setting proper rule
7925         dependencies and moving instead of copying.
7926
7927 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7928
7929         * tests/benchmarks/complexity.gnuplot:
7930         * tests/benchmarks/complexity.scm:
7931         * tests/benchmarks/mass-elements.gnuplot:
7932         * tests/benchmarks/mass-elements.scm:
7933           Total licensification.
7934
7935 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7936
7937         * gst/parse/Makefile.am:
7938           Fix the build by correcting the rule that gave wrong files to flex.
7939
7940 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7941
7942         * tests/benchmarks/complexity.c:
7943         * tests/benchmarks/mass-elements.c:
7944           Change licence to LGPL as granted by Benjamin and Andy.
7945
7946 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7947
7948         * gst/parse/Makefile.am:
7949         Add correct grammar.tab.h dependency if compiling without new enough
7950         flex. Fixes #431150.
7951
7952 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
7953
7954         * gst/parse/Makefile.am:
7955         Fix typo and use outdated sources if the flex/bison sources are newer
7956         than the pregenerated ones but flex is too old. Print a warning in
7957         that case. This should fix the build on the build bot.
7958
7959 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
7960
7961         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
7962         * gst/parse/Makefile.am:
7963         * gst/parse/grammar.y:
7964         * gst/parse/parse.l:
7965         Make the parser reentrant and recursively callable. This requires flex
7966         >= 2.5.31, for older versions pregenerated sources are used as we
7967         can't bump the build dependency. Finally fixes #349180.
7968
7969         * gst/gstparse.c: (gst_parse_launch):
7970         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
7971         now anyway.
7972
7973         * docs/gst/Makefile.am:
7974         * docs/gst/Makefile.am:
7975         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
7976         (__gst_parse_strfree), (__gst_parse_link_new),
7977         (__gst_parse_link_free), (__gst_parse_chain_new),
7978         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
7979         (gst_parse_element_set), (gst_parse_free_link),
7980         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
7981         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
7982         (_gst_parse_launch):
7983         * gst/parse/grammar.tab.pre.h:
7984         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
7985         (yy_get_previous_state), (yy_try_NUL_trans), (input),
7986         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
7987         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
7988         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
7989         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
7990         (_gst_parse_yypop_buffer_state),
7991         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
7992         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
7993         (yy_fatal_error), (_gst_parse_yyget_extra),
7994         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
7995         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
7996         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
7997         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
7998         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
7999         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
8000         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
8001         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
8002         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
8003         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
8004         (_gst_parse_yyfree):
8005         If the installed flex version is too old use pre-generated parser
8006         sources. These pre-generated parser sources are always updated when
8007         the actual flex/bison sources change but require everybody who wants
8008         to change something in the parser to have flex >= 2.5.31 installed.
8009
8010 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
8011
8012         * common/m4/gst-gettext.m4:
8013         * gst/gst-i18n-lib.h:
8014           Make --disable-nls to work
8015
8016 2007-04-17  Wim Taymans  <wim@fluendo.com>
8017
8018         * gst/gstconfig.h.in:
8019         Revert previous change that broke the build.
8020
8021 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
8022
8023         * configure.ac:
8024         * gst/Makefile.am:
8025         * gst/gstconfig.h.in:
8026           Drop libxml2 dependency when building with 
8027           --enable-binary-registry --disable-loadsave
8028
8029 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
8030
8031         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8032         (gst_registry_binary_read_cache):
8033         * gst/gstregistrybinary.h:
8034           Remove unnecessary <sys/mman.h> include which broke the win32 build
8035           with MingW; move includes from header file to .c file, even if the
8036           header file isn't installed; use g_strerror() where UTF-8 strings
8037           are expected, such as in GST_DEBUG messages.
8038
8039 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8040
8041         * docs/libs/gstreamer-libs-sections.txt:
8042         Remove bogus addition for API I didn't end up keeping.
8043
8044         * libs/gst/base/gstbasesrc.h:
8045         Mention Since: 0.10.13 in the documentation.
8046
8047         Add the API keyword to the previous ChangeLog entry.
8048
8049 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8050
8051         * docs/libs/gstreamer-libs-sections.txt:
8052         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8053         (gst_base_src_default_prepare_seek_segment),
8054         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
8055         * libs/gst/base/gstbasesrc.h:
8056         Allow basesrc derived classes to execute seeks in other formats
8057         by providing a prepare_seek_segment vmethod. Sub-classes can choose
8058         to prepare the GstSegment in any format that their perform_seek method
8059         will be able to understand. The default implementation provides the
8060         old behaviour of attempting to convert the seek offsets to the 
8061         configured native format.
8062
8063         API: basesrc::prepare_seek_segment vmethod.
8064
8065 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8066
8067         * gst/gstelement.c: (gst_element_get_state_func):
8068         Don't output the same debug statement twice.
8069
8070         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
8071         (gst_adapter_peek), (gst_adapter_take_buffer):
8072         Optimise the case where we have buffers at the head of the queue that
8073         can be joined quickly (because they're contiguous sub-buffers) by
8074         merging them together rather than copying data out into new memory.
8075
8076         * gst/parse/grammar.y:
8077         * tests/check/pipelines/parse-launch.c:
8078         Fix a leak in an error path for parse_launch, and add a check 
8079         for it to the testsuite.
8080
8081 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8082
8083         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8084           Don't deadlock when releasing a pad - gst_pad_set_active may try
8085           and take the multiqueue lock too.
8086
8087 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
8088
8089         * gst/gsterror.c: (_gst_core_errors_init):
8090         * gst/gsterror.h:
8091           API: add GST_CORE_ERROR_DISABLED (#392804).
8092
8093 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8094
8095         * docs/faq/gst-uninstalled:
8096           don't get empty paths on the PATH variables
8097         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
8098           Don't format for the uncommon terminal width of 84 characters.
8099
8100 2007-04-06  Wim Taymans  <wim@fluendo.com>
8101
8102         * gst/gstpipeline.c: (reset_stream_time),
8103         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
8104         Only try to select a different pipeline clock when we went back to
8105         PAUSED and not when we merely got flushed.
8106
8107 2007-04-05  Michael Smith  <msmith@fluendo.com>
8108
8109         * tools/gst-launch.1.in:
8110           fractions are better supported in gstreamer than ractions, so
8111           suggest using those.
8112
8113 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8114
8115         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
8116
8117         * po/LINGUAS:
8118         * po/da.po:
8119           Added Danish translation.
8120
8121 2007-04-05  Wim Taymans  <wim@fluendo.com>
8122
8123         * libs/gst/base/gstbasesink.c:
8124         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
8125         Fix leak caused when refusing newsegment after EOS.
8126
8127         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8128         (gst_fake_sink_init), (gst_fake_sink_set_property),
8129         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
8130         (gst_fake_sink_render), (gst_fake_sink_change_state):
8131         * plugins/elements/gstfakesink.h:
8132         Add num-buffers property to make the element generate EOS after a
8133         configurable amount of buffers.
8134         API: fakesink::num-buffers property.
8135
8136         * tests/check/elements/fakesink.c: (GST_START_TEST),
8137         (fakesink_suite):
8138         Fix GstBus leak in test.
8139         Test for fakesink num-buffers.
8140
8141 2007-04-05  Wim Taymans  <wim@fluendo.com>
8142
8143         * libs/gst/base/gstbasesink.c:
8144         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
8145         (gst_base_sink_change_state):
8146         Don't accept anything after an EOS, return UNEXPECTED instead.
8147
8148         * tests/check/elements/fakesink.c: (GST_START_TEST),
8149         (fakesink_suite):
8150         Unit test for new EOS behaviour.
8151
8152 2007-04-05  Wim Taymans  <wim@fluendo.com>
8153
8154         * gst/gstelement.c: (gst_element_get_request_pad):
8155         Make padtemplates also work when they don't contain %s or %d.
8156
8157 2007-04-05  Wim Taymans  <wim@fluendo.com>
8158
8159         * docs/gst/gstreamer-sections.txt:
8160         * gst/gstclock.c: (gst_clock_adjust_unlocked),
8161         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
8162         * gst/gstclock.h:
8163         Improve _adjust_unlocked() so that it overflows less.
8164         Add gst_clock_unadjust_unlocked to convert from external time to
8165         internal time based on calibration.
8166         Add some more debug.
8167         API: GstClock::gst_clock_unadjust_unlocked()
8168
8169 2007-04-03  Wim Taymans  <wim@fluendo.com>
8170
8171         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
8172
8173         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8174         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
8175         when releasing sink pad. Fixes #425400.
8176
8177 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
8178
8179         * docs/random/ensonic/dynlink.txt:
8180           More work on proposal for new core api.
8181
8182         * docs/libs/gstreamer-libs-sections.txt:
8183         * libs/gst/base/gstbasetransform.h:
8184           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
8185           
8186         * libs/gst/controller/gstcontroller.c:
8187         (on_object_controlled_property_changed),
8188         (gst_controller_sync_values),
8189         (gst_controller_set_interpolation_mode):
8190         * libs/gst/controller/gstcontroller.h:
8191           Less verbose logging add docs for unimplemented parts and correctly
8192           return when using unavailable parts.
8193
8194 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
8195
8196         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
8197         Move all the debug to the CLOCK category, and associate it with
8198         the clock object.
8199
8200 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
8201
8202         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
8203         Make take_buffer a bit quicker by removing redundant checks
8204         caused by calling gst_adapter_take.
8205
8206 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
8207
8208         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
8209           Don't leak GCond.
8210
8211         * tests/check/Makefile.am:
8212         * tests/check/elements/.cvsignore:
8213         * tests/check/elements/multiqueue.c: (setup_multiqueue),
8214         (GST_START_TEST), (multiqueue_suite):
8215           Add some dead simple unit tests for the 'multiqueue' element
8216           (some bits don't work yet and are disabled for now).
8217
8218 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
8219
8220         * gst/gstelement.c: (gst_element_get_request_pad),
8221         (gst_element_class_get_request_pad_template):
8222           Make gst_element_get_request_pad() create request pads only for
8223           request pad templates and not for, say, sometimes pad templates.
8224
8225 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
8226
8227         * docs/design/draft-klass.txt:
8228           Add example that needs more thinking.
8229         
8230         * docs/design/draft-missing-plugins.txt:
8231           More thoughts about wrapper plugins.
8232         
8233         * docs/random/ensonic/embedded.txt:
8234         * docs/random/ensonic/profiling.txt:
8235           More design work.
8236
8237 2007-03-25  Wim Taymans  <wim@fluendo.com>
8238
8239         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
8240         (gst_base_src_loop):
8241         Only push the segment events in the PLAYING state for live sources.
8242
8243 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
8244
8245         * gst/gstpipeline.c: (gst_pipeline_change_state):
8246         Modify the clock distribution path in PAUSED->PLAYING so that we 
8247         never attempt to choose a new clock unless we're actually leaving
8248         the PAUSED state for the first time. This prevents choosing a
8249         different clock when the state_change gets called for a 2nd time due
8250         to some element doing an async state change.
8251
8252 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
8253
8254         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
8255         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
8256         (gst_pad_chain_unchecked), (gst_pad_push):
8257         Revert last commit. This needs some more thoughts.
8258
8259 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
8260
8261         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
8262         (gst_pad_chain_unchecked), (gst_pad_push):
8263         Check in set_caps if the caps are compatible with the pad and remove
8264         two functions that are redundant now. Fixes #421543.
8265
8266 2007-03-22  Wim Taymans  <wim@fluendo.com>
8267
8268         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
8269         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
8270         Unref some more to make valgrind happy.
8271
8272 2007-03-22  Wim Taymans  <wim@fluendo.com>
8273
8274         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
8275         (gst_system_clock_id_wait_jitter),
8276         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
8277         Fix anoying regression that survived a few releases. When adding an
8278         async entry while blocking on a sync entry, the sync entry will unblock
8279         but still be busy, so it should continue to wait instead of returning
8280         _BUSY to the app.
8281         Add some comments here and there.
8282
8283         * tests/check/gst/gstsystemclock.c: (mixed_thread),
8284         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
8285         Add testcase for this.
8286
8287 2007-03-22  Wim Taymans  <wim@fluendo.com>
8288
8289         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8290         Handle errors from the clock sync better, only UNSCHEDULED indicates a
8291         WRONG_STATE and can silently pause the task. All other cases should
8292         error out.
8293
8294 2007-03-22  Wim Taymans  <wim@fluendo.com>
8295
8296         Patch by: Ville Syrjala <syrjala at sci dot fi>
8297
8298         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
8299         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
8300         Improve debugging.
8301
8302 2007-03-21  Michael Smith  <msmith@fluendo.com>
8303
8304         * docs/pwg/advanced-types.xml:
8305           Fix some errors in the typefinding docs pointed out on irc.
8306
8307 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
8308
8309         * libs/gst/base/gstbasesrc.c:
8310         Clarify FIXME comment in the face of having added unlock_stop()
8311
8312 2007-03-21  Wim Taymans  <wim@fluendo.com>
8313
8314         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
8315         Prepare for release where we warn against possible app breakage in the
8316         case of live pipelines along with an env var to enable/disable live
8317         preroll mode (GST_COMPAT=[no-]live-preroll).
8318
8319 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8320
8321         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
8322         So we should use correct constants for checking for None offset.
8323
8324 2007-03-20  Wim Taymans  <wim@fluendo.com>
8325
8326         * docs/design/part-block.txt:
8327         Mention the fact that the newly switched element should be set to at
8328         least PAUSED.
8329
8330 2007-03-20  Wim Taymans  <wim@fluendo.com>
8331
8332         * gst/gst.c:
8333         Fix compilation with registry disabled as spotted by Saur.
8334
8335 2007-03-20  Wim Taymans  <wim@fluendo.com>
8336
8337         Patch by: Olivier Crete <tester at tester dot ca>
8338
8339         * gst/gstelement.c: (gst_element_sync_state_with_parent):
8340         Look at the pending state too when syncing the element state to the
8341         parent. Fixes #420133.
8342
8343 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
8344
8345         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
8346         (gst_base_sink_change_state):
8347         * libs/gst/base/gstbasesink.h:
8348         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8349         (gst_base_src_default_event), (gst_base_src_unlock_stop),
8350         (gst_base_src_deactivate):
8351         * libs/gst/base/gstbasesrc.h:
8352         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
8353         for sub-classes to correctly clear any state they set trying to
8354         unlock, such as clearing out unlock commands from a command fd.
8355         API: basesrc::unlock_stop
8356         API: basesink::unlock_stop
8357
8358         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
8359         (gst_fd_sink_render), (gst_fd_sink_unlock),
8360         (gst_fd_sink_unlock_stop):
8361         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
8362         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
8363         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
8364
8365         Implement unlock_stop in fdsrc and fdsink.
8366         Implement seeking in fdsrc when a seekable fd is passed, as in
8367         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
8368
8369 2007-03-19  Wim Taymans  <wim@fluendo.com>
8370
8371         Patch by: Evan Nemerson <evan at coeus dash group dot com>
8372
8373         * gst/gstelement.c: (gst_element_class_init):
8374         Fix pad-added and pad-removed signal signatures so that the pad type is
8375         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
8376
8377 2007-03-19  Wim Taymans  <wim@fluendo.com>
8378
8379         * docs/gst/gstreamer-sections.txt:
8380         Add new element field and method.
8381
8382         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8383         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
8384         (gst_bin_recalc_state), (gst_bin_get_state_func),
8385         (gst_bin_element_set_state), (gst_bin_change_state_func),
8386         (gst_bin_continue_func), (bin_bus_handler),
8387         (bin_push_state_continue), (bin_handle_async_start),
8388         (bin_handle_async_done), (gst_bin_handle_message_func):
8389         Make async state changes a bit smarter by using new ASYNC_START and
8390         ASYNC_DONE messages. This reduces the number of times we run the state
8391         recalculation thread.
8392         Don't change state of element with a pending ASYNC_START message.
8393         Deprecate STATE_DIRTY messages.
8394         
8395         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
8396         (gst_element_get_state_func), (gst_element_continue_state),
8397         (gst_element_lost_state), (gst_element_set_state_func),
8398         (gst_element_change_state):
8399         * gst/gstelement.h:
8400         Keep the state that was last set by the app in a new element field.
8401         Don't allow state changes when handling an element event.
8402         Post ASYNC_START and ASYNC_DONE messages.
8403         Change lost_state so that we go to PAUSED and wait for the parent to set
8404         us to PLAYING again (so latency calculation can be performed)
8405         Export gst_element_change_state() method so that subclasses can use it.
8406         API: gst_element_change_state()
8407         API: GST_STATE_TARGET
8408
8409         * gst/gstpipeline.c: (gst_pipeline_class_init),
8410         (reset_stream_time), (gst_pipeline_change_state),
8411         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
8412         Using the new ASYNC_START message we can reset the base_time when
8413         needed. This can then be used to implement base_time redistribution in
8414         flushing seeks so that we can remove the explicit seek handling.
8415         Perform latency query and configuration when going to PLAYING.
8416
8417         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8418         (gst_base_sink_query), (gst_base_sink_change_state):
8419         Post new ASYNC_START/ASYNC_DONE messages.
8420
8421         * tests/check/generic/sinks.c: (GST_START_TEST):
8422         Fix test because the bin will not set the async element to PLAYING right
8423         away.
8424
8425         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
8426         Make the message check a little stronger.
8427         Handle ASYNC messages.
8428
8429         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
8430         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
8431         Expect ASYNC_DONE messages.
8432
8433 2007-03-19  Wim Taymans  <wim@fluendo.com>
8434
8435         * docs/gst/gstreamer-sections.txt:
8436         * gst/gstmessage.c: (gst_message_new_async_start),
8437         (gst_message_new_async_done), (gst_message_parse_info),
8438         (gst_message_parse_async_start):
8439         * gst/gstmessage.h:
8440         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
8441         support.
8442
8443 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
8444
8445         * tools/gst-inspect.c:
8446         (print_plugin_automatic_install_info_codecs):
8447           Now that we don't check for the 'Codec' keyword any longer in the
8448           klass, we shouldn't spew a warning if the klass isn't a decoder or
8449           encoder (since it might be a Source/Network, for example).
8450
8451 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8452
8453         * tools/gst-inspect.c:
8454         (print_plugin_automatic_install_info_codecs):
8455           Don't require decoder/demuxer/depayloader elements or
8456           encoder/muxer/paylader elements to have 'Codec' as part of their
8457           factory class string when introspecting a plugin's capabilities.
8458           draft-klass.txt mentions that it might be removed in future, and
8459           flump3dec doesn't have it as part of its class string, so chances
8460           are others might also not have it.
8461
8462 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8463
8464         * po/af.po:
8465         * po/az.po:
8466         * po/bg.po:
8467         * po/ca.po:
8468         * po/cs.po:
8469         * po/de.po:
8470         * po/en_GB.po:
8471         * po/fr.po:
8472         * po/it.po:
8473         * po/nb.po:
8474         * po/nl.po:
8475         * po/ru.po:
8476         * po/sq.po:
8477         * po/sr.po:
8478         * po/sv.po:
8479         * po/tr.po:
8480         * po/uk.po:
8481         * po/vi.po:
8482         * po/zh_CN.po:
8483         * po/zh_TW.po:
8484           Update translations from translation project
8485
8486 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
8487
8488         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
8489         (gst_child_proxy_set_property):
8490           Invert precondition check to be alike the ones in the mimiced gobject
8491           api.
8492
8493 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
8494
8495         * docs/design/draft-tagreading.txt:
8496         * docs/random/ensonic/audiobaseclasses.txt:
8497           Do some Architect work.
8498
8499         * gst/gstobject.c: (gst_object_set_name):
8500           Add a WARNING.
8501
8502         * gst/gstpad.c:
8503           Add docs that point from gst_pad_get_range to gst_pad_pull_range
8504
8505 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
8506
8507         * gst/gstsystemclock.c: (gst_system_clock_init),
8508         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
8509         Defer starting the async system clock thread until the first async
8510         wait is scheduled. Fixes #414986.
8511
8512 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
8513
8514         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
8515         (gst_single_queue_free):
8516           Fix small leak (free GstSingleQueue structure too, not only contents).
8517
8518 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
8519
8520         * gst/gstbin.c:(gst_bin_add):
8521         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
8522         * win32/common/libgstbase.def:
8523         * win32/common/libgstreamer.def:
8524         Add new exported functions.
8525
8526 2007-03-09  Wim Taymans  <wim@fluendo.com>
8527
8528         * docs/plugins/gstreamer-plugins-sections.txt:
8529         Fix GstTee docs.
8530
8531 2007-03-09  Wim Taymans  <wim@fluendo.com>
8532
8533         * docs/gst/gstreamer-sections.txt:
8534         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
8535         * gst/gstbuffer.h:
8536         Add metadata copy functions. Fixes #393099.
8537         API: gst_buffer_copy_metadata()
8538
8539         * gst/gstutils.c: (gst_buffer_stamp):
8540         * libs/gst/base/gstbasetransform.c:
8541         (gst_base_transform_prepare_output_buffer):
8542         Use new metadata copy functions.
8543
8544 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8545
8546         * plugins/elements/gstidentity.c: (gst_identity_class_init),
8547         (gst_identity_init), (gst_identity_check_perfect),
8548         (gst_identity_check_imperfect_timestamp),
8549         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
8550         (gst_identity_set_property), (gst_identity_get_property):
8551         * plugins/elements/gstidentity.h:
8552         Separate out check-imperfect-timestamp and check-imperfect-offset.
8553         Put back check-perfect as it was to keep compatibility.
8554
8555 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
8556
8557         * gst/gstelement.c: (gst_element_dispose):
8558         There's no need to warn if VOID_PENDING is not NONE here, as
8559         long as the state is NULL it's ok, and that's checked immediately
8560         above.
8561
8562 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8563
8564         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8565         Fix check for perfect stream to ignore buffers with -1 
8566         offsets/offset ends when checking data contiguity.
8567
8568 2007-03-08  Wim Taymans  <wim@fluendo.com>
8569
8570         * tools/gst-launch.c: (event_loop):
8571         Print INFO messages.
8572
8573 2007-03-08  Wim Taymans  <wim@fluendo.com>
8574
8575         * libs/gst/base/gstbasetransform.c:
8576         (gst_base_transform_sink_eventfunc),
8577         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8578         (gst_base_transform_activate):
8579         * libs/gst/base/gstbasetransform.h:
8580         Add support for dropping buffers with custom GstFlowReturn.
8581         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
8582         buffers or dropped buffers.
8583
8584         * docs/libs/gstreamer-libs-sections.txt:
8585         docs for new custom return code.
8586
8587         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8588         Use drop support in base class to implement drop-probability.
8589
8590 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8591
8592         * gst/gst.c: (load_plugin_func):
8593         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
8594         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
8595         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8596           Remove newlines at end of debug log strings.
8597
8598 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8599
8600         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8601         Only post bus message at max, once per buffer received.
8602
8603 2007-03-07  Wim Taymans  <wim@fluendo.com>
8604
8605         * docs/design/Makefile.am:
8606         * docs/design/part-synchronisation.txt:
8607         Add doc about synchronisation
8608
8609         * docs/design/draft-latency.txt:
8610         * docs/design/part-TODO.txt:
8611         * docs/design/part-clocks.txt:
8612         * docs/design/part-events.txt:
8613         * docs/design/part-gstbus.txt:
8614         * docs/design/part-gstpipeline.txt:
8615         * docs/design/part-live-source.txt:
8616         * docs/design/part-messages.txt:
8617         * docs/design/part-overview.txt:
8618         * docs/design/part-streams.txt:
8619         * docs/design/part-trickmodes.txt:
8620         Documentation updates.
8621
8622 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
8623
8624         * gstreamer.doap:
8625         Update the doap file.
8626
8627 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8628
8629         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8630         Rename non-perfect to imperfect for Mike and for the sanctity of the
8631         language.
8632         Also make sure bus message gets emitted for data-incontiguities.
8633
8634 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8635
8636         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
8637         (gst_identity_start):
8638         * plugins/elements/gstidentity.h:
8639         Emit bus message if check-perfect is true and we encounter a
8640         non-perfect stream between 2 consecutive buffers.
8641         Fixes #415394.
8642
8643 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
8644
8645         * configure.ac:
8646         Back to CVS
8647
8648 === release 0.10.12 ===
8649
8650 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
8651
8652         * configure.ac:
8653           releasing 0.10.12, "Inevitable Demise"
8654
8655 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
8656
8657         * configure.ac:
8658          Version 0.10.11.2 (0.10.12 pre-release)
8659          Bump libtool versioning.
8660
8661 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
8662
8663         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8664           Log flow-names and not numbers.
8665
8666 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8667
8668         * configure.ac:
8669           Convert to new AG_GST style.
8670
8671 2007-02-28  Wim Taymans  <wim@fluendo.com>
8672
8673         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
8674         Don't unref query twice.
8675
8676 2007-02-28  Wim Taymans  <wim@fluendo.com>
8677
8678         * gst/gstvalue.c: (gst_value_transform_object_string),
8679         (_gst_value_initialize):
8680         Implement GstObject -> string transform so we print object names
8681         when serializing GValues containing GstObjects.
8682
8683 2007-02-28  Wim Taymans  <wim@fluendo.com>
8684
8685         * docs/gst/gstreamer-sections.txt:
8686         Add new stuff to docs.
8687
8688 2007-02-28  Wim Taymans  <wim@fluendo.com>
8689
8690         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
8691         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
8692         (gst_base_sink_change_state):
8693         Improve latency query code.
8694         Don't leak latency events.
8695
8696         * tests/check/gst/gstbin.c: (GST_START_TEST):
8697         Improve debugging.
8698
8699 2007-02-28  Wim Taymans  <wim@fluendo.com>
8700
8701         * gst/gstelement.c: (gst_element_message_full),
8702         (gst_element_get_state_func):
8703         * gst/gstelement.h:
8704         Improve docs a little. Added Since: for new macro.
8705
8706         * gst/gstobject.c: (gst_object_sink):
8707         * gst/gstpipeline.c: (gst_pipeline_change_state),
8708         (gst_pipeline_set_new_stream_time):
8709         * gst/gstpipeline.h:
8710         Improve debugging and docs.
8711
8712         * gst/gstutils.c: (gst_element_state_change_return_get_name):
8713         Improve debugging.
8714
8715 2007-02-28  Wim Taymans  <wim@fluendo.com>
8716
8717         * gst/gstelement.c: (gst_element_message_full),
8718         (gst_element_set_locked_state), (gst_element_get_state_func),
8719         (gst_element_change_state):
8720         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
8721         Documentation updates.
8722         Small code cleanups.
8723
8724         * gst/gstmessage.c: (gst_message_new_info),
8725         (gst_message_parse_info):
8726         * gst/gstmessage.h:
8727         API: gst_message_new_info()
8728         API: gst_message_parse_info()
8729         Add INFO message create and parse code.
8730
8731 2007-02-28  Wim Taymans  <wim@fluendo.com>
8732
8733         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
8734         (bin_query_latency_done):
8735         Also report the live parameter of a latency query.
8736
8737 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8738
8739         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
8740           Copy the current generic/states example from -base and adapt so
8741           we can use the exact same code everywhere.
8742           Check a STATES_IGNORE_ELEMENTS env var which can be used
8743           to ignore certain element factories for this test, which is
8744           what is being done in -base
8745         * tests/check/Makefile.am:
8746           Mention this environment variable.
8747
8748 2007-02-27  Wim Taymans  <wim@fluendo.com>
8749
8750         * docs/gst/gstreamer-sections.txt:
8751         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
8752         (gst_bus_timed_pop), (gst_bus_pop):
8753         * gst/gstbus.h:
8754         API: gst_bus_timed_pop()
8755         Implement gst_bus_timed_pop() to do a blocking timed wait for a
8756         message to arrive on the bus.
8757
8758         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
8759         (gst_bus_suite):
8760         Two unit tests for new _timed_pop() function.
8761
8762 2007-02-23  Wim Taymans  <wim@fluendo.com>
8763
8764         * gst/gstpipeline.c: (gst_pipeline_change_state),
8765         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
8766         Don't ref a NULL clock in _provide_clock_func().
8767         Don't allow an INVALID delay.
8768         Don't try to calculate base_time with an invalid start_time.
8769         Also distribute and notify a NULL clock when it was selected.
8770
8771         * tools/gst-launch.c: (event_loop):
8772         Don't crash when a NULL clock was selected in the pipeline.
8773
8774 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8775
8776         * docs/design/Makefile.am:
8777         * docs/design/draft-missing-plugins.txt:
8778         * docs/random/draft-missing-plugins.txt:
8779           Some small updates: update plugin system identifier prefix
8780           ('gstreamer.net' to 'gstreamer'), mention our new install
8781           API in libgstbaseutils rather than libgimme-codec, add
8782           reference to the online docs.
8783
8784 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8785
8786         * win32/common/config.h:
8787           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
8788           use moap cl ci to only check in what is mentioned in the ChangeLog.
8789
8790 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8791
8792         * docs/gst/gstreamer-sections.txt:
8793         * gst/gstelement.h:
8794           Fix up documentation to link to the correct GstGError section.
8795           Add GST_ELEMENT_INFO macro since someone else added a Info message.
8796
8797 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8798
8799         * tools/gst-launch.c: (event_loop):
8800           Make sure that we actually show the important message part of a
8801           warning message.
8802           No need to check if the gerror is not NULL to free; first of all
8803           g_free accepts NULL; and second the default error handler would
8804           segfault if gerror was NULL.
8805
8806 2007-02-21  Wim Taymans  <wim@fluendo.com>
8807
8808         * docs/gst/gstreamer-sections.txt:
8809         Removed docs as well.
8810
8811 2007-02-21  Wim Taymans  <wim@fluendo.com>
8812
8813         * gst/gstmessage.c: (gst_message_parse_duration):
8814         * gst/gstmessage.h:
8815         Remove new messages for release.
8816
8817 2007-02-20  Wim Taymans  <wim@fluendo.com>
8818
8819         * docs/design/part-gstghostpad.txt:
8820         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
8821         (gst_ghost_pad_new_full):
8822         Make the ghostpad a parent of the internal pad again for better backward
8823         compatibility. Don't write code that relies on this however.
8824
8825         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
8826         (gst_pad_link_check_hierarchy):
8827         Require that parents should be GstElements in the hierarchy check.
8828
8829 2007-02-20  Wim Taymans  <wim@fluendo.com>
8830
8831         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
8832         (gst_bin_change_state_func), (bin_query_min_max_init),
8833         (bin_query_latency_fold), (bin_query_latency_done),
8834         (gst_bin_query):
8835         Improve debug info.
8836         Implement latency query.
8837
8838 2007-02-20  Wim Taymans  <wim@fluendo.com>
8839
8840         * docs/design/part-gstghostpad.txt:
8841         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
8842         (gst_ghost_pad_internal_do_activate_push),
8843         (gst_ghost_pad_internal_do_activate_pull),
8844         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8845         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
8846         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
8847         Do not set the internal pad as a parent anymore so we can avoid
8848         hierarchy linking errors when the ghostpad has no parent yet. This also
8849         fixes failed activation because of unlinked internal pads, which in
8850         turn fixes the impossible case where you have to activate a pad before
8851         you can add it to a running element.
8852         Also fix the docs.
8853
8854         * gst/gstpad.c: (pre_activate), (post_activate),
8855         (gst_pad_set_active), (gst_pad_activate_pull),
8856         (gst_pad_activate_push), (gst_pad_check_pull_range):
8857         Add some more debug info.
8858         Mark activation mode in pre_activate so that we don't try to activate in
8859         endless loops. Fixes #385084.
8860
8861 2007-02-19  Wim Taymans  <wim@fluendo.com>
8862
8863         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
8864         (gst_base_transform_check_get_range):
8865         Implement a checkgetrange function instead of relying on the default
8866         core behaviour that assumes we can operate in pull mode if we have a
8867         getrange function. First step at fixing #385084.
8868
8869 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
8870
8871         * gst/gstchildproxy.h:
8872         * libs/gst/base/gstbasesink.h:
8873         * libs/gst/base/gstbasesrc.h:
8874         * libs/gst/base/gstbasetransform.h:
8875         More docs coverage and some ChangeLog surgery (add missing names)
8876
8877 2007-02-15  Wim Taymans  <wim@fluendo.com>
8878
8879         * docs/design/part-TODO.txt:
8880         * docs/design/part-activation.txt:
8881         * docs/design/part-block.txt:
8882         * docs/design/part-buffering.txt:
8883         * docs/design/part-clocks.txt:
8884         * docs/design/part-element-source.txt:
8885         * docs/design/part-events.txt:
8886         * docs/design/part-gstbin.txt:
8887         * docs/design/part-gstbus.txt:
8888         * docs/design/part-gstpipeline.txt:
8889         * docs/design/part-live-source.txt:
8890         * docs/design/part-messages.txt:
8891         * docs/design/part-overview.txt:
8892         * docs/design/part-qos.txt:
8893         * docs/design/part-query.txt:
8894         * docs/design/part-states.txt:
8895         * docs/design/part-trickmodes.txt:
8896         Some doc updates. Start renaming from stream_time to running_time where
8897         it was used wrongly.
8898
8899 2007-02-15  Wim Taymans  <wim@fluendo.com>
8900
8901         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
8902         Answer LATENCY query.
8903
8904 2007-02-15  Wim Taymans  <wim@fluendo.com>
8905
8906         * tests/check/gst/gstevent.c: (event_probe), (test_event),
8907         (GST_START_TEST):
8908         Improve debugging.
8909
8910 2007-02-15  Wim Taymans  <wim@fluendo.com>
8911
8912         * gst/gstpad.c: (gst_pad_get_internal_links_default),
8913         (gst_pad_dispatcher):
8914         Improve debugging of default pad dispatcher and query functions.
8915
8916 2007-02-15  Wim Taymans  <wim@fluendo.com>
8917
8918         * docs/gst/gstreamer-sections.txt:
8919         Remove old unused method.
8920
8921 2007-02-13  Wim Taymans  <wim@fluendo.com>
8922
8923         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8924         Fix check
8925
8926 2007-02-13  Wim Taymans  <wim@fluendo.com>
8927
8928         * docs/design/part-seeking.txt:
8929         Some small update.
8930
8931         * gst/gstsegment.c: (gst_segment_set_seek):
8932         Revert old bogus change that should make seeking work again.
8933
8934 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
8935
8936         * docs/random/ensonic/dynlink.txt:
8937         * docs/random/ensonic/interfaces.txt:
8938         * docs/random/ensonic/receipies.txt:
8939           Possible dynamic reconnection api, plus some type fixes the other two
8940           docs.
8941
8942 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
8943
8944         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8945         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8946         Also check for an absolute path following file:// in the filesrc
8947         element. Remove redundant check and call g_path_is_absolute() on the
8948         unescaped location.
8949
8950 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
8951
8952         * docs/design/draft-klass.txt:
8953           Add existing category analysis.
8954           
8955         * gst/gstcaps.c:
8956           Fix doc example, framerate is a fraction.
8957
8958 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
8959
8960         * configure.ac:
8961         * docs/gst/Makefile.am:
8962         * docs/gst/gstreamer-sections.txt:
8963         * docs/libs/Makefile.am:
8964           Erm, forgot a bunch of --extra-dir.
8965
8966 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
8967
8968         * configure.ac:
8969         * docs/gst/Makefile.am:
8970         * docs/libs/Makefile.am:
8971         * docs/plugins/Makefile.am:
8972           Add crossreferences to glib/gobject docs.
8973
8974 2007-02-12  Wim Taymans  <wim@fluendo.com>
8975
8976         * docs/design/draft-latency.txt:
8977         Small update.
8978
8979         * docs/libs/gstreamer-libs-sections.txt:
8980         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8981         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
8982         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
8983         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
8984         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
8985         (gst_base_sink_get_position), (gst_base_sink_query),
8986         (gst_base_sink_change_state):
8987         * libs/gst/base/gstbasesink.h:
8988         API: gst_base_sink_query_latency() to let subclasses query the upstream
8989         latency.
8990         API: gst_base_sink_get_latency() to let subclasses query the configured
8991         latency in the sink.
8992         Implement query and set latency.
8993         Update some docs.
8994         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
8995         don't continue preroll when we are flushing. Fixes #405284.
8996
8997         * tests/check/pipelines/stress.c: (change_state_timeout),
8998         (quit_timeout), (GST_START_TEST), (stress_suite):
8999         Test for #405284.
9000
9001 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
9002
9003         Patch by: René Stadler <mail at renestadler de>
9004
9005         * docs/gst/gstreamer-sections.txt:
9006         * gst/gsttaglist.c: (_gst_tag_initialize):
9007         * gst/gsttaglist.h:
9008           API: add GST_TAG_REFERENCE_LEVEL (#403597).
9009
9010 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
9011
9012         * docs/libs/Makefile.am:
9013           Fix path to core docs.
9014
9015         * gst/gstbin.c: (gst_bin_get_by_interface),
9016         (gst_bin_iterate_all_by_interface):
9017           Refix docs by also renaming 'interface' to 'iface' in implementation.
9018
9019         * docs/gst/gstreamer-sections.txt:
9020         * gst/gstcaps.c:
9021         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
9022         * gst/gstchildproxy.h:
9023         * gst/gstelementfactory.c:
9024         * gst/gstpadtemplate.h:
9025         * libs/gst/controller/gstcontroller.c:
9026         (gst_controlled_property_new):
9027           Document more.
9028
9029 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
9030
9031         * gst/gstbin.h:(gst_bin_get_by_interface),
9032         (gst_bin_iterate_all_by_interface):
9033         Replace interface parameter name by iface as interface is 
9034         a reserved keyword in Visual Studio for C++ projects so it removes
9035         a build error for application developpers using VS.
9036         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
9037         Fix a bug on Windows in uri format check. Now the prefix checked
9038         is file:// and next we check if the path after file:// is absolute.
9039         * win32/common/libgstbase.def:
9040         * win32/common/libgstdataprotocol.def:
9041         * win32/common/libgstgstreamer.def:
9042         Add new exported functions.
9043
9044 2007-02-09  Andy Wingo  <wingo@pobox.com>
9045
9046         * tests/check/pipelines/simple-launch-lines.c
9047         (simple_launch_lines_suite, test_tee): Disable tee test until I
9048         have time to fix it :-(
9049
9050         * tests/check/Makefile.am (noinst_HEADERS): 
9051         * tests/check/libs/libsabi.c: 
9052         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
9053         * tests/check/gst/gstabi.c: 
9054         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
9055
9056         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
9057         tests for push and pull tee behavior.
9058
9059         * plugins/elements/gsttee.h: 
9060         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
9061         mark as deprecated as well as unimplemented. It was a crack idea.
9062         Add support for tee operating in pull mode, off by default.
9063
9064         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
9065         normal-case logs down to LOG, raise errors to WARNING.
9066         (gst_registry_xml_read_cache): Don't log before calling a function
9067         that logs.
9068
9069         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
9070         exit (registry finalize).
9071         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
9072         DEBUG log when we emit signals that people don't even have the
9073         chance to connect to.
9074         (gst_registry_scan_path_level): Less logging in the normal case.
9075
9076 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
9077
9078         Patch by: Michal Benes <michal dot benes at itonis dot tv>
9079
9080         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9081         Correctly generate EOS for non-seekable files. We don't have a total
9082         length for them and would get an unexpected end of file if we only
9083         special-cased for regular files. (Fixes: #404569)
9084
9085 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
9086
9087         * tests/check/elements/filesrc.c: (GST_START_TEST),
9088         (filesrc_suite):
9089         Add unit test for the GstURIHandler interface in filesrc. This also
9090         tests the newly added file://localhost/foo/bar support.
9091
9092 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9093
9094         * gst/gstelementfactory.h:
9095           The klass string is not a hierarchy. Add reference to the design doc
9096           for more information and common types.
9097
9098 2007-02-02  Wim Taymans  <wim@fluendo.com>
9099
9100         * gst/gstquery.c: (gst_query_new_latency):
9101         Remove old structure field.
9102
9103 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
9104
9105         * tools/gst-launch.1.in:
9106           Give example for network streaming (#351998)
9107
9108 2007-02-02  Wim Taymans  <wim@fluendo.com>
9109
9110         * docs/gst/gstreamer-sections.txt:
9111         Add docs for new methods.
9112
9113         * gst/gstevent.c: (gst_event_new_latency),
9114         (gst_event_parse_latency):
9115         * gst/gstevent.h:
9116         Add new LATENCY event to configure latency in a pipeline.
9117         API: gst_event_new_latency
9118         API: gst_event_parse_latency
9119
9120         * gst/gstmessage.c: (gst_message_new_buffering),
9121         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
9122         (gst_message_new_latency), (gst_message_parse_buffering),
9123         (gst_message_parse_lost_preroll):
9124         * gst/gstmessage.h:
9125         Added messages used in draft-latency.
9126         API: gst_message_new_lost_preroll
9127         API: gst_message_parse_lost_preroll
9128         API: gst_message_new_prerolled
9129         API: gst_message_new_latency
9130
9131         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
9132         (gst_query_parse_latency):
9133         * gst/gstquery.h:
9134         Implemented new latency query as in design doc.
9135         API: gst_query_new_latency
9136         API: gst_query_set_latency
9137         API: gst_query_parse_latency
9138
9139 2007-02-02  Wim Taymans  <wim@fluendo.com>
9140
9141         * docs/design/draft-latency.txt:
9142         Slight redesign to allow for dynamic latency adjustments.
9143
9144         * docs/design/part-negotiation.txt:
9145         Fix some typos.
9146
9147 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
9148
9149         reviewed by: Wim Taymans <wim@fluendo.com>
9150
9151         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9152         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9153         Allow file://localhost/foo/bar URLs and correctly fail for every other
9154         hostname that one sets. This was gnomevfssrc is linked for those if
9155         installed as it can handle it (#403172)
9156
9157 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
9158
9159         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9160
9161         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9162         (unref_data), (gst_collect_pads_add_pad_full):
9163         * libs/gst/base/gstcollectpads.h:
9164         Don't put the previously added destroy notify in the GstCollectData
9165         struct as all it's padding is already used and we don't want to break
9166         ABI. Instead put in the pad's GObject data for now. This should be
9167         cleaned up for 0.11 (#402393).
9168
9169 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
9170
9171         reviewed by: Wim Taymans <wim@fluendo.com>
9172
9173         * docs/libs/gstreamer-libs-sections.txt:
9174         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9175         (unref_data), (gst_collect_pads_add_pad),
9176         (gst_collect_pads_add_pad_full):
9177         * libs/gst/base/gstcollectpads.h:
9178         API: Add function to specify a destroy notification for custom
9179         GstCollectData when adding new pads in GstCollectPads (#402393).
9180
9181 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
9182
9183         * po/sv.po:
9184           Update Swedish translation (#378255).
9185
9186 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
9187
9188         * docs/design/draft-klass.txt:
9189           Fix the previous change, this is a list of categories and not a hierarchy.
9190
9191 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
9192
9193         * docs/design/draft-klass.txt:
9194           Add info about how to get a list of used classes.
9195
9196 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
9197
9198         * plugins/elements/gsttypefindelement.c:
9199         (gst_type_find_element_chain_do_typefinding),
9200         (gst_type_find_element_change_state):
9201           Don't leak found caps in chain function (no idea why that never
9202           showed up as a leak anywhere).
9203
9204 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
9205
9206         * gst/gstplugin.h:
9207           Fix and expand GstPluginDesc API docs.
9208
9209 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
9210
9211         * gst/gstcaps.c:
9212         * gst/gstelementfactory.c:
9213         * gst/gstpadtemplate.h:
9214           api doc fixes
9215
9216         * libs/gst/controller/gstcontroller.c:
9217         (gst_controlled_property_new):
9218         * tests/examples/controller/audio-example.c:
9219           comment fixes
9220
9221 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
9222
9223         * configure.ac:
9224           comment about refining the xml deps
9225
9226         * docs/manuals.mak:
9227           comments about moving away from jade for docs
9228         
9229         * gst/gst.c:
9230           recommit the ifdefs to use the binary registry
9231         
9232         * gst/gstbin.c: (gst_bin_change_state_func):
9233           this break is obsolete
9234
9235         * gst/gstelementfactory.h:
9236           better GST_ELEMENT_DETAILS docs, add comment about translation
9237
9238         * gst/gstinfo.h:
9239           remove eol slash
9240
9241         * gst/gstobject.c: (gst_signal_object_get_type):
9242           add G_UNLIKELY as usual
9243
9244         * gst/gstpad.c: (gst_pad_event_default):
9245           add fall trhu comment
9246
9247         * gst/gstregistrybinary.c: (gst_registry_binary_write),
9248         (gst_registry_binary_initialize_magic),
9249         (gst_registry_binary_save_string),
9250         (gst_registry_binary_save_pad_template),
9251         (gst_registry_binary_save_feature),
9252         (gst_registry_binary_save_plugin),
9253         (gst_registry_binary_write_cache),
9254         (gst_registry_binary_check_magic),
9255         (gst_registry_binary_load_pad_template),
9256         (gst_registry_binary_load_feature),
9257         (gst_registry_binary_load_plugin),
9258         (gst_registry_binary_read_cache):
9259           comment typo and formatting
9260
9261         * gst/gstutils.c: (gst_element_state_get_name),
9262         (gst_element_state_change_return_get_name):
9263           remove obsolete breaks
9264
9265         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9266           add FIXME 0.11 and remove cpp comment
9267
9268 2007-01-29  Edward Hervey  <edward@fluendo.com>
9269
9270         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9271         Fix print statement in an even more portable way.
9272
9273 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
9274
9275         * docs/gst/gstreamer-sections.txt:
9276         * gst/gstutils.h:
9277           API: add GST_ROUND_DOWN_* macros (#401781).
9278
9279 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
9280
9281         * docs/gst/gstreamer.types.in:
9282         * gst/gstregistry.c: (gst_registry_class_init):
9283           Document registry signals and make gtk-doc pick them up (#401381).
9284
9285 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
9286
9287         * docs/pwg/building-testapp.xml:
9288           Add some audioconverts and audioresample to the pipeline, and some
9289           more comments and error handling.
9290
9291 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
9292
9293         * docs/manual/manual.xml:
9294         * docs/pwg/pwg.xml:
9295           Fix typo (#400987).
9296
9297 2007-01-26  Wim Taymans  <wim@fluendo.com>
9298
9299         * gst/gstcaps.c: (gst_static_caps_get):
9300         Init caps flags too.
9301
9302 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
9303
9304         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
9305
9306         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
9307         If not using mmap'ed files try to seek to the end instead of the
9308         start to determine whether we can seek at all. This fixes the case
9309         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
9310         seeks for everything afterwards fail. Fixes #400656
9311
9312 2007-01-25  Wim Taymans  <wim@fluendo.com>
9313
9314         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
9315         Add some refcount debugging.
9316         Make gst_static_caps_get threadsafe, which is needed when autoplugging
9317         in multiple streaming threads.
9318
9319 2007-01-25  Wim Taymans  <wim@fluendo.com>
9320
9321         Patch by: David Schleef <ds at schleef dot org>
9322
9323         * docs/libs/gstreamer-libs-sections.txt:
9324         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
9325         * libs/gst/base/gstadapter.h:
9326         API: gst_adapter_copy() that can reduce the amount of memcpy when
9327         getting data from the adapter. Fixes #388201.
9328
9329 2007-01-25  Edward Hervey  <edward@fluendo.com>
9330
9331         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9332         In print statements, "%x" is for guint. Fixes build on macosx.
9333
9334 2007-01-24  Edward Hervey  <edward@fluendo.com>
9335
9336         * plugins/elements/gstmultiqueue.c:
9337         (gst_multi_queue_loop):
9338         Small fix.
9339         (single_queue_overrun_cb), (single_queue_underrun_cb),
9340         (single_queue_check_full), (gst_single_queue_new):
9341         Implement single queue growth system.
9342         This uses the extra-size properties, and will grow single queues by
9343         that much if one goes full whereas there are others empty. This is
9344         called extra-mode in the code.
9345         When a single queue's levels go back below the initial max-size
9346         limits, it is no longer in extra-mode. This is to ensure we don't
9347         consume too much memory.
9348         Fixes #399875
9349
9350 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
9351
9352         * gst/gst.c: (gst_init_get_option_group):
9353           Make warning about late g_thread_init() calls a bit more explicit,
9354           so that it's more obvious to application developers what they need
9355           to do if a user files a bug against their application.
9356
9357 2007-01-22  Edward Hervey  <edward@fluendo.com>
9358
9359         * plugins/elements/gstmultiqueue.c:
9360         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
9361         Remove previous hack of unsetting the flushing flag for the source pad
9362         instead of activating it. Instead, fix the source pad activate function
9363         so that it no longer depends on having a parent set or not.
9364
9365 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
9366
9367         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
9368
9369         * docs/manual/basics-bus.xml:
9370           Fix example code, gst_element_unref() doesn't exist any longer.
9371
9372 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
9373
9374         Patch by: Mark Nauwelaerts <manauw at skynet be>
9375
9376         * gst/gstpad.c:
9377           Fix two docs typoes (#399094).
9378
9379 2007-01-19  Edward Hervey  <edward@fluendo.com>
9380
9381         * docs/faq/gst-uninstalled:
9382         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
9383         depending on libgstbaseutils can work in uninstalled environment.
9384
9385 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
9386
9387         * gst/gsttaglist.h:
9388         * gst/gsttagsetter.c:
9389         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
9390         statement for new tag.
9391
9392 2007-01-17  Edward Hervey  <edward@fluendo.com>
9393
9394         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
9395         When dynamically creating single queues, activate sinkpad before adding
9396         it.
9397         We should be doing the same thing for the source pad, but we can't
9398         since it would call a method which needs the parent to be set in order
9399         to work propertly. Instead of activating the source pad, we just unset
9400         the flushing flag, which is the minimal requirement for adding a pad
9401         to an element in a state greater than READY.
9402
9403 2007-01-17  Edward Hervey  <edward@fluendo.com>
9404
9405         * docs/faq/gst-uninstalled:
9406         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
9407         Mac OS X.
9408
9409 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
9410
9411         * tests/check/gst/gstabi.c:
9412         * tests/check/gst/struct_hppa.h:
9413         * tests/check/libs/libsabi.c:
9414         * tests/check/libs/struct_hppa.h:
9415           Add ABI structs for HPPA (see #393796).
9416
9417 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
9418
9419         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
9420           Actually write ABI structs to the file specified in the GST_ABI
9421           environment variable, as the message we print claims we would.
9422
9423 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9424
9425         * tests/check/gst/gsttask.c:
9426           Fix header comment.
9427
9428 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9429
9430         * gst/gsttaglist.c: (_gst_tag_initialize):
9431           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
9432           previous two entries.
9433
9434 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9435
9436         * docs/gst/gstreamer-sections.txt:
9437         * gst/gsttaglist.c: (_gst_tag_initialize):
9438         * gst/gsttaglist.h:
9439           Add tag support for beat-per-minute.
9440
9441 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9442
9443         * gst/gstregistrybinary.c: (gst_registry_binary_write),
9444         (gst_registry_binary_initialize_magic),
9445         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
9446         (gst_registry_binary_save_pad_template),
9447         (gst_registry_binary_save_feature),
9448         (gst_registry_binary_save_plugin),
9449         (gst_registry_binary_write_cache),
9450         (gst_registry_binary_check_magic),
9451         (gst_registry_binary_load_pad_template),
9452         (gst_registry_binary_load_feature),
9453         (gst_registry_binary_load_plugin),
9454         (gst_registry_binary_read_cache):
9455         * gst/gstregistrybinary.h:
9456           Use glib types, cleanup comments, impement interfaces and uri-types.
9457
9458 2007-01-13  Andy Wingo  <wingo@pobox.com>
9459
9460         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
9461         getrange() to return buffers with other caps, while we fix
9462         demuxers and typefind, or otherwise change part-negotiation.txt.
9463
9464 2007-01-12  Andy Wingo  <wingo@pobox.com>
9465
9466         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
9467         Factor start/stop into this private function instead of partially
9468         in activate functions and partially in the change_state function.
9469         Fixes setup before the element has changed from READY->PAUSED, as
9470         is the case in pull-mode pipelines.
9471         (gst_base_transform_sink_activate_push)
9472         (gst_base_transform_src_activate_pull): Refactor to use
9473         gst_base_transform_activate().
9474         (gst_base_transform_change_state): Removed, not needed any more.
9475
9476         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
9477         Truncate before fixating.
9478         
9479         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
9480         Don't set_caps() if the result of fixating is ANY, as it's not
9481         supported, and not necessary in the case of a link with no
9482         template caps on either side. Fixes tests/check/libs/basesrc in
9483         some pull-mode tests.
9484
9485         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
9486         (gst_base_transform_init, gst_base_transform_sink_activate_push)
9487         (gst_base_transform_src_activate_pull): 
9488         Track the activation mode.
9489         (gst_base_transform_setcaps): In pull mode, when activating the
9490         src pad, after activating the sink pad, activate the sink pad's
9491         peer, as discussed in part-negotiation.txt.
9492
9493         * libs/gst/base/gstbasesrc.h: 
9494         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
9495         vmethod, as in basesink.
9496
9497         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
9498
9499         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
9500         mode, first proxy the setcaps to the peer pad.
9501         (gst_base_sink_pad_fixate): Add a fixate function that calls the
9502         new fixate vmethod.
9503         (gst_base_sink_default_activate_pull): Rename from
9504         gst_base_sink_activate_pull.
9505         (gst_base_sink_negotiate_pull): New function, performs negotiation
9506         in pull mode before calling ::activate_pull().
9507         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
9508         vmethod instead of the default implementation. I have no idea how
9509         this worked before. Negotiate before calling activate_pull.
9510
9511         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
9512         sink pads in pull mode. In addition to being correct, fixes
9513         filesrc ! decodebin ! identity ! fakesink.
9514         (gst_pad_get_range, gst_pad_pull_range): Don't call
9515         gst_pad_set_caps() if the caps changes; instead error out with
9516         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
9517
9518 2007-01-12  Andy Wingo  <wingo@pobox.com>
9519
9520         * docs/design/part-negotiation.txt: Update with more policy.
9521
9522 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
9523
9524         * libs/gst/check/gstbufferstraw.h:
9525         * libs/gst/check/gstcheck.h:
9526           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
9527           belongs.
9528
9529 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
9530
9531         * tests/check/Makefile.am:
9532         * tests/check/gst/.cvsignore:
9533         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
9534         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
9535         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
9536         (GST_START_TEST), (gst_tag_setter_suite):
9537           Add minimal unit test for beforementioned GstTagSetter bug.
9538
9539 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
9540
9541         Patch by: René Stadler <mail at renestadler dot de>
9542
9543         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
9544           gst_tag_list_merge() returns a new list, so it's not the best idea
9545           to ingore its return value. Effectively meant that tags could only
9546           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
9547           Also add function guard to require a non-NULL taglist as input (has
9548           always been so due to gst_tag_list_copy(), just making it explicit).
9549
9550 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9551
9552         * docs/random/draft-missing-plugins.txt:
9553           Some additions: mention new API that is supposed to be used at the
9554           various stages; short blob about new gst-inspect introspection
9555           option; mention potential future problem with plugins that have
9556           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
9557
9558 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9559
9560         * tools/gst-inspect.c:
9561         (print_plugin_automatic_install_info_codecs),
9562         (print_plugin_automatic_install_info_protocols),
9563         (print_plugin_automatic_install_info), (main):
9564         Add --print-plugin-auto-install-info option to gst-inspect, so we can
9565         introspect plugin files and get machine-parsable output that corresponds
9566         to the last bit of the missing-plugin installer string (small gotcha:
9567         doesn't take into account ranks).
9568
9569 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
9570
9571         * configure.ac:
9572         * docs/gst/gstreamer-sections.txt:
9573         * gst/Makefile.am:
9574         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
9575         (gst_registry_lookup_locked):
9576         * gst/gstregistry.h:
9577         * gst/gstregistrybinary.c: (gst_registry_binary_write),
9578         (gst_registry_binary_initialize_magic),
9579         (gst_registry_binary_save_string),
9580         (gst_registry_binary_save_pad_template),
9581         (gst_registry_binary_save_feature),
9582         (gst_registry_binary_save_plugin),
9583         (gst_registry_binary_write_cache),
9584         (gst_registry_binary_check_magic),
9585         (gst_registry_binary_load_pad_template),
9586         (gst_registry_binary_load_feature),
9587         (gst_registry_binary_load_plugin),
9588         (gst_registry_binary_read_cache):
9589         * gst/gstregistrybinary.h:
9590         * gst/gstregistryxml.c: (load_feature),
9591         (gst_registry_xml_read_cache):
9592           commit binary registry (disabled by default, see #359653)
9593
9594 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9595
9596         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
9597           Fix 'make check' too.
9598
9599 2007-01-10  Andy Wingo  <wingo@pobox.com>
9600
9601         * docs/design/part-negotiation.txt: Fix a typo, add a couple
9602         notes.
9603         
9604         * docs/design/part-negotiation.txt: Update with, um, one way that
9605         pull-mode negotiation might work?
9606
9607         * gst/gstpad.h: 
9608         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
9609         that the pad must be a src pad; makes sense to call it the other
9610         way in pull mode, and the logic is symmetric anyway.
9611
9612 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
9613
9614         * plugins/elements/gstfilesink.c:
9615           Include <stdio.h> for fseeko().
9616
9617 2007-01-10  Wim Taymans  <wim@fluendo.com>
9618
9619         * gst/gstevent.c:
9620         * gst/gstevent.h:
9621         Reserve LATENCY event.
9622
9623 2007-01-09  Wim Taymans  <wim@fluendo.com>
9624
9625         * docs/design/draft-latency.txt:
9626         Updates.
9627
9628 2007-01-09  Wim Taymans  <wim@fluendo.com>
9629
9630         * docs/design/draft-latency.txt:
9631         Updates.
9632
9633         * gst/gstelement.h:
9634         * gst/gststructure.c:
9635         * gst/gsttrace.c:
9636         Small typo fixes.
9637
9638 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
9639
9640         * tests/check/.cvsignore:
9641           Ignore test-registry.xml as well.
9642
9643 2007-01-09  Wim Taymans  <wim@fluendo.com>
9644
9645         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
9646         unref data at the end when we are done with the pad.
9647
9648 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
9649
9650         * docs/gst/gstreamer-sections.txt:
9651         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
9652         (init_post), (gst_deinit), (gst_update_registry):
9653         * gst/gst.h:
9654           API: add gst_update_registry() (#391296).
9655
9656         * tests/check/Makefile.am:
9657         * tests/check/gst/gstregistry.c:
9658         * tests/check/gst/.cvsignore:
9659           Simple unit test for the above.
9660
9661 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
9662
9663         * gst/gstregistry.c: (gst_registry_scan_path_level):
9664           Plugin extension on HP-UX is .sl, add that to the list of approved
9665           plugin extensions (see #393796).
9666
9667         * tests/check/gst/gstpad.c: (GST_START_TEST):
9668           ulong => gulong. Fixes compilation with HP-UX compiler.
9669
9670         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9671           Fix compilation if valgrind headers are not available.
9672
9673 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
9674
9675         * win32/common/libgstreamer.def: 
9676           Add new exported function.
9677         * win32/vs6/libgstbase.dsp: 
9678           Add gstdataqueue.c to the build.
9679         * win32/vs6/libgstcoreelements.dsp:
9680           Add gstmultiqueue.c to the build.
9681         
9682 2007-01-06  Andy Wingo  <wingo@pobox.com>
9683
9684         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
9685         activate_pull(), providing for a way to specialize the process of
9686         spawning a thread to pull on the sink pad. There is a default
9687         implementation.
9688
9689         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
9690         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
9691         (gst_base_sink_init): Renamed pad activation functions (inserting
9692         "_pad" in their names). Refactor to use the new activate_pull
9693         vmethod, as appropriate.
9694         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
9695         default activate_pull function to start a task pulling from the
9696         sink pad, as before.
9697
9698         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
9699         on the pads if necessary, as in push()/chain(). Update docs.
9700         Shouldn't affect existing pull() usage as it is currently only
9701         being used on buffers without caps.
9702
9703 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9704
9705         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9706         (init_pre):
9707           Call g_thread_init() first thing in gst_init() / gst_check_init().
9708           When initialisation is done via gst_init_get_option_group() and
9709           GOption parsing, issue a warning if the GLib thread system has not
9710           been initialised yet by the time gst_init_get_option_group() is
9711           called, as it's quite likely other GLib functions such as
9712           g_option_context_new() have been called already then, and
9713           g_thread_init() must be called before any other GLib function. The
9714           application in question must be fixed in that case, since memory
9715           corruption might happen otherwise.
9716           We issue the warning because even if the GLib folks decide to work
9717           around the problem on their end in future, this is still an issue
9718           with all GLib versions >= 2.10.0, so we should warn until we depend
9719           on a GLib version we know to be safe.
9720           Update documentation as well.
9721           Closes bug #391278.
9722
9723 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9724
9725         * tools/gst-inspect.c: (main):
9726         * tools/gst-launch.c: (main):
9727         * tools/gst-typefind.c: (main):
9728         * tools/gst-xmlinspect.c: (main):
9729           Call g_thread_init() really really early, before any other GLib
9730           function (see #342564 and recent discussion on gtk-devel-list).
9731
9732 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9733
9734         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
9735
9736         * gst/gst_private.h:
9737         * gst/gstconfig.h.in:
9738         * gst/gstinfo.h:
9739           On win32, all the __declspec stuff for symbol exporting is
9740           apparently only needed with MSVC, but doesn't work with MingW.
9741           Fixes compilation with MingW and #391909.
9742
9743 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9744
9745         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
9746           Change some GST_ERROR_OBJECT that aren't really errors to
9747           GST_WARNING_OBJECT in order to reduce terminal spam.
9748
9749 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
9750
9751         * tests/check/Makefile.am:
9752           disable test again, as there seem to be still race problems
9753
9754 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
9755
9756         * tests/check/Makefile.am:
9757         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9758         (GST_START_TEST), (queue_suite):
9759           enable queue test again, add tests for the leaky behaviour
9760
9761 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
9762
9763         * configure.ac:
9764         * tests/examples/Makefile.am:
9765           Compile adapter test/example only if the required headers are
9766           available (fixes #391915).
9767
9768 2007-01-01  David Schleef  <ds@schleef.org>
9769
9770         * gst/gstplugin.c:
9771           Restore the previous signal handler for SIGSEGV instead of
9772           setting to default, since we may have stolen it away from
9773           someone.  (i.e., Mono)
9774
9775 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
9776
9777         * docs/random/draft-missing-plugins.txt:
9778           Some small additions and clarifications.
9779
9780 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
9781
9782         * gst/gstregistryxml.c: (gst_registry_save_escaped):
9783           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
9784           since that can lead to random memory corruptions and crashes
9785           (may or may not be related to #383244, #386711, and #386711).
9786
9787 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9788
9789         * tests/check/.cvsignore:
9790         * tests/check/Makefile.am:
9791           sync .cvsignome and CLEANFILES
9792
9793 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9794
9795         * tests/check/Makefile.am:
9796           fix distcheck
9797
9798 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9799
9800         * docs/design/part-states.txt:
9801           two tiny additional comments
9802         
9803         * gst/gststructure.c:
9804           doc fixing
9805
9806         * tests/check/Makefile.am:
9807         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9808         (GST_START_TEST):
9809           disable test for now, unless it gets fixed
9810
9811 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9812
9813         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9814         (GST_START_TEST):
9815           fix race in underrun test
9816
9817 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9818
9819         * tests/check/elements/.cvsignore:
9820           ignore more
9821
9822         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9823         (GST_START_TEST):
9824           try to narrow test failure
9825
9826 2006-12-21  David Schleef  <ds@schleef.org>
9827
9828         * plugins/elements/gstfakesrc.c:
9829           Use g_random_int_range(), since it produces better random
9830           numbers in a range than almost-correct floating point code.
9831
9832 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9833
9834         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
9835         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9836         (gst_check_teardown_sink_pad):
9837           do not automatically (de)activate pads
9838
9839         * tests/check/Makefile.am:
9840         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9841         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
9842           add new, yet simple tests for queue
9843
9844         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
9845         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
9846         * tests/check/elements/filesrc.c: (cleanup_filesrc),
9847         (GST_START_TEST):
9848         * tests/check/elements/identity.c: (cleanup_identity):
9849           consistent pad (de)activation
9850
9851 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
9852
9853         Patch by: Sebastian Dröge  <slomo ubuntu com>
9854
9855         * libs/gst/base/gstcollectpads.c:
9856           Fix two doc typos (#387866).
9857
9858 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
9859
9860         * docs/manual/advanced-dparams.xml:
9861           Fix typo (g_object_control_properties() doesn't exist).
9862
9863 2006-12-19  Edward Hervey  <edward@fluendo.com>
9864
9865         * gst/gstsegment.c: (gst_segment_set_seek):
9866         Fine tune the cases where the segment start/stop values are really
9867         updated.
9868         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9869         Add tests for the return values of gst_segment_set_seek().
9870
9871 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
9872
9873         * gst/gst.c:
9874           Docs typo fix.
9875
9876         * plugins/elements/gstqueue.c: (gst_queue_class_init),
9877         (gst_queue_init):
9878           Fix incorrect documentation and flesh it out a bit more.
9879           Set default values for the max properties on the GParamSpec as well,
9880           so it shows up correctly in gst-inspect.
9881
9882 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
9883
9884         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9885           Correct docs of queue, add more detail and crosslink it more.
9886
9887 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9888
9889         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9890           Print additional debug info when the stream isn't perfectly
9891           timestamped; don't try to use invalid durations.
9892
9893 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9894
9895         * docs/design/Makefile.am:
9896           Dist new design docs.
9897
9898 2006-12-16  Wim Taymans  <wim@fluendo.com>
9899
9900         Patch by: Sjoerd Simons <sjoerd at luon dot net>
9901
9902         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
9903         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9904         (gst_collect_pads_stop), (gst_collect_pads_event),
9905         (gst_collect_pads_chain):
9906         * libs/gst/base/gstcollectpads.h:
9907         Add refcounting to the collectpads data so we can track when it's safe
9908         to free the data. Fixes #383382.
9909
9910 2006-12-15  Wim Taymans  <wim@fluendo.com>
9911
9912         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
9913         (gst_collect_pads_remove_pad):
9914         Automatically activate/deactivate pads when they are added to a
9915         started/stoped collectpads.
9916
9917 2006-12-15  Wim Taymans  <wim@fluendo.com>
9918
9919         * gst/gstelement.c: (gst_element_add_pad):
9920         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
9921         * gst/gstpad.c: (gst_pad_init):
9922         Set pads to FLUSHING when they are created. Check, warn and fix when a
9923         demuxer adds an inactive pad to itself when running. Fixes #339326.
9924
9925 2006-12-15  Wim Taymans  <wim@fluendo.com>
9926
9927         * gst/gstelement.c: (gst_element_class_init),
9928         (gst_element_default_send_event), (gst_element_send_event),
9929         (gst_element_default_query), (gst_element_query):
9930         Expose default element send_event and query handling as vmethods that
9931         subclasses can chain up to.
9932
9933 2006-12-15  Wim Taymans  <wim@fluendo.com>
9934
9935         * gst/gstelement.c: (gst_element_set_state_func):
9936         Small documentation fixes.
9937
9938 2006-12-15  Wim Taymans  <wim@fluendo.com>
9939
9940         * docs/design/draft-latency.txt:
9941         Checked in draft for handling latency in pipelines.
9942
9943 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9944
9945         * Makefile.am:
9946         * gstreamer.doap:
9947         * gstreamer.spec.in:
9948           adding .doap file
9949
9950 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
9951
9952         * gst/gst.c: (init_pre), (init_post):
9953           init_pre() and init_post() might be called via our GOptionGroup or
9954           from gst_init(), and we should skip both of them if we've already
9955           been initialised, otherwise we will init some things twice or add
9956           two default log functions.
9957
9958 2006-12-13  Edward Hervey  <edward@fluendo.com>
9959
9960         * docs/manual/basics-bus.xml:
9961         No, gst_main_loop does not exist. Its g_main_loop.
9962         Discovered by somebody who abused the copy-paste technique of coding :)
9963
9964 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
9965
9966         * gst/gstghostpad.c:
9967           Log ghostpad debug stuff to the GST_PADS category as well rather
9968           than just to the default category.
9969
9970 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9971
9972         * configure.ac:
9973         * gst/gst.c: (init_pre):
9974           Add some basic system details such as OS and architecture
9975           to the debug output if possible, courtesy of uname().
9976
9977 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9978
9979         * docs/gst/running.xml:
9980           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
9981           environment variables.
9982
9983 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
9984
9985         * tests/check/gst/gstbin.c: (GST_START_TEST):
9986         It is acceptable to have a refcount of 2 or 3 at this point in the
9987         test, because the pipeline might be just posting its state_change
9988         message. The next line then waits for that message to appear using
9989         bus_poll, so that should be fine too.
9990
9991 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
9992
9993         * gst/gst.c: (ensure_current_registry_forking):
9994         Ignore EINTR when reading from the child registry pipe.
9995         Explicitly ignore the return value from close, since it makes no
9996         difference.
9997
9998         * gst/gstminiobject.c: (gst_mini_object_ref),
9999         (gst_mini_object_unref):
10000         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
10001
10002         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
10003         When removing cached plugins, remove their features too, so they're
10004         not visible after they've disappeared.
10005
10006         * gst/gstutils.c: (prepare_link_maybe_ghosting):
10007         In the unlikely case that we are linking pads with no parents, don't
10008         crash trying to get the non-existent parent bin.
10009
10010         * gst/parse/grammar.y:
10011         Output debug in the PIPELINE category
10012
10013 2005-03-08  Wim Taymans  <wim@fluendo.com>
10014
10015         Patch by: René Stadler <mail at renestadler dot de>
10016
10017         * gst/gstclock.c: (gst_clock_new_periodic_id):
10018         Reject invalid clock times for interval of periodic ids.
10019         Fixes ##383506.
10020
10021 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
10022
10023         * gst/gstelementfactory.c: (gst_element_factory_create):
10024         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10025         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10026         * tools/gst-inspect.c: (print_element_info):
10027         Fix refcounting of gst_plugin_feature_load to match the docs. 
10028         Fixes: #380129
10029
10030 2006-12-07  Wim Taymans  <wim@fluendo.com>
10031
10032         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
10033         (gst_base_sink_get_position):
10034         Improve debugging of events.
10035
10036 2006-12-07  Wim Taymans  <wim@fluendo.com>
10037
10038         Patch by: René Stadler <mail at renestadler dot de>
10039
10040         * gst/gstclock.c: (gst_clock_id_wait):
10041         Make period ids add the interval to the origial requested time instead
10042         of the possibly updated time which can be wrong when there are multiple
10043         waiters for the same id. Fixes #382592.
10044
10045         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
10046         (gst_system_clock_id_wait_jitter_unlocked),
10047         (gst_system_clock_id_wait_jitter):
10048         Fix restart in the async notify thread when an async entry is added to
10049         the front of the list. Fixes #381492. 
10050
10051         * tests/check/gst/gstsystemclock.c: (store_callback),
10052         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
10053         Added test for multiple async waits.
10054         Added test for async wait order.
10055
10056 2006-12-07  Wim Taymans  <wim@fluendo.com>
10057
10058         * gst/gstbin.c: (gst_bin_query):
10059         Add some more docs about the POSITION query.
10060
10061 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
10062
10063         * configure.ac:
10064         Bump version nano - back to CVS.
10065
10066 === release 0.10.11 ===
10067
10068 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
10069
10070         * configure.ac:
10071           releasing 0.10.11, "Love never runs on time"
10072
10073 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
10074
10075         * win32/common/libgstbase.def:
10076         * win32/common/libgstreamer.def:
10077         * win32/vs8/libgstbase.vcproj:
10078         * win32/vs8/libgstcoreelements.vcproj:
10079         * win32/vs8/libgstreamer.vcproj:
10080         Fix compilation on win32 under VS8
10081         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10082         Partially fixes #381175
10083
10084 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10085
10086         * gst/gstvalue.c: (gst_value_compare_fraction):
10087         If someone is foolish enough to compare 2 fractions with denominator =
10088         0, return UNORDERED rather than aborting.
10089
10090 2006-11-28  Edward Hervey  <edward@fluendo.com>
10091
10092         * libs/gst/base/Makefile.am:
10093         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
10094         (gst_data_queue_base_init), (gst_data_queue_class_init),
10095         (gst_data_queue_init), (gst_data_queue_new),
10096         (gst_data_queue_cleanup), (gst_data_queue_finalize),
10097         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
10098         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
10099         (gst_data_queue_is_empty), (gst_data_queue_is_full),
10100         (gst_data_queue_set_flushing), (gst_data_queue_push),
10101         (gst_data_queue_pop), (gst_data_queue_drop_head),
10102         (gst_data_queue_set_property), (gst_data_queue_get_property):
10103         * libs/gst/base/gstdataqueue.h:
10104         New GstDataQueue object for threadsafe queueing. Most useful for
10105         elements that need some queueing functionnality.
10106         * docs/libs/gstreamer-libs-docs.sgml:
10107         * docs/libs/gstreamer-libs-sections.txt:
10108         Insert documentation for GstDataQueue
10109         * plugins/elements/Makefile.am:
10110         * plugins/elements/gstelements.c:
10111         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
10112         (gst_multi_queue_class_init), (gst_multi_queue_init),
10113         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
10114         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
10115         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
10116         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
10117         (gst_multi_queue_loop), (gst_multi_queue_chain),
10118         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
10119         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
10120         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
10121         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
10122         (wake_up_next_non_linked), (compute_next_non_linked),
10123         (single_queue_overrun_cb), (single_queue_underrun_cb),
10124         (single_queue_check_full), (gst_single_queue_new):
10125         * plugins/elements/gstmultiqueue.h:
10126         New multiqueue element, using GstDataQueue. Used for queuing multiple
10127         streams.
10128         Closes #344639 and #347785
10129
10130 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
10131
10132         * docs/pwg/advanced-types.xml:
10133           add more missing type details
10134
10135         * tools/gst-run.c: (main):
10136           remove unused variable
10137
10138 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
10139
10140         * docs/libs/Makefile.am:
10141         * docs/libs/gstreamer-libs.types:
10142           add types of base classes to enable gobject specific stuff in the docs
10143
10144         * docs/random/ensonic/embedded.txt:
10145           more ideas about isolating platform specific things
10146
10147 2006-11-20  Wim Taymans  <wim@fluendo.com>
10148
10149         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
10150
10151         * libs/gst/check/gstcheck.h:
10152         Fix compilation and running against 0.9.4. Fixes #377332.
10153
10154 2006-11-20  Wim Taymans  <wim@fluendo.com>
10155
10156         * gst/gstsegment.c: (gst_segment_set_seek),
10157         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10158         (gst_segment_to_running_time):
10159         Fix boundary checking in to_running_time() and to_stream_time().
10160         Fixes #377183.
10161
10162         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10163         stream and running time can now be calculated for the complete
10164         clipped segment.
10165
10166 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
10167
10168         * gst/gstpad.c: (gst_pad_push_event):
10169           Can't access event structure after giving away ownership of
10170           the event.
10171
10172 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
10173
10174         * docs/random/ensonic/embedded.txt:
10175         * docs/random/ensonic/profiling.txt:
10176         * docs/random/ensonic/receipies.txt:
10177           more thinking
10178
10179 2006-11-13  Wim Taymans  <wim@fluendo.com>
10180
10181         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10182
10183         * gst/gstpad.c:
10184         Fix documentation for gst_pad_dispatcher. Fixes #374475.
10185
10186 2006-11-13  Wim Taymans  <wim@fluendo.com>
10187
10188         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
10189
10190         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10191         Store new length in segment duration so we don't keep on calling the
10192         potentially expensize get_size() call. Fixes #370865.
10193
10194 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
10195
10196         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
10197
10198         * win32/common/libgstreamer.def:
10199           Add two missing symbols (#366492).
10200
10201 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
10202
10203         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
10204         (gst_adapter_take_buffer):
10205         Fix format string to use all its arguments.
10206         Remove useless >= check on a guint
10207
10208 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
10209
10210         * tests/examples/adapter/.cvsignore:
10211         Ignore build file as commanded by the build-bot
10212
10213 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
10214
10215         * tests/examples/adapter/Makefile.am:
10216         * tests/examples/adapter/adapter_test.c: (run_test_take),
10217         (run_test_take_buffer), (run_tests), (main):
10218
10219         Add new files from the previous commit
10220
10221 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
10222
10223         * Makefile.am:
10224         * configure.ac:
10225         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
10226         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
10227         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
10228         * libs/gst/base/gstadapter.h:
10229         * tests/check/libs/adapter.c: (create_and_fill_adapter),
10230         (GST_START_TEST), (gst_adapter_suite):
10231         * tests/examples/Makefile.am:
10232         Do some optimisation work in GstAdapter to avoid copies in more cases.
10233         It could still do slightly better by merging buffers when
10234         gst_buffer_is_span_fast is true, but is already faster. 
10235
10236         Also, avoid traversing a single-linked list to append each incoming 
10237         buffer inside the adapter.
10238
10239         Add simple test app that times the adapter behaviour in different
10240         situations, and extend the unit test to check that bytes enter and
10241         exit the adapter in their original order.
10242
10243 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
10244
10245         * docs/random/draft-missing-plugins.txt:
10246           Update: use element message instead of adding a new message
10247           type to the core; don't provide GStreamer API to initiate the
10248           plugin download, just provide API to compose the strings needed
10249           and let an external libgimmestuff handle the rest.
10250
10251 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
10252
10253         * tools/gst-inspect.c: (print_element_properties_info):
10254         Print a string instead of 'unknown type' for GValueArray properties
10255
10256 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
10257
10258         * docs/random/draft-missing-plugins.txt:
10259         More small fixes.
10260
10261 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
10262
10263         * tests/examples/typefind/typefind.c: (type_found), (main):
10264           Make typefind element example work again (#371894); add a
10265           license header.
10266
10267 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
10268
10269         * docs/random/draft-missing-plugins.txt:
10270           Commit initial draft about how to deal with missing plugins,
10271           needs work (API too).
10272
10273 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
10274
10275         * docs/pwg/advanced-types.xml:
10276           documents the new caps elements (see #363118)
10277
10278 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
10279
10280         * gst/gstplugin.c: (gst_plugin_load_file):
10281         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
10282         (gst_file_src_map_region), (gst_file_src_start):
10283         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
10284         (gst_file_index_commit):
10285           Use g_strerror() instead of strerror() - we want UTF-8.
10286
10287 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
10288
10289         Patch by: Peter Kjellerstedt <pkj at axis com>
10290
10291         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10292           Another printf fix (#371493).
10293
10294 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10295
10296         * tests/check/gst/gsttag.c:
10297           relicence (okay with author=company)
10298
10299 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10300
10301         * gst/gstpad.c: (gst_pad_event_default_dispatch),
10302         (gst_pad_push_event):
10303           Enhance debug and improve docs
10304         
10305         * gst/gsturi.c:
10306           Fix docs
10307
10308 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10309
10310         * docs/random/ensonic/distributed.txt:
10311         * docs/random/ensonic/profiling.txt:
10312           more ideas
10313
10314 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10315
10316         * docs/gst/gstreamer-sections.txt:
10317           add new API and fix the build
10318           
10319         * gst/gstbin.c: (gst_bin_recalc_state):
10320         * gst/gstelement.c: (gst_element_message_full),
10321         (gst_element_get_state_func), (gst_element_set_state_func):
10322           use new API and improve logging
10323         
10324         * gst/gstutils.c: (gst_element_state_change_return_get_name):
10325         * gst/gstutils.h:
10326           API: add function to get StateChangereturn names to improve logs 
10327
10328 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10329
10330         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10331           I'm considering shooting the next person to put strerror stuff
10332           in the translateable part of the message.
10333
10334 2006-11-03  Wim Taymans  <wim@fluendo.com>
10335
10336         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10337         Get the type and printf conversion specifiers right.
10338
10339 2006-11-03  Wim Taymans  <wim@fluendo.com>
10340
10341         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10342
10343         * gst/gstpad.c: (gst_pad_init), (pre_activate),
10344         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
10345         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
10346         Some small cleanups. Improve debugging.
10347         * gst/gstpad.h:
10348         Signal all waiting threads with a broadcast instead of just one.
10349         Fixes #369942.
10350
10351 2006-11-03  Wim Taymans  <wim@fluendo.com>
10352
10353         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
10354         (gst_fd_src_create):
10355         Add some debugging. 
10356         Only update fd when it's different from the old.
10357
10358 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10359
10360         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
10361           Printf fixes for PPC/OSX, take two (#369366).
10362
10363 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10364
10365         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
10366
10367         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
10368         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10369         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
10370           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
10371           don't cast to long long for portability reasons, but use
10372           GLib's types instead.
10373
10374 2006-10-30  Michael Smith  <msmith@fluendo.com>
10375
10376         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
10377           Get the arguments to lseek() the right way around.
10378           Fixes 367677.
10379
10380 2006-10-30  Wim Taymans  <wim@fluendo.com>
10381
10382         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
10383
10384         * gst/gstinfo.h:
10385         _declspec should be __declspec (two underscores, not one). Fixes 366572.
10386
10387 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
10388
10389         Patch by: Kjartan Maraas  <kmaraas at gnome org>
10390
10391         * docs/design/part-MT-refcounting.txt:
10392         * docs/random/wtay/capsnego2-docs:
10393         * gst/gstclock.c:
10394         * gst/gstxml.c:
10395           Typo fixes (#366212).
10396
10397 2006-10-28  Wim Taymans  <wim@fluendo.com>
10398
10399         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10400
10401         * gst/gst.c:
10402         * win32/common/libgstbase.def:
10403         * win32/common/libgstreamer.def:
10404         * win32/vs8/libgstbase.vcproj:
10405         * win32/vs8/libgstcontroller.vcproj:
10406         Add needed entries in .def files.
10407         Use HAVE_UNISTD_H.
10408         Rearrange def files in vs8 solutions. Fixes #366286.
10409
10410 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
10411
10412         * win32/common/gstconfig.h:
10413           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
10414           hand-made win32 gstconfig.h. Fixes #366321.
10415
10416 2006-10-27  Wim Taymans  <wim@fluendo.com>
10417
10418         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
10419         (gst_ghost_pad_new_full):
10420         Make acceptcaps return TRUE when we don't have a target, just like
10421         setcaps does.
10422
10423 2006-10-27  Wim Taymans  <wim@fluendo.com>
10424
10425         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
10426         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
10427
10428 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
10429
10430         * gst/gststructure.c: (gst_structure_id_set_value):
10431           If someone tries to set a non-UTF8 string field on a structure,
10432           don't just print a warning, but also ignore the request and do
10433           not change/add that field to the structure.
10434
10435         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10436           Test for the above.
10437
10438 2006-10-25  David Schleef  <ds@schleef.org>
10439
10440         * gst/gstinfo.c:
10441           g_hash_table_insert() needs a cast to a non-const pointer duh.
10442
10443 2006-10-25  David Schleef  <ds@schleef.org>
10444
10445         * gst/gstinfo.c:
10446         * gst/gstinfo.h:
10447           Change name parameter of _gst_debug_register_funcptr to const
10448           to reflect the constness of its use in the function as well
10449           as to quiet a gcc warning.
10450
10451 2006-10-25  Edward Hervey  <edward@fluendo.com>
10452
10453         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
10454         Don't push the buffer if it's empty.
10455         Closes #363095
10456
10457 2006-10-24  Wim Taymans  <wim@fluendo.com>
10458
10459         * gst/gstevent.h:
10460         Add small comment.
10461
10462         * libs/gst/base/gstbasetransform.c:
10463         (gst_base_transform_sink_eventfunc):
10464         Debug segment values *after* updating them as this is more
10465         interesting.
10466
10467 2006-10-23  Wim Taymans  <wim@fluendo.com>
10468
10469         * docs/design/part-events.txt:
10470         Update some docs.
10471
10472         * docs/design/part-block.txt:
10473         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
10474         (gst_pad_push_event):
10475         Revert BLOCKING patch, it tries to be smart without really having a
10476         clear idea what or how. So, now we discard all FLUSHING events again on
10477         a blocking pad. Should fix gnonlin again.
10478
10479 2006-10-23  Wim Taymans  <wim@fluendo.com>
10480
10481         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10482
10483         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
10484         (gst_base_src_start), (gst_base_src_activate_push):
10485         Make sure size is always initialized. Fixes #364388.
10486
10487 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
10488
10489         * docs/random/ensonic/distributed.txt:
10490           add some ideas about doing distributed processing
10491
10492         * docs/random/ensonic/profiling.txt:
10493           get_rusage look promising
10494
10495 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
10496
10497         * docs/manual/basics-helloworld.xml:
10498           Add a cast in example to fix compile warning
10499
10500 2006-10-18  Wim Taymans  <wim@fluendo.com>
10501
10502         * gst/gstsegment.c: (gst_segment_set_last_stop),
10503         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
10504         Relax arg checking again, -1 is allowed.
10505
10506 2006-10-18  Wim Taymans  <wim@fluendo.com>
10507
10508         * gst/gstsegment.c: (gst_segment_set_last_stop),
10509         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
10510         _set_last_stop() must be with a value != -1
10511         A _TYPE_SET to -1 means seek to 0.
10512         Calc last_stop correctly for negative rates.
10513         Make sure we work with positive durations when updating a segment.
10514
10515 2006-10-18  Wim Taymans  <wim@fluendo.com>
10516
10517         * docs/design/part-live-source.txt:
10518         * gst/gstclock.h:
10519         Small docs fixes.
10520
10521 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
10522
10523         * gst/gstbuffer.h:
10524           Add an explicit cast to GstBuffer** to keep old code that added an
10525           explicit cast to GstMiniObject** for gst_mini_object_replace()
10526           compiling without warning.
10527
10528 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
10529
10530         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
10531           check for validity of dates
10532
10533 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
10534
10535         * docs/gst/gstreamer-sections.txt:
10536           Forgot this one, makes gtk-doc shut up.
10537
10538 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
10539
10540         Patch by: Peter Kjellerstedt <pkj at axis com>
10541
10542         * gst/gstobject.h:
10543           Don't define xmlNodePtr to gpointer if the core was built with
10544           --disable-loadsave and --disable-registry, this will break
10545           applications that want to use libxml2 but are buildling against a
10546           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
10547           instead so we don't have to mess with the libxml2 namespace
10548           (#361675).
10549
10550 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
10551
10552         * gst/gstbuffer.h:
10553           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
10554           type-punned pointer warnings.
10555
10556 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
10557
10558         * gst/gstelement.h:
10559           Add casts to the correct return type to state <=> state transition
10560           macros.
10561
10562 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
10563
10564         * docs/design/part-live-source.txt:
10565           describe howto handle latency
10566         
10567         * docs/random/ensonic/profiling.txt:
10568           more ideas
10569
10570         * tools/gst-plot-timeline.py:
10571           fix log parsing for solaris, remove unused function
10572
10573 2006-10-16  Wim Taymans  <wim@fluendo.com>
10574
10575         * docs/design/part-trickmodes.txt:
10576         * gst/gstevent.c:
10577         Update some docs regarding reverse playback.
10578
10579 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10580
10581         Patch by: Marcus Granado  <mrc dot gran at gmail com>
10582
10583         * win32/vs8/grammar.vcproj:
10584           Error out with a warning if glib-genmarshal.exe is not in path,
10585           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
10586
10587 2006-10-13  Wim Taymans  <wim@fluendo.com>
10588
10589         * gst/gstsegment.c: (gst_segment_set_seek):
10590         When seeking to stop -1, set last_stop (current position) to the
10591         duration of the segment.
10592
10593 2006-10-13  Wim Taymans  <wim@fluendo.com>
10594
10595         * gst/gstelement.h:
10596         Clarify _NO_PREROLL a bit more.
10597
10598         * gst/gstevent.c:
10599         Fix docs.
10600
10601         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
10602         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
10603         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
10604         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
10605         due to wrong locking order. Fixes #361769.
10606         Remove some redundant/misplaced checks in pad_block.
10607
10608         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10609         For negative rates, count backwards from the duration.
10610
10611 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10612
10613         * gst/gsterror.c: (_gst_library_errors_init):
10614           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
10615           up with something better).
10616
10617 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
10618
10619         * win32/vs6/libgstreamer.dsp:
10620         * win32/vs7/libgstreamer.vcproj:
10621         * win32/vs8/libgstreamer.vcproj:
10622           Don't reference glib-compat.c which is currently not used and not
10623           disted; add gstquark.c which was recently added. Fixes #361730.
10624
10625 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
10626
10627         * win32/common/libgstbase.def:
10628         * win32/common/libgstcontroller.def:
10629         * win32/common/libgstreamer.def:
10630           Add gst_caps_merge() and a bunch of other recently-added functions.
10631           Fixes #361732.
10632
10633 2006-10-11  Wim Taymans  <wim@fluendo.com>
10634
10635         * docs/plugins/gstreamer-plugins.args:
10636         * docs/plugins/inspect/plugin-coreelements.xml:
10637         * docs/plugins/inspect/plugin-coreindexers.xml:
10638         Update element args.
10639
10640         * gst/gstsystemclock.c:
10641         Small comment update.
10642
10643         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
10644         (gst_tee_request_new_pad), (gst_tee_release_pad),
10645         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
10646         (gst_tee_sink_activate_pull):
10647         * plugins/elements/gsttee.h:
10648         Some tee loving:
10649         Add default property defines.
10650         Implement release pad function.
10651         Give properties better blubs etc.
10652         Activate pads before adding them to a running tee.
10653         Do simple buffer_alloc on the first requested pad.
10654         Post error when activation fails.
10655
10656 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
10657
10658         * gst/gst.c: (ensure_current_registry_forking):
10659           Check return value of write() to make compiler happy.
10660
10661 2006-10-11  Wim Taymans  <wim@fluendo.com>
10662
10663         Patch by: Sjoerd Simons <sjoerd at luon dot net>
10664
10665         * plugins/elements/gstqueue.c: (gst_queue_chain):
10666         Recheck queue filledness after signalling the overrun when we're about
10667         to leak downstream because we released the lock when emitting the signal
10668         and the queue could be empty again. Fixes #352345.
10669
10670 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
10671
10672         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
10673           Fix refcounting here too, just like we did for _new_valist() a few
10674           days ago (#357180) (thanks to René Stadler). Also remove all those
10675           'Since: 0.9' from the gtk-doc blobs.
10676
10677         * tests/check/libs/controller.c: (controller_refcount_new_list),
10678         (gst_controller_suite):
10679           Unit test for the above.
10680
10681 2006-10-10  Wim Taymans  <wim@fluendo.com>
10682
10683         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
10684
10685         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
10686         (gst_pad_save_thyself):
10687         Update some docs.
10688         Write pad direction in XML output. Fixes #345496.
10689
10690 2006-10-10  Wim Taymans  <wim@fluendo.com>
10691
10692         Patch by: René Stadler <mail at renestadler dot de>
10693
10694         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10695         (gst_controller_new_list), (_gst_controller_dispose),
10696         (_gst_controller_finalize), (_gst_controller_class_init):
10697         Take ref to controlled object so that it cannot disappear. 
10698         Fixes #357432.
10699
10700 2006-10-10  Wim Taymans  <wim@fluendo.com>
10701
10702         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10703         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10704         (gst_check_teardown_sink_pad):
10705         Activate/deactivate pads in setup/teardown respectively.
10706
10707 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10708
10709         Patch by: Josep Torra Valles <josep@fluendo.com>
10710
10711         * gst/Makefile.am:
10712         Cast values when making gstenumtypes.h.  This pacifies Forte
10713         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
10714         in the enumeration.
10715
10716 2006-10-09  Wim Taymans  <wim@fluendo.com>
10717
10718         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
10719         Rename some more @cur to @start to fix docs. 
10720
10721         * gst/gstsegment.c: (gst_segment_set_seek):
10722         Fix typo.
10723         time and start must always stay in sync as defined in design doc.
10724
10725         * gst/gsttaglist.c: (gst_tag_list_is_empty):
10726         Rename param to fix docs.
10727
10728         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10729         Check that start and time are in sync.
10730
10731         * tests/check/pipelines/parse-launch.c:
10732         (gst_parse_test_element_change_state):
10733         Activate pad before adding to the element.
10734
10735 2006-10-09  Wim Taymans  <wim@fluendo.com>
10736
10737         * docs/design/part-qos.txt:
10738         Fix typo.
10739
10740         * gst/gstevent.c:
10741         * gst/gstevent.h:
10742         Update seek event docs regarding negative rates.
10743         Rename @cur to @start. 
10744
10745         * gst/gstsegment.c: (gst_segment_set_seek):
10746         * gst/gstsegment.h:
10747         Update set_seek docs regarding negative rates.
10748         Correctly update last_stop to @stop when dealing with negative
10749         rates.
10750         Rename @cur to @start. 
10751
10752         * tests/check/gst/gstpad.c: (GST_START_TEST):
10753         Activate pads before trying to use them.
10754
10755         * tests/check/gst/gstsegment.c: (GST_START_TEST),
10756         (gst_segment_suite):
10757         Add simple check for segments and negative rates.
10758
10759 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
10760
10761         * gst/gsttaglist.c: (gst_tag_list_is_empty):
10762         * gst/gsttaglist.h:
10763         * docs/gst/gstreamer-sections.txt:
10764           API: add gst_tag_list_is_empty() (#360467).
10765
10766         * tests/check/gst/gsttag.c: (GST_START_TEST):
10767           And a test case.
10768
10769 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10770
10771         * gst/gstmessage.h:
10772         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
10773         a value that doesn't fit on enumeration.
10774
10775 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10776
10777         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10778         Remove local debugging system and use Gstreamer's instead.
10779
10780 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10781
10782         Patch by: Josep Torra Valles <josep@fluendo.com>
10783
10784         * common/m4/gst-error.m4:
10785         Disable warning of statement not reached on Forte.
10786         * gst/gstmessage.h:
10787         Fix warning on Forte (value doesn't fit on enumeration).
10788         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
10789         Fix warning on Forte (value doesn't fit on enumeration).
10790         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10791         DEBUG macro says it takes minimum of 2 args and so Forte
10792         complains about the use with just 1 arg.
10793         * plugins/elements/gstfdsink.c:
10794         * plugins/elements/gstfdsrc.c:
10795         * plugins/elements/gstfilesink.c:
10796         * plugins/elements/gstfilesrc.c:
10797         Use correct return type for the uri handler implementations.
10798
10799         All these fix warnings in Forte.  Fixes bug #360860.
10800
10801 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10802
10803         * gst/gstelement.h:
10804           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
10805           format string, so don't use G_GNUC_PRINTF for those versions.
10806
10807 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
10808
10809         * gst/gsttaglist.c: (gst_is_tag_list):
10810         * gst/gsttaglist.h:
10811           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
10812
10813         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10814           Small test for the above.
10815
10816 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
10817
10818         * gst/gsttaglist.h:
10819           Less tabs, more spaces.
10820
10821 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
10822
10823         * gst/gstinfo.h:
10824           Those two function declarations do actually belong there, revert
10825           commit from yesterday that turned them intro macros.
10826
10827 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10828
10829         Patch by: Josep Torra Valles <josep@fluendo.com>
10830
10831         * gst/gst.c: (gst_init_get_option_group):
10832         Fix empty declaration and type mismatch.
10833         * gst/gstbin.c: (gst_bin_change_state_func):
10834         Fix type mismatch.
10835         * gst/gstelement.c: (gst_element_continue_state),
10836         (gst_element_set_state_func), (gst_element_change_state),
10837         (gst_element_change_state_func):
10838         Fix type mismatches.
10839         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
10840         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
10841         Cast as appropriate.
10842         * gst/gstobject.c: (gst_class_signal_connect):
10843         Cast as appropriate.  The function pointer parameter really
10844         has the wrong type but would break API if we change it.
10845         * gst/gstquery.c:
10846         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
10847         order of including string.h.
10848         * gst/gstutils.c: (gst_element_state_get_name):
10849         Remove unreachable line.
10850         * gst/gstxml.c: (gst_xml_parse_doc):
10851         Fix type mismatch.
10852         All these caught by Forte.
10853
10854 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10855
10856         Patch by: Josep Torra Valles <josep@fluendo.com>
10857
10858         * common/m4/gst-error.m4:
10859         Fixed bug #360151.
10860         We need to disable warnings on Forte for empty declarations
10861         due to gst-indent adding ;s to lines that just use macros
10862         where the macro actually doesn't need a ; at end to end
10863         statement.
10864
10865 2006-10-06  Wim Taymans  <wim@fluendo.com>
10866
10867         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
10868         (gst_file_sink_close_file), (gst_file_sink_event),
10869         (gst_file_sink_render):
10870         Add some FIXME for the NEWSEGMENT handling.
10871
10872 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10873
10874         * gst/parse/grammar.y:
10875         Remove static function gst_parse_element_lock as all it does
10876         is return.  Looks like cruft from 0.8.
10877
10878 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10879
10880         Patch by: Josep Torra Valles <josep@fluendo.com>
10881
10882         * common/m4/gst-error.m4:
10883         * configure.ac:
10884         * libs/gst/net/Makefile.am:
10885         Fix a compilation issue with Forte on Solaris.  inet_aton is in
10886         libresolv.
10887
10888 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
10889
10890         * gst/gstpad.c: (pre_activate):
10891         * gst/gstregistry.c: (gst_registry_scan_path_level):
10892         * gst/gstregistryxml.c: (load_plugin):
10893         * libs/gst/controller/gstcontroller.c:
10894         (gst_controlled_property_set_interpolation_mode):
10895         * libs/gst/dataprotocol/dataprotocol.c:
10896         (gst_dp_packet_from_event_1_0):
10897         * libs/gst/net/gstnetclientclock.c:
10898         (gst_net_client_clock_observe_times):
10899         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10900           Printf fixes.
10901
10902 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
10903
10904         * configure.ac:
10905         * docs/gst/gstreamer-sections.txt:
10906         * gst/gstconfig.h.in:
10907         * gst/gstelement.h:
10908         * gst/gstinfo.h:
10909           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
10910           whether we can use G_GNUC_PRINTF in other header files and at
10911           least check the printf format/arguments of debug messages and
10912           GST_ELEMENT_ERROR messages when the printf extension is not
10913           being used.
10914           Replace more tabs with spaces in gstinfo.h and remove two spurious
10915           function declarations in GST_DISABLE_DEBUG part with macros.
10916
10917 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
10918
10919         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
10920           More docs for the sync-message signal (mention that it is not
10921           emitted by default); log message structures of messages posted on
10922           the bus as well.
10923
10924 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
10925
10926         * gst/gst.c: (ensure_current_registry_forking):
10927         Use a pipe pair to receive status results from the forked child, and
10928         ignore the result from waitpid. Fixes #355499
10929
10930 2006-10-02  Wim Taymans  <wim@fluendo.com>
10931
10932         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10933         (gst_ghost_pad_suite):
10934         Fix leak in check.
10935
10936 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10937
10938         * gst/gstpad.c:
10939           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
10940
10941 2006-10-02  Edward Hervey  <edward@fluendo.com>
10942
10943         * docs/design/part-block.txt:
10944         Further explain the use of flushing on blocked pads.
10945         * docs/gst/gstreamer-sections.txt:
10946         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
10947         (gst_pad_push_event):
10948         * gst/gstpad.h:
10949         Added new GstPadFlag : GST_PAD_BLOCKING.
10950         Adds the notion of pads really blocking, which enables to properly
10951         handle FLUSH_START/FLUSH_STOP events on blocked pads.
10952         Fixes #358999
10953         API: gst_pad_is_blocking()
10954         API: GST_PAD_IS_BLOCKING() macro
10955         API: GST_PAD_BLOCKING GstPadFlag
10956         
10957 2006-10-02  Wim Taymans  <wim@fluendo.com>
10958
10959         Patch by: mrcgran <mrc.gran at gmail dot com>
10960
10961         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
10962         Filter the proxied caps against the padtemplate if we have one.
10963
10964         * gst/gstquery.c: (gst_query_new_segment):
10965         Add include for gstinfo.h so that compilation with
10966         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
10967
10968 2006-10-02  Wim Taymans  <wim@fluendo.com>
10969
10970         Patch by: Alessandro Decina  <alessandro at nnva org>
10971
10972         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
10973         (gst_file_sink_set_location), (gst_file_sink_open_file),
10974         (gst_file_sink_close_file), (gst_file_sink_event),
10975         (gst_file_sink_render):
10976         Set file to NULL when closing filesink so that we can set a new filename
10977         in READY. Fixes #358613.
10978
10979 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10980
10981         Patch by: Alessandro Decina  <alessandro at nnva org>
10982
10983         * gst/gstevent.c: (_gst_event_copy):
10984           Fix gst_mini_object_make_writable() and gst_event_copy() for events
10985           with event structures by setting the parent refcount address of the
10986           copied structure to the address of the refcount member of the newly
10987           copied event rather than the address of the refcount member of the
10988           original event. Fixes #358737.
10989
10990         * tests/check/gst/gstevent.c: (GST_START_TEST):
10991           Unit test for the above.
10992
10993 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
10994
10995         * docs/design/Makefile.am:
10996           Dist some more files.
10997
10998 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10999
11000         * tests/check/libs/controller.c: (GST_START_TEST),
11001         (gst_controller_suite):
11002           Add test for the previous fix; add some more tests
11003           for correct refcounting behaviour; fix a few leaks
11004           in test cases; call gst_controller_init() at start
11005           of all tests.
11006
11007 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11008
11009         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11010         (gst_controller_set_from_list):
11011           Don't g_return_val_if_fail() on timed values with invalid timestamps
11012           inside a critical section without unlocking the mutex. Spotted by
11013           René Stadler. (#357617)
11014           Also, fix up refcounting properly: when returning an existing
11015           controller, we should increase the reference only once and not
11016           once per property and when trying to control a property again
11017           we should also increase the refcount.
11018
11019 2006-09-29  Wim Taymans  <wim@fluendo.com>
11020
11021         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11022         * libs/gst/net/gstnettimeprovider.c:
11023         (gst_net_time_provider_thread):
11024         Stop reading commands when EOF as well.
11025
11026         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11027         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11028         * plugins/elements/gstidentity.c: (gst_identity_class_init):
11029         Unify description of the dump property.
11030
11031 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11032
11033         * tests/examples/manual/.cvsignore:
11034         OK, so it's actually cvsignore that needs changing. Stop laughing.
11035
11036 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11037
11038         * tests/examples/manual/Makefile.am:
11039         Gah, declare vars *before* using them
11040
11041 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11042
11043         * gst/gst.c: (init_pre), (scan_and_update_registry),
11044         (ensure_current_registry_nonforking),
11045         (ensure_current_registry_forking), (ensure_current_registry),
11046         (init_post), (gst_debug_help), (gst_deinit):
11047         * gst/gst_private.h:
11048         * gst/gstregistry.c: (gst_registry_finalize),
11049         (gst_registry_remove_features_for_plugin_unlocked),
11050         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11051         (gst_registry_scan_path),
11052         (_priv_gst_registry_remove_cache_plugins),
11053         (_priv_gst_registry_cleanup):
11054         * gst/gstregistry.h:
11055         Re-commit the registry changes, along with an extra fix:
11056           When a cached plugin is encountered at a different file path,
11057           update the stored path in the registry cache so that the parent
11058           process knows where it actually is now when it re-reads the registry
11059           cache. Fixes the thing that broke distcheck with the previous commit.
11060
11061         * tests/check/Makefile.am:
11062         Clean up files named 'core' too when running make clean.
11063
11064         * tests/examples/manual/Makefile.am:
11065         Set up a registry path for running these tests, and clean it properly
11066         for distcheck.
11067
11068 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11069
11070         * configure.ac:
11071         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
11072         want gmodule-no-export-2.0.pc instead so that we don't drag in
11073         --export-dynamic on every project that links to GStreamer.
11074
11075         Also, make our export regex only match the start of symbols, rather 
11076         than any symbol that contains '_gst' somewhere.
11077
11078         * libs/gst/check/Makefile.am:
11079         The libgstcheck we build does however need export-dynamic, as it
11080         produces some symbols that don't match our _gst... style regex.
11081         Fixes: #318031
11082
11083 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
11084
11085         * gst/gst.c: (init_pre), (scan_and_update_registry),
11086         (ensure_current_registry_nonforking),
11087         (ensure_current_registry_forking), (ensure_current_registry),
11088         (init_post), (gst_debug_help), (gst_deinit):
11089         * gst/gst_private.h:
11090         * gst/gstregistry.c: (gst_registry_finalize),
11091         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11092         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
11093         (_gst_registry_cleanup):
11094         * gst/gstregistry.h:
11095           Revert previous change until I figure out why it breaks distcheck.
11096
11097 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
11098
11099         * gst/gst.c: (init_pre), (scan_and_update_registry),
11100         (ensure_current_registry_nonforking),
11101         (ensure_current_registry_forking), (ensure_current_registry),
11102         (init_post), (gst_debug_help), (gst_deinit):
11103
11104           Make init_pre and init_post take the full complement of GOptionFunc
11105           args so they can return useful GErrors. Make the registry updating
11106           functions do so.
11107
11108           Call _priv_gst_registry_remove_cache_plugins after scanning files to
11109           ensure that the registry we're about to write out doesn't contain
11110           stale information about old-deleted plugin files.
11111
11112           Make _priv_gst_registry_remove_cache_plugins return a boolean so
11113           that deletion of plugin files is considered a registry change.
11114
11115         * gst/gst_private.h:
11116         * gst/gstregistry.c: (gst_registry_finalize),
11117         (gst_registry_remove_features_for_plugin_unlocked),
11118         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11119         (gst_registry_scan_path),
11120         (_priv_gst_registry_remove_cache_plugins),
11121         (_priv_gst_registry_cleanup):
11122         * gst/gstregistry.h:
11123         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
11124         by adding _priv prefix, so that they won't appear in the global
11125         symbol table. They still do atm though because of #318031. Move the
11126         prototypes to gst_private.h
11127
11128         When removing a plugin, remove all features for that plugin too. 
11129         Fixes #340878.
11130
11131 2006-09-27  Wim Taymans  <wim@fluendo.com>
11132
11133         * docs/random/moving-plugins:
11134         Make it clear that the "compiled-in descriptions" really mean
11135         the element details.
11136
11137         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11138         (gst_base_sink_wait_preroll):
11139         Update docs.
11140
11141         * docs/libs/gstreamer-libs-sections.txt:
11142         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11143         (gst_base_src_get_range), (gst_base_src_activate_push):
11144         * libs/gst/base/gstbasesrc.h:
11145         Added function to block while waiting for PLAYING, this function
11146         is used by live sources that block on the clock.
11147         API: gst_base_src_wait_playing()
11148
11149 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11150
11151         Patch by: Peter Kjellerstedt <pkj at axis com>
11152
11153         * Makefile.am:
11154           gst-element-check.m4 is generated and should therefore be
11155           copied from the build dir rather than the source dir (#357593).
11156           'make distcheck' hasn't noticed this because we were disting
11157           the file as well, so stop doing that.
11158
11159 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11160
11161         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11162           Add some tests for gst_caps_intersect().
11163
11164         * tools/gst-launch.c: (event_loop):
11165           Print all buffering percentages we get, even the 100% one.
11166
11167 2006-09-26  Wim Taymans  <wim@fluendo.com>
11168
11169         * tools/gst-inspect.c: (print_element_properties_info),
11170         (print_signal_info):
11171         Fix printing of flags to match the look of enums.
11172
11173 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
11174
11175         * gst/gstelementfactory.c:
11176           Fix typo in docs blurb.
11177
11178 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
11179
11180         * gst/gsturi.c: (search_by_entry):
11181           Don't assert/crash here if a uri handler doesn't return any
11182           supported protocols. The list of protocols could be generated
11183           dynamically at runtime or at plugin registration, and an error
11184           in the underlying library shouldn't be fatal (#353301).
11185
11186 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
11187
11188         * gst/gstinfo.c:
11189           Fix warning if HAVE_PRINTF_EXTENSION is undefined
11190           (spotted by Peter Kjellerstedt).
11191
11192 2006-09-23  Wim Taymans  <wim@fluendo.com>
11193
11194         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
11195
11196         * libs/gst/base/gstbasesrc.c:
11197         (gst_base_src_default_check_get_range), (gst_base_src_start),
11198         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11199         (gst_base_src_change_state):
11200         Match _start/_stop calls in the activate functions. Remove redundant
11201         _stop call from the state change function. Fixes #356910.
11202         Turn failure DEBUG into ERROR. 
11203
11204 2006-09-22  Wim Taymans  <wim@fluendo.com>
11205
11206         * docs/design/part-buffering.txt:
11207         * gst/gstmessage.c: (gst_message_new_buffering),
11208         (gst_message_parse_buffering):
11209         Update docs about buffering.
11210
11211         * docs/design/part-trickmodes.txt:
11212         Fix typo.
11213
11214 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
11215
11216         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11217         (gst_controller_new_list):
11218           Ref instances when returning them again (fixes #357180)
11219
11220 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11221
11222         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
11223           Don't forget to release proxy lock when there's an error.
11224
11225 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
11226
11227         * gst/gstcaps.h:
11228           Add extra initialisers for Caps things, to fix some plugin warnings
11229           when using -Wextra
11230
11231 2006-09-18  Wim Taymans  <wim@fluendo.com>
11232
11233         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11234           Also set template on the internal pad so that a getcaps from the 
11235           target pad returns the template caps.
11236
11237 2006-09-18  Wim Taymans  <wim@fluendo.com>
11238
11239         * gst/gstelement.c: (gst_element_post_message),
11240         (gst_element_dispose):
11241         Use _DEBUG_OBJECT some more.
11242
11243         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11244         Avoid typechecks.
11245
11246         * tools/gst-launch.c: (main):
11247         If the toplevel element is not a GstPipeline, it must be put in a
11248         pipeline so that a bus and clock is selected.
11249
11250 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
11251
11252         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
11253           JITTER, RATE, and LATENCY query should be handled by the
11254           default case and not by the CONVERT query code.
11255
11256 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
11257
11258         * gst/gstformat.c: (gst_format_register):
11259           Fix locking order (must take lock before using n_values).
11260
11261         * gst/gstvalue.c: (gst_value_serialize_enum),
11262         (gst_value_deserialize_enum_iter_cmp),
11263         (gst_value_deserialize_enum):
11264           Fix serialisation/deserialisation of custom registered GstFormats.
11265
11266         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11267           Unit test for custom format serialisation/deserialisation.
11268
11269 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
11270
11271         * docs/pwg/building-boiler.xml:
11272         * plugins/elements/gstcapsfilter.c:
11273         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
11274         section.
11275
11276 2006-09-16  Edward Hervey  <edward@fluendo.com>
11277
11278         * libs/gst/base/gstbasetransform.c:
11279         (gst_base_transform_buffer_alloc):
11280         Check if requested caps are the same as the sinks caps IF
11281         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
11282         is FALSE.
11283         This fixes the renegotiation issues stated in #352827.
11284
11285 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11286
11287         * configure.ac:
11288         * docs/manual/advanced-autoplugging.xml:
11289         * tests/examples/Makefile.am:
11290         * tests/examples/manual/.cvsignore:
11291         * tests/examples/manual/Makefile.am:
11292         * tests/examples/manual/extract.pl:
11293           Extract the manual examples again like we used to do.
11294           Fix one of them.
11295
11296 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11297
11298         * win32/common/config.h:
11299           update for version
11300
11301 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
11302
11303         * gst/gsterror.c:
11304           Documents how to receive errors.
11305
11306 2006-09-15  Wim Taymans  <wim@fluendo.com>
11307
11308         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
11309         (event_loop), (main):
11310         Added some comments here and there.
11311         Post an application message when an interrupt is caught instead of doing
11312         an uncontrolled state change.
11313         Clean up the event loop.
11314         Handle buffering messages, pause/resume the pipeline.
11315         Make shutdown because of an interrupt more reliable.
11316
11317 2006-09-15  Wim Taymans  <wim@fluendo.com>
11318
11319         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11320         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
11321         (gst_base_sink_preroll_object):
11322         Make sure that our internal state is correct when we commit our state
11323         asynchronously. This solves a race where a state change to PLAYING
11324         could cause the sink to remain blocked in preroll in some situations.
11325
11326 2006-09-15  Wim Taymans  <wim@fluendo.com>
11327
11328         * tools/gst-inspect.c: (print_element_properties_info),
11329         (print_signal_info):
11330         List flags as hex so it's easier to deal with.
11331
11332 2006-09-15  Wim Taymans  <wim@fluendo.com>
11333
11334         * docs/libs/gstreamer-libs-sections.txt:
11335         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
11336         (gst_base_sink_do_sync):
11337         * libs/gst/base/gstbasesink.h:
11338         Expose logic to wait for preroll so that subclasses such as audiosink
11339         can also use this method.
11340         API: gst_base_sink_wait_preroll()
11341
11342 2006-09-15  Wim Taymans  <wim@fluendo.com>
11343
11344         * gst/gstobject.c: (gst_object_set_parent):
11345         * gst/gstpipeline.c: (do_pipeline_seek):
11346         Small cleanups in docs and code.
11347
11348         * gst/gstsegment.c: (gst_segment_clip):
11349         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11350         if stop == start and start is in the segment, no clipping should be
11351         done. Also add a test for this.
11352
11353 2006-09-15  Wim Taymans  <wim@fluendo.com>
11354
11355         * docs/design/part-buffering.txt:
11356         * docs/gst/gstreamer-sections.txt:
11357         * gst/gstmessage.c: (gst_message_new_buffering),
11358         (gst_message_parse_buffering):
11359         * gst/gstmessage.h:
11360         Added methods to create and parse BUFFERING messages.
11361         Added preliminary docs about buffering.
11362         API: gst_message_new_buffering
11363         API: gst_message_parse_buffering
11364
11365 2006-09-06  Wim Taymans  <wim@fluendo.com>
11366
11367         * gst/gstbin.c:
11368         Update documentation.
11369
11370         * gst/gstelement.c: (gst_element_class_init),
11371         (gst_element_release_request_pad), (gst_element_set_clock),
11372         (gst_element_get_index), (gst_element_add_pad),
11373         (gst_element_remove_pad), (gst_element_get_random_pad),
11374         (gst_element_send_event), (gst_element_get_query_types),
11375         (gst_element_query), (gst_element_post_message),
11376         (gst_element_message_full), (gst_element_continue_state),
11377         (gst_element_lost_state), (gst_element_save_thyself),
11378         (gst_element_restore_thyself):
11379         Documentation updates.
11380         Rename last bit of the new-pad -> pad-added signal rename.
11381         Fix the case where an element query would only work if the source
11382         pad was linked.
11383         Avoid some useless type checking in message handling.
11384
11385         * gst/gstevent.c:
11386         * gst/gstevent.h:
11387         * gst/gstutils.c:
11388         Documentation updates.
11389
11390 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11391
11392         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11393           add an INFO line for when we actually update the fd
11394
11395 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11396
11397         * configure.ac:
11398           back to TRUNK
11399
11400 === release 0.10.10 ===
11401
11402 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
11403
11404         * configure.ac:
11405           releasing 0.10.10, "Pais"
11406
11407 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
11408
11409         * docs/manual/advanced-position.xml:
11410           Fix typo in sample code.
11411
11412 2006-09-05  Wim Taymans  <wim@fluendo.com>
11413
11414         * libs/gst/net/gstnetclientclock.c: (inet_aton),
11415         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11416         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
11417         * libs/gst/net/gstnetclientclock.h:
11418         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
11419         * libs/gst/net/gstnettimepacket.h:
11420         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
11421         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
11422         (gst_net_time_provider_thread), (gst_net_time_provider_new):
11423         * libs/gst/net/gstnettimeprovider.h:
11424         Make stuff compile on windows. Fixes #345295.
11425
11426 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11427
11428         * gst/gst.c: (ensure_current_registry_forking):
11429           Print better details when child was terminated by signal.
11430
11431 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11432
11433         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
11434           Print a warning rather than g_assert() if a plugin feature
11435           is a URI handler but returns no protocols (#353976).
11436
11437 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
11438
11439         * docs/random/moving-plugins:
11440         Fix two typos.         
11441
11442 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11443
11444         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
11445           Fix locking order, handle NULL function values properly.
11446
11447         * gst/gstinfo.h:
11448           Fix docs.
11449
11450         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
11451           Initialise variable before using it and fix debug statement to
11452           print the address of the function rather than the address of the
11453           variable on the stack holding the address of the function.
11454
11455 2006-09-01  Wim Taymans  <wim@fluendo.com>
11456
11457         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
11458         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
11459         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11460         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
11461         (gst_ghost_pad_parent_unset),
11462         (gst_ghost_pad_internal_do_activate_push),
11463         (gst_ghost_pad_internal_do_activate_pull),
11464         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11465         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11466         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11467         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
11468         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
11469         (gst_ghost_pad_new_no_target_from_template),
11470         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
11471         More cleanups.
11472         Avoid needless typechecking in macros.
11473         Since the internal pad is always present and never changes, there is
11474         no need to locking or ref when retrieving it.
11475         Improve debugging a bit.
11476         Handle link errors when setting the target. Fixes #341029.
11477
11478 2006-09-01  Wim Taymans  <wim@fluendo.com>
11479
11480         * docs/libs/gstreamer-libs-sections.txt:
11481         * docs/plugins/gstreamer-plugins-sections.txt:
11482         Fix docs some more.
11483
11484         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11485         (gst_collect_pads_event):
11486         * libs/gst/base/gstcollectpads.h:
11487         Documentation updates.
11488         Free queued buffer when removing a pad.
11489
11490 2006-08-31  Michael Smith  <msmith@fluendo.com>
11491
11492         * gst/gstutils.c: (gst_element_link_pads),
11493         (gst_element_link_pads_filtered):
11494           Ensure that we set a capsfilter to NULL if we failed to link it
11495           when doing filtered linking, to avoid criticals.
11496
11497           No need to check for unreffing srcpad, which is explicly NULLed
11498           above (a trivial code cleanup).
11499
11500 2006-08-31  Wim Taymans  <wim@fluendo.com>
11501
11502         * docs/design/part-gstghostpad.txt:
11503         Update ascii art in documentation.
11504
11505         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
11506         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
11507         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
11508         (gst_ghost_pad_internal_do_activate_push),
11509         (gst_ghost_pad_internal_do_activate_pull),
11510         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11511         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11512         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
11513         (gst_ghost_pad_set_target):
11514         Small cleanups and leak fixes.
11515         Remove some checks now that the internal pad is never NULL.
11516         Fix the case where linking pads without a target would create nasty
11517         criticals. Fixes #341029.
11518         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
11519         value of _set_target().
11520
11521         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11522         (gst_ghost_pad_suite):
11523         Some more tests for creating and linking untargeted ghostpads.
11524
11525 2006-08-31  Edward Hervey  <edward@fluendo.com>
11526
11527         * docs/gst/gstreamer-sections.txt:
11528         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
11529         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
11530         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
11531         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
11532         (gst_ghost_pad_new_from_template),
11533         (gst_ghost_pad_new_no_target_from_template):
11534         * gst/gstghostpad.h:
11535         Refactored *_new() functions.
11536         Templates are now used as a g_object_new() parameter.
11537         Use template in _do_getcaps() if we don't have a target.
11538         Small documentation cleanups.
11539         Added two new constructors:
11540         gst_ghost_pad_new_from_template()
11541         gst_ghost_pad_new_no_target_from_template()
11542         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11543         (gst_ghost_pad_suite):
11544         Added tests for new ghostpad instanciation functions.
11545
11546         API additions: gst_ghost_pad_new_from_template,
11547         gst_ghost_pad_new_no_target_from_template
11548
11549 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
11550
11551         * docs/random/ensonic/profiling.txt:
11552           Ideas about qos profiling.
11553
11554 2006-08-29  Wim Taymans  <wim@fluendo.com>
11555
11556         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
11557         Code cleanups.
11558         Fix memleak.
11559
11560 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
11561
11562         * gst/gstxml.c:
11563           Improve and detypofy docs.
11564
11565         * tests/check/Makefile.am:
11566         * tests/check/gst/.cvsignore:
11567         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
11568           Add a basic test suite for GstXML.
11569
11570 2006-08-29  Wim Taymans  <wim@fluendo.com>
11571
11572         * gst/gstelement.c: (activate_pads), (clear_caps),
11573         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
11574         Clear the pad caps when the element shut down all of the pads and
11575         is not streaming data that could modify the caps. 
11576         Fixes #352958.
11577
11578 2006-08-28  Michael Smith  <msmith@fluendo.com>
11579
11580         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11581           Revert previous change; I misunderstood single-segment mode.
11582
11583 2006-08-28  Michael Smith  <msmith@fluendo.com>
11584
11585         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11586           Unset DISCONT on buffers when using single-segment mode.
11587
11588 2006-08-28  Wim Taymans  <wim@fluendo.com>
11589
11590         * gst/gstcaps.c: (gst_caps_merge_structure):
11591         * gst/gstcaps.h:
11592         Fix docs and indentation again.
11593
11594         * tests/check/gst/gstquery.c: (GST_START_TEST):
11595         Fix leak in tests and add some more tests.
11596
11597 2006-08-28  Edward Hervey  <edward@fluendo.com>
11598
11599         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11600         Inform GstSegment of the last stop position in order for the current
11601         segment to have a proper duration if it doesn't have a specific stop
11602         position from which a duration could be calculated.
11603         This bug was noticeable when a non-flushing, non-update new segment was
11604         followed by another segment (all buffers from the new segment were being
11605         dropped).
11606
11607 2006-08-28  Wim Taymans  <wim@fluendo.com>
11608
11609         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
11610         Small comment update.
11611
11612         * plugins/elements/gstidentity.c: (gst_identity_class_init),
11613         (gst_identity_transform_ip):
11614         Drop-probability is broken, mention this in the code with a 
11615         FIXME and also in the property description.
11616         Make silent also be silent about the drop messages.
11617
11618 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
11619
11620         * docs/manual/appendix-win32.xml:
11621           Remove mention of popt, we don't depend on that any
11622           longer (#353136). Add some comments pointing out that
11623           this section is slightly outdated.
11624
11625 2006-08-28  Wim Taymans  <wim@fluendo.com>
11626
11627         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
11628
11629         * gst/gstquery.c: (gst_query_new_segment):
11630         * tests/check/gst/gstquery.c: (GST_START_TEST):
11631         Initialize variables when creating a new segment query.
11632         Fixes #353121.
11633
11634 2006-08-28  Wim Taymans  <wim@fluendo.com>
11635
11636         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
11637
11638         * gst/gstelement.c: (gst_element_get_bus):
11639         * tests/check/gst/gstelement.c: (GST_START_TEST):
11640         Check for NULL before _reffing the bus. Fixes #353122.
11641
11642 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
11643
11644         * docs/manual/basics-bus.xml:
11645           Docs update: fix wrong callback return value explanation; add
11646           some lines about the implicit relationship between main loop
11647           and main context; remove duplicate main loop variable declaration.
11648
11649 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
11650
11651         * tests/check/gst/gstcaps.c: (GST_START_TEST):
11652           Don't leak caps in unit test; add a few more simple
11653           checks. 
11654
11655 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
11656
11657         * docs/gst/gstreamer-sections.txt:
11658         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
11659         (gst_caps_structure_is_subset), (gst_caps_merge),
11660         (gst_caps_merge_structure):
11661         * gst/gstcaps.h:
11662         * libs/gst/base/gstbasetransform.c:
11663         (gst_base_transform_transform_caps):
11664         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11665           implement caps merging (fixes #352580)
11666
11667 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
11668
11669         * tools/Makefile.am:
11670         * tools/gst-plot-timeline.py:
11671           add debug-log plotting developer tool (#340674)
11672
11673 2006-08-23  Wim Taymans  <wim@fluendo.com>
11674
11675         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
11676         (gst_pad_stop_task):
11677         Improve debugging for task functions.
11678
11679         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
11680         (gst_task_start), (gst_task_pause), (gst_task_join):
11681         Make sure that the task function started and finished after a 
11682         join(). 
11683         Don't try to push the task function on the threadpool multiple
11684         times.
11685         Improve the g_warning message with some useful suggestions
11686         about how to fix the problem. 
11687
11688 2006-08-23  Wim Taymans  <wim@fluendo.com>
11689
11690         * gst/gstutils.c: (gst_pad_proxy_getcaps):
11691         Handle RESYNC correctly in _proxy_getcaps.
11692
11693 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
11694
11695         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
11696         (gst_xml_parse_memory), (gst_xml_get_element):
11697           Chain up to parent class in dispose function and also
11698           unref the elements in the toplevel_elements GList.
11699           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
11700           Always return a reference in gst_xml_get_element() rather
11701           than only sometimes.
11702
11703         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11704           Don't leak GstXml object.
11705
11706 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
11707
11708         * docs/gst/gstreamer-sections.txt:
11709         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
11710         (gst_caps_merge):
11711         * gst/gstcaps.h:
11712         * libs/gst/base/gstbasetransform.c:
11713         (gst_base_transform_transform_caps):
11714           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
11715           in a better way
11716
11717 2006-08-21  Edward Hervey  <edward@fluendo.com>
11718
11719         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
11720         Implement GObject::dispose virtual method in GstXML so we can free the
11721         top_elements GList.
11722
11723 2006-08-21  Wim Taymans  <wim@fluendo.com>
11724
11725         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
11726         (gst_buffer_create_sub):
11727         Copy duration/offset_end/caps when creating a subbuffer of the
11728         complete parent.
11729         Make the subbuffer read-only when we make the metadata writable for
11730         now. Fixes #351768.
11731
11732         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11733         Added check for metadata copy when creating subbuffers.
11734
11735 2006-08-21  Edward Hervey  <edward@fluendo.com>
11736
11737         * libs/gst/base/gstbasetransform.c:
11738         (gst_base_transform_buffer_alloc):
11739         Only call downstream buffer_alloc if transform element is passthrough
11740         or always_in_place. Closes #350449.
11741
11742 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11743
11744         * ChangeLog:
11745           ChangeLog surgery to add comments to previous changes
11746
11747 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11748
11749         * gst/gst.c:
11750           Add comments
11751
11752         * gst/gstpad.c: (gst_pad_set_active):
11753           Be more verbose in the log
11754
11755         * libs/gst/base/gstbasetransform.c:
11756         (gst_base_transform_transform_caps):
11757           Simplify caps to get rid of duplicates, fixes #345444
11758
11759 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11760
11761         * gst/gstvalue.c:
11762         * gst/gstvalue.h:
11763           Use these optimizations only internally.
11764
11765 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11766
11767         * gst/gstvalue.c: (gst_value_compare_list),
11768         (gst_value_compare_fraction_range),
11769         (gst_value_intersect_fraction_fraction_range),
11770         (gst_value_intersect_fraction_range_fraction_range),
11771         (gst_value_subtract_fraction_fraction_range),
11772         (gst_value_subtract_fraction_range_fraction_range),
11773         (gst_value_get_compare_func), (gst_value_compare),
11774         (gst_value_compare_with_func):
11775         * gst/gstvalue.h:
11776           Saves the expensive lookup of the compare function in many cases
11777          (#345444)
11778
11779 2006-08-18  Edward Hervey  <edward@fluendo.com>
11780
11781         * tests/check/gst/gstinfo.c: (gst_info_suite):
11782         Disable test that require gstdebug if it wasn't built in core.
11783
11784 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
11785
11786         * docs/random/ensonic/logging.txt:
11787           update ideas
11788           
11789         * gst/gstinfo.c: (gst_debug_log_default):
11790           reorder fields, save some columns, add optional color codes for log
11791           levels
11792
11793 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
11794
11795         * docs/random/ensonic/logging.txt:
11796           add ideas about making the logs a bit more useful
11797
11798 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
11799
11800         * docs/pwg/advanced-events.xml:
11801         * docs/pwg/titlepage.xml:
11802           Update for 0.10 API (#340627). Add myself
11803           to authors list.
11804
11805 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
11806
11807         * docs/libs/gstreamer-libs-docs.sgml:
11808         * docs/libs/gstreamer-libs-sections.txt:
11809         * libs/gst/check/gstbufferstraw.c:
11810           Make gstcheck stuff show up in docs (still needs to
11811           be documented properly though).
11812
11813 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
11814
11815         * docs/gst/gstreamer-sections.txt:
11816         * gst/Makefile.am:
11817         * gst/gst.c: (init_post):
11818         * gst/gst_private.h:
11819         * gst/gstquark.c: (_priv_gst_quarks_initialize):
11820         * gst/gstquark.h:
11821         * gst/gstquery.c: (gst_query_new_position),
11822         (gst_query_set_position), (gst_query_parse_position),
11823         (gst_query_new_duration), (gst_query_set_duration),
11824         (gst_query_parse_duration), (gst_query_new_convert),
11825         (gst_query_set_convert), (gst_query_parse_convert),
11826         (gst_query_new_segment), (gst_query_set_segment),
11827         (gst_query_parse_segment), (gst_query_new_seeking),
11828         (gst_query_set_seeking), (gst_query_parse_seeking):
11829         Add internal helpers for pre-registering quarks from static strings
11830         and using the quark values directly instead of looking them up when
11831         creating and parsing queries. Can be used for event construction too.
11832         Closes #350432.
11833
11834 2006-08-16  Wim Taymans  <wim@fluendo.com>
11835
11836         * gst/gstbin.c:
11837         Fix bogus docs.
11838
11839 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11840
11841         * gst/gstutils.c: (gst_util_set_value_from_string):
11842           Fix memleak (#351502).
11843
11844         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11845           Add unit test for most of gst_util_set_value_from_string()
11846           (not that one would want to encourage use of this function).
11847
11848 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11849
11850         * libs/gst/check/gstcheck.h:
11851           Use const gchar * variables in fail_unless_equals_string
11852           macro to avoid compiler warnings (and don't use tabs for
11853           indenting).
11854
11855 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11856
11857         * tools/gst-launch.c: (print_tag):
11858           More space on the left for the tag names, to cater
11859           for the 'extended comment' tag (not touching the
11860           string for the first line since it's translated).
11861
11862 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11863
11864         * libs/gst/check/gstcheck.h:
11865           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
11866           print something when they fail.
11867
11868 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11869
11870         * docs/gst/gstreamer-sections.txt:
11871         * gst/gsttaglist.c: (_gst_tag_initialize):
11872         * gst/gsttaglist.h:
11873           API: add GST_TAG_EXTENDED_COMMENT (#350935).
11874           Also change merge function for GST_TAG_COMMENT to
11875           use_first.
11876
11877 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11878
11879         * gst/gstinfo.c: (gst_debug_print_object):
11880           Make GST_PTR_FORMAT print messages as well.
11881
11882         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
11883         (GST_START_TEST), (gst_info_suite):
11884           More tests.
11885
11886 2006-08-14  Edward Hervey  <edward@fluendo.com>
11887
11888         * gst/gstelementfactory.c: (gst_element_register):
11889         If the GstElementClass doesn't have a GstElementDetails with all fields
11890         filled up correctly (longname, description AND author), then error out
11891         nicely instead of crashing.
11892
11893 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11894
11895         * gst/gststructure.c:
11896           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
11897
11898         * gst/gstvalue.h:
11899           Expand on the difference between arrays and lists as we use them.
11900           
11901 2006-08-14  Wim Taymans  <wim@fluendo.com>
11902
11903         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11904         If the parent state change function failed, don't assume we can safely
11905         stop the source, this will be done when the pads are deactivated.
11906
11907 2006-08-14  Wim Taymans  <wim@fluendo.com>
11908
11909         * gst/gstbuffer.c:
11910         * gst/gsttask.c: (gst_task_join):
11911         Small doc updates.
11912
11913         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
11914         (gst_pad_stop_task):
11915         When pad (de)activation failed for some reason, restore the old
11916         activation mode and set the pad to flushing instead of assuming the
11917         pad is deactivated.
11918         If the _task_join() failed, reinstall the task on the pad so that it can
11919         be stopped later and return an error.
11920
11921 2006-08-11  Andy Wingo  <wingo@pobox.com>
11922
11923         * configure.ac:
11924         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
11925         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
11926         is only for users of API that don't want to see deprecated
11927         functions in the headers; people that want to compile out
11928         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
11929         CFLAGS. Fixes the build of multifdsink, or will soon..
11930
11931 2006-08-11  Wim Taymans  <wim@fluendo.com>
11932
11933         * docs/gst/gstreamer-sections.txt:
11934         Add GstClockClass vmethod docs.
11935
11936         * gst/gstcaps.h:
11937         Mark #endif with comment for associated #if
11938
11939         * gst/gstclock.c: (gst_clock_id_wait):
11940         * gst/gstclock.h:
11941         Add vmethod wait_jitter to avoid an unneeded _get_time() for
11942         most clock implementations.
11943         Document vmethods.
11944         Flesh out docs about resolution methods.
11945         API: GstClockClass::wait_jitter
11946
11947         * gst/gstsystemclock.c: (gst_system_clock_class_init),
11948         (gst_system_clock_async_thread),
11949         (gst_system_clock_id_wait_jitter_unlocked),
11950         (gst_system_clock_id_wait_jitter):
11951         Use base class wait_jitter variant for improved performance
11952         due to less clock polling.
11953
11954 2006-08-11  Edward Hervey  <edward@fluendo.com>
11955
11956         * gst/gst.c: (gst_init_check), (init_post):
11957         Set gst as being initialized before scanning/updating the registry,
11958         since there might be my python plugin loader that calls gst_init() and
11959         we don't want to loop back in.
11960         Closes #350879
11961
11962 2006-08-11  Wim Taymans  <wim@fluendo.com>
11963
11964         * docs/design/part-qos.txt:
11965         Bring docs in line with the code. Mostly the sign of the jitter was
11966         wrong in the docs. Fixes #349943.
11967
11968         * gst/gstclock.c:
11969         Fix the docs for the jitter.
11970
11971         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
11972         (gst_event_parse_tag), (gst_event_new_buffer_size),
11973         (gst_event_parse_buffer_size), (gst_event_parse_qos),
11974         (gst_event_new_seek), (gst_event_parse_seek),
11975         (gst_event_new_navigation):
11976         Make sure the GstStructure has no parent when creating custom
11977         events.
11978         Add some more argument checking so that we avoid 0.0 rates.
11979         Flesh out the docs for the QoS event some more.
11980
11981 2006-08-11  Wim Taymans  <wim@fluendo.com>
11982
11983         * docs/gst/gstreamer-sections.txt:
11984         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11985         (ensure_current_registry_forking), (ensure_current_registry),
11986         (parse_one_option), (parse_goption_arg), (gst_deinit),
11987         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
11988         * gst/gst.h:
11989         Doc updates.
11990         Added API and command line option to disable registry forking in
11991         addition to the environment variable.
11992         Constify some static arrays.
11993         Added some more debug.
11994         Don't deinit twice.
11995         API: gst_registry_fork_is_enabled()
11996         API: gst_registry_fork_set_enabled()
11997         API: --gst-disable-registry-fork command line option
11998         Fixes #348918.
11999
12000 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
12001
12002         * gst/gst.c: (gst_init):
12003           Fix typo in error message.
12004
12005 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12006
12007         * libs/gst/controller/gstcontroller.h:
12008           fix ABI size-correction
12009
12010         * tests/check/libs/gdp.c: (gst_dp_suite):
12011           make tests that use deprecated API conditional
12012
12013 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12014
12015         * docs/libs/gstreamer-libs-sections.txt:
12016         * libs/gst/controller/gstcontroller.c:
12017         (_gst_controller_get_property), (_gst_controller_set_property),
12018         (_gst_controller_init), (_gst_controller_class_init):
12019         * libs/gst/controller/gstcontroller.h:
12020         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
12021         (gst_object_set_control_rate):
12022           API: add gst_object_{s,g}et_control_rate(), add private data section,
12023           fix docs
12024
12025         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12026         * libs/gst/dataprotocol/dataprotocol.h:
12027           add deprecation guards to make gtk-doc happy and allow disabling cruft
12028
12029 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12030
12031         * tests/check/Makefile.am:
12032         * tests/check/gst/.cvsignore:
12033           Let's enable the new unit test as well.
12034
12035 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12036
12037         * configure.ac:
12038         * docs/gst/gstreamer-sections.txt:
12039         * gst/gstconfig.h.in:
12040         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
12041         (_gst_info_printf_extension_ptr),
12042         (_gst_info_printf_extension_segment):
12043           API: add GST_SEGMENT_FORMAT, which is a printf extension we
12044           register that lets us easily dump GstSegments into debug
12045           logs (#350419).
12046
12047         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
12048         (info_segment_format_printf_extension), (gst_info_suite):
12049           Add simple unit test that logs a bunch of different segments (not
12050           valgrinded at the moment because of leaks in
12051           gst_debug_add_log_function).
12052
12053 2006-08-09  Edward Hervey  <edward@fluendo.com>
12054
12055         * libs/gst/base/gstbasetransform.c:
12056         (gst_base_transform_buffer_alloc):
12057         Even if we can't figure out the proper format to request downstream,
12058         call buffer_alloc() downstream with the input parameters without setting
12059         the caps on the srcpad. This will force negotiation in the chain
12060         function.
12061         Closes #350449
12062
12063 2006-08-08  Edward Hervey  <edward@fluendo.com>
12064
12065         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12066         Unlinking from a pad without a target is now a perfectly valid case
12067         which should NOT raise an assertion.
12068         This case would happen if a linked ghostpad its target set to NULL after
12069         it was previously linked.
12070
12071 2006-08-08  Edward Hervey  <edward@fluendo.com>
12072
12073         * tests/check/libs/gdp.c:
12074         Also comment out the test (see below).
12075
12076 2006-08-08  Edward Hervey  <edward@fluendo.com>
12077
12078         * tests/check/libs/gdp.c: (gst_dp_suite):
12079         Use the architecture information from config.h and not gcc macros
12080         in order to properly disable a test that fails on PPC64.
12081
12082 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
12083
12084         * gst/gstelement.c: (gst_element_remove_pad):
12085           Don't crash printing the warning if the pad has no parent.
12086
12087 2006-08-02  Wim Taymans  <wim@fluendo.com>
12088
12089         * libs/gst/dataprotocol/dataprotocol.c:
12090         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
12091         (gst_dp_crc), (gst_dp_header_payload_length),
12092         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
12093         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
12094         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
12095         (gst_dp_event_from_packet), (gst_dp_validate_header),
12096         (gst_dp_validate_payload):
12097         Make debug category static
12098         Constify the crc table.
12099         Do some more arg checking in public functions.
12100         Fix some docs and do some small cleanups.
12101
12102         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
12103         Add some more checks to see if GDP deals with bogus input.
12104
12105 2006-07-31  Wim Taymans  <wim@fluendo.com>
12106
12107         * gst/gstvalue.c: (gst_value_compare_list):
12108         Fix GstValueList comparison code. Fixes #347293.
12109
12110         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12111         Check to test GstValueList comparison.
12112
12113 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
12114
12115         * gst/gstelementfactory.c: (gst_element_factory_create):
12116         Remove unnecessary ref/unref pair
12117
12118         * gst/parse/grammar.y:
12119         Make sure to free the parse buffer on all code paths.
12120         Move a g_free up to the error handler where it's easier to see.
12121
12122         * tests/check/gst/gstevent.c: (test_event):
12123         Extending timeout for downstream travelling events to 10 seconds to
12124         hopefully avoid intermittent failure on the buildbots.
12125
12126         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
12127         Don't manually set the state of the src element - it will happen as a
12128         natural consequence of the pipeline changing state, and that way it
12129         will do it in the right order too.
12130
12131 2006-07-31  Wim Taymans  <wim@fluendo.com>
12132
12133         * libs/gst/base/gstbasetransform.c:
12134         (gst_base_transform_buffer_alloc):
12135         Use OBJECT_LOCK and refcounting to get the pad caps in the
12136         buffer_alloc function because the caps could change while we are
12137         busy with them. Fixes #349105
12138
12139 2006-07-31  Wim Taymans  <wim@fluendo.com>
12140
12141         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
12142         Protect _PAD_CAPS with OBJECT_LOCK.
12143
12144 2006-07-31  Wim Taymans  <wim@fluendo.com>
12145
12146         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12147         (gst_pad_get_property), (gst_pad_activate_pull),
12148         (gst_pad_activate_push), (gst_pad_set_blocked_async),
12149         (gst_pad_set_activate_function),
12150         (gst_pad_set_activatepull_function),
12151         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
12152         (gst_pad_set_getrange_function),
12153         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
12154         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
12155         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
12156         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
12157         (gst_pad_set_acceptcaps_function),
12158         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12159         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
12160         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
12161         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
12162         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
12163         (gst_pad_configure_sink), (gst_pad_configure_src),
12164         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
12165         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
12166         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
12167         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
12168         (gst_pad_send_event):
12169         Use _DEBUG_OBJECT when it makes sense.
12170         Protect GST_PAD_CAPS with the OBJECT_LOCK.
12171         Small cleanups and code reflows.
12172         Avoid caps refcounting in _accept_caps.
12173         Refactor alloc_buffer so that the code performed on the peer is in a
12174         separate function. Also if the pad does not implement a buffer alloc
12175         function, we should still check if the pad is flushing before falling
12176         back to the default allocator.
12177
12178 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
12179
12180         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12181         Make all uses of identity and fakesink have silent=true to avoid
12182         serialising every passing data structure, which is breaking tests
12183         on FC4 for some unknown reason.
12184
12185 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
12186
12187         * gst/parse/Makefile.am:
12188         * gst/parse/grammar.y:
12189         * gst/parse/parse.l:
12190           Reverted previous patch as it required to bump the flex dependency to
12191           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
12192
12193 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
12194
12195         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
12196
12197         * gst/parse/Makefile.am:
12198         * gst/parse/grammar.y:
12199         * gst/parse/parse.l:
12200           push & pop the state of the lexer for reentrant use case
12201           Fixes #349180
12202
12203 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
12204
12205         * libs/gst/base/gstbasesrc.h:
12206           Note in the docs that the ::newsegment vfunc is not actually used by
12207           GstBaseSrc.
12208
12209 2006-07-28  Wim Taymans  <wim@fluendo.com>
12210
12211         * libs/gst/base/gstcollectpads.c:
12212         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
12213         (gst_collect_pads_clear), (gst_collect_pads_flush),
12214         (gst_collect_pads_event), (gst_collect_pads_chain):
12215         When flushing a pad, also clear the queued buffer so that we don't
12216         accidentally use it when we shouldn't.
12217         Fix leaks by inreffing incomming buffer.
12218         Flush out queued buffers in case of errors.
12219         Fixes #347452.
12220
12221 2006-07-28  Wim Taymans  <wim@fluendo.com>
12222
12223         * docs/random/phonon-gst:
12224         Random notes about a Phonon backend.
12225
12226 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
12227
12228         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12229         Extra debug output
12230         * tests/check/libs/gdp.c: (gst_dp_suite):
12231         Take a whack at fixing the ppc compile using a different define to
12232         disable the broken test.
12233
12234         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12235         Remove excess g_print()
12236
12237 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
12238
12239         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
12240         Oops, meant to uncomment this line too to dampen the noise a bit.
12241
12242 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
12243
12244         * gst/parse/grammar.y:
12245         * gst/parse/parse.l:
12246         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
12247         (GST_START_TEST), (parse_suite):
12248         Fix some of the leaks exposed by extending the parse-launch testsuite,
12249         and move the 3 I can't figure out into a separate test that won't run
12250         the pipelines unless the appropriate line is uncommented.
12251
12252 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
12253
12254         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
12255           Requesting 0 bytes before the end of the file should result in
12256           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
12257           unit test.
12258
12259 2006-07-27  Wim Taymans  <wim@fluendo.com>
12260
12261         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
12262         Fix useless assert, a uint is always positive.
12263
12264         * gst/gststructure.c: (gst_structure_nth_field_name),
12265         (gst_structure_foreach), (gst_structure_map_in_place):
12266         Check input arguments for public functions to avoid obvious crashes.
12267
12268         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
12269         * plugins/elements/gstfakesink.h:
12270         Do less useless typechecking.
12271
12272 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
12273
12274         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
12275           Do not use mmap() by default since there are a number of error
12276           conditions that we would like to handle in a non-fatal way that
12277           will result in a SIGBUS if we use mmap(). Examples: external
12278           devices (USB harddrive, portable music player) being unplugged
12279           while in use; file on mounted CD/DVD that can't be read because
12280           the medium is partly damaged. Fixes #348455 and #348475.
12281
12282 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
12283
12284         * gst/gstquery.h:
12285         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
12286         rates are a gdouble
12287
12288 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
12289
12290         * gst/gstregistry.c:
12291           Move big documentation comment into class section header, so that it
12292           appears in the API docs.
12293
12294 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
12295
12296         * docs/gst/gstreamer-sections.txt:
12297         Oops. Commit the docs additions too for new API.
12298         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
12299
12300 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
12301
12302         * gst/gststructure.c: (gst_structure_id_set),
12303         (gst_structure_id_set_valist):
12304         * gst/gststructure.h:
12305         Add API for setting values into structures without performing
12306         a quark lookup, if the appropriate quark is already known.
12307
12308         API: gst_structure_id_set
12309         API: gst_structure_id_set_valist
12310
12311         * gst/parse/grammar.y:
12312         * gst/parse/parse.l:
12313         Remove some dead code shown by the coverage information.
12314         Don't throw a critical g_warning when encountering a syntax error,
12315         just warn and let the normal error path handle it.
12316
12317         * plugins/elements/gstelements.c:
12318         Bump the rank of filesink up to PRIMARY so that it is preferred over
12319         gnomevfssink for file:// sink uri's
12320
12321         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
12322         (GST_START_TEST), (run_delayed_test),
12323         (gst_parse_test_element_base_init),
12324         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
12325         (gst_parse_test_element_change_state),
12326         (gst_register_parse_element), (parse_suite):
12327         Beef up the tests for parse syntax to check that more error cases
12328         fail as they are supposed to. Increases the test coverage a bit.
12329
12330 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
12331
12332         * docs/manual/basics-elements.xml:
12333           Fix gst_element_link() example.
12334
12335         * gst/gstutils.c:
12336           Mention in API docs that one should usually gst_bin_add()
12337           elements to a bin or pipeline before doing the linking.
12338           
12339 2006-07-26  Wim Taymans  <wim@fluendo.com>
12340
12341         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
12342         (gst_subbuffer_get_type), (gst_buffer_create_sub):
12343         Avoid function call for known types by keeping the buffer and
12344         subbuffer GType global.
12345
12346         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
12347         Random silly optimisations in read() path.
12348
12349 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
12350
12351         * tools/gst-launch.c: (main):
12352           If the top-level of the parse is a normal bin, it doesn't do the
12353           right logic to run as a top-level element, so place it inside a
12354           pipeline.
12355
12356 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
12357
12358         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
12359           Remove superfluous g_object_notify() calls, GObject does
12360           that for us automatically.
12361
12362 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
12363
12364         * gst/gstinfo.h:
12365           on Win32, use dllspec to export the debug category symbols
12366
12367 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
12368
12369         * gst/gsttaglist.c: (_gst_tag_initialize):
12370           Allow more than one GST_TAG_IMAGE per taglist.
12371
12372 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12373
12374         * gst/gstminiobject.c:
12375           update docs
12376         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
12377         (gst_fd_src_create):
12378           log recurring events at LOG level
12379           add more debug for when the fd gets set
12380
12381 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
12382
12383         * gst/gstparse.c: (gst_parse_launch):
12384           Also remove reentrance checks if flex is MT safe (#348179)
12385          Fix my empty ChangeLog entry below
12386
12387 2006-07-21  Andy Wingo  <wingo@pobox.com>
12388
12389         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
12390
12391         * libs/gst/check/Makefile.am
12392         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
12393         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
12394         * libs/gst/check/gstbufferstraw.h:
12395         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
12396         functions, thus proving I am still a GStreamer haxor. OK I wrote
12397         them a long time ago, but anyways.
12398
12399 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
12400
12401         * configure.ac:
12402         * gst/gstparse.c: (gst_parse_launch):
12403           Check for flex version and omit mutex if we have a MT save flex
12404           (fixes #348179)
12405
12406 2006-07-21  Wim Taymans  <wim@fluendo.com>
12407
12408         * gst/gstparse.c: (gst_parse_launch):
12409         Protect recursive calls to _parse with a recursive mutex
12410         and busy flag.
12411
12412 2006-07-21  Wim Taymans  <wim@fluendo.com>
12413
12414         * tests/check/gst/gstpad.c: (GST_START_TEST):
12415         Fix leak in test.
12416
12417 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
12418
12419         * gst/gstparse.c: (gst_parse_launch):
12420           Do not hang on recursive usage of gst_parse_launch()
12421
12422 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
12423
12424         * gst/gsttaglist.c:
12425           Add some more docs, comments and FIXME 0.11s here and there
12426           and also fix some typos.
12427
12428 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
12429
12430         * gst/gstsegment.h:
12431           Convert tabs to spaces for better readability. 
12432
12433 2006-07-20  Edward Hervey  <edward@fluendo.com>
12434
12435         * tests/check/libs/gdp.c: (gst_dp_suite):
12436         the test_buffer test fails at line 140 on ppc64 at the following
12437         check:
12438         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
12439                 GST_BUFFER_FLAG_IN_CAPS),
12440                 "GST_BUFFER_IN_CAPS flag should have been copied !");
12441         See bug #348114 for more details.
12442
12443 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
12444
12445         * docs/pwg/advanced-scheduling.xml:
12446         * gst/gstpad.c:
12447           Fix typos (#348000).
12448
12449 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
12450
12451         * docs/pwg/intro-basics.xml:
12452           Fix wrong links (#347927).
12453
12454 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
12455
12456         * gst/gstregistry.h:
12457         * gst/gstregistryxml.c: (load_feature),
12458         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
12459         * win32/common/config.h:
12460           make --disable-index work (#342564)
12461
12462 2006-07-18  Wim Taymans  <wim@fluendo.com>
12463
12464         Patch by: Peter Kjellerstedt <pkj at axis dot com>
12465
12466         * gst/Makefile.am:
12467         * gst/gsttrace.h:
12468         The attached patch adds two missing defines to gsttrace.h when tracing
12469         is disabled.  It also corrects one existing define.
12470         Fixes #347756.
12471
12472 2006-07-17  Wim Taymans  <wim@fluendo.com>
12473
12474         * docs/gst/gstreamer-sections.txt:
12475         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
12476         * gst/gst.h:
12477         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
12478         Add two functions to check and change the SIGSEGV behaviour
12479         when loading plugins.
12480         Don't mess with the SIGSEGV handler when we were told not to.
12481         Fixes #347794.
12482         API: gst_segtrap_is_enabled
12483         API: gst_segtrap_set_enabled
12484
12485 2006-07-14  Wim Taymans  <wim@fluendo.com>
12486
12487         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
12488         * tests/check/elements/filesrc.c: (GST_START_TEST):
12489         Revert fix for regression in #347408 after release.
12490
12491 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
12492
12493         Patch by: Antoine Tremblay <hexa00 at gmail com>
12494
12495         * gst/gstutils.c: (gst_element_unlink):
12496           Free iterator when done (#347311).
12497
12498         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12499           And add a test case for this.
12500
12501 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
12502
12503         * configure.ac:
12504         Bump nano back to CVS
12505
12506 === release 0.10.9 ===
12507
12508 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
12509
12510         * configure.ac:
12511           releasing 0.10.9, "On the road again"
12512
12513 2006-07-13  Wim Taymans  <wim@fluendo.com>
12514
12515         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
12516         * tests/check/elements/filesrc.c: (GST_START_TEST):
12517         Revert pull-0 fix for release. Disable check. Fixes #347408.
12518
12519 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12520
12521         * libs/gst/dataprotocol/dataprotocol.c:
12522         (gst_dp_event_from_packet_1_0):
12523           Fixes #347337: failure to deserialize event packets with
12524           empty payload (only event type)
12525
12526 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12527
12528         * gst/Makefile.am:
12529           do not install a .c file in the header directory
12530
12531 2006-07-13  Edward Hervey  <edward@fluendo.com>
12532
12533         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
12534         GhostPad no longer implicitely use the padtemplates of the targets.
12535         Fixes #347384
12536
12537 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
12538
12539         * gst/gstvalue.c: (gst_value_compare_list),
12540         (gst_value_compare_array), (_gst_value_initialize):
12541         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12542         Make GstValueArray comparison be order dependent as designed.
12543         Add checks for value lists and value array comparisons.
12544         Fixes #347221
12545
12546 2006-07-11  Edward Hervey  <edward@fluendo.com>
12547
12548         * gst/gstbin.c: (activate_pads),
12549         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
12550         (gst_bin_change_state_func):
12551         (de)activate src pads before calling state_change on the childs.
12552         This is to avoid the case where a src ghostpad is blocked (holding the
12553         stream lock), which would block the deactivation of the ghostpad's
12554         target pad.
12555         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
12556         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
12557         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
12558         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12559         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12560         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12561         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12562         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
12563         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
12564         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12565         (gst_ghost_pad_class_init),
12566         (gst_ghost_pad_internal_do_activate_push),
12567         (gst_ghost_pad_internal_do_activate_pull),
12568         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12569         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12570         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
12571         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
12572         GhostPads now create their internal GstProxyPad at creation (and not
12573         when they're linked, as it was being done previously).
12574         The internal and target pads are linked straight away.
12575         The data will also travel through the other pad in order to make
12576         pad blocking and probes non-hackish (the probe/block now really happens
12577         on the GhostPad and not on the target).
12578         * gst/gstpad.c: (gst_pad_set_blocked_async),
12579         (gst_pad_link_prepare), (gst_pad_push_event):
12580         Remove previous ghostpad cruft.
12581         * gst/gstutils.c: (gst_pad_add_data_probe),
12582         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12583         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12584         (gst_pad_remove_buffer_probe):
12585         Remove previous ghost pad cruft.
12586         Added more detailed debug statements.
12587         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12588         Fix the testsuite for refcounting changes.
12589         The comments about who has references were correct, but the refcount
12590         being checked wasn't the same (!?!).
12591
12592         Fixes #341029
12593
12594 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
12595
12596         * docs/gst/gstreamer-sections.txt:
12597         * gst/gstconfig.h.in:
12598         More docs for configuration options, add docs to gtk-doc.
12599
12600 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
12601
12602         * gst/Makefile.am:
12603         * gst/gstconfig.h.in:
12604         * win32/common/config.h:
12605         Fix build when disabling tracing (fixes #344016). Also start to document
12606         the defines that disable the sub-systems.
12607
12608 2006-07-10  Edward Hervey  <edward@fluendo.com>
12609
12610         * gst/gst.c: (ensure_current_registry_forking):
12611         let's make valgrind happy...
12612
12613 2006-07-09  Wim Taymans  <wim@fluendo.com>
12614
12615         * gst/gstelement.c: (activate_pads),
12616         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12617         Better pad activation code: Reset the collect value too on resync.
12618         Add some comments.
12619
12620 2006-07-09  Wim Taymans  <wim@fluendo.com>
12621
12622         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
12623         (gst_pad_activate_push):
12624         Use some more macros where it makes sense.
12625         Allow pad mode switching instead of asserting. When a pad
12626         is activated in one mode and we activate it in another, 
12627         deactivate it first before activating it in a different mode.
12628         Fixes #329198.
12629
12630 2006-07-08  Andy Wingo  <wingo@pobox.com>
12631
12632         * tools/gst-launch.c (main): Handle err == NULL.
12633
12634         * gst/gst.c (init_post, ensure_current_registry)
12635         (ensure_current_registry_forking)
12636         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
12637         factoring out the registry scanning into separate functions. Don't
12638         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
12639         Better environment var name/interface suggestions accepted.
12640
12641 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12642
12643         * gst/gstobject.c: (gst_object_set_name_default),
12644         (gst_object_set_name):
12645           Random micro-optimisation: don't use a hash table
12646           with strings as keys and the usual strdup/strcmp
12647           involved, but rather just use the GQuark of the
12648           type name as key, since it needs to be looked up
12649           anyway to get the type name string.
12650
12651         * tests/check/gst/gstobject.c: (GST_START_TEST):
12652           Fix various leaks.
12653
12654 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12655
12656         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
12657         (gst_bin_iterate_all_by_interface):
12658           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
12659           GTypes are gulongs and thus the top 4 bytes might be cut
12660           off on some platforms when doing GPOINTER_TO_INT, leading
12661           to invalid GTypes and bad things happening (see RH bug #179654).
12662           Also add a check to make sure the type passed in is really
12663           an interface type.
12664
12665 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12666
12667         * .cvsignore:
12668           Ignore more.
12669
12670 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12671
12672         * Makefile.am:
12673         * configure.ac:
12674         * gst-element-check.m4:
12675         * gst-element-check.m4.in:
12676           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
12677           instead of the unversioned gst-inspect (#324176, #168659).
12678
12679 2006-07-06  Wim Taymans  <wim@fluendo.com>
12680
12681         * gst/gstmessage.h:
12682         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
12683         warnings.
12684
12685 2006-07-06  Wim Taymans  <wim@fluendo.com>
12686
12687         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12688         (gst_base_src_wait), (gst_base_src_update_length),
12689         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
12690         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
12691         (gst_base_src_loop), (gst_base_src_start),
12692         (gst_base_src_activate_pull):
12693         Update docs.
12694         blocksize == 0 now means the default blocksize when working in push
12695         based mode.
12696         Remove some pointless asserts in _wait function.
12697         Fix offset/length calculations and EOS handling. We can now pull 0
12698         bytes as well, which is allowed.
12699         use _check_get_range() to decide if we can operate in _pull based
12700         mode.
12701         Fix refcounting leak when check_get_range function was not 
12702         implemented.
12703         API GstBaseSrc::blocksize range can be 0 too now (default)
12704
12705         * tests/check/elements/filesrc.c: (GST_START_TEST),
12706         (filesrc_suite):
12707         Added check to test _get_range() behaviour.
12708
12709 2006-07-06  Wim Taymans  <wim@fluendo.com>
12710
12711         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
12712         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
12713         (gst_pad_pull_range):
12714         * gst/gstpad.h:
12715         Lots of comments and docs added to the pad functions.
12716         Flesh out the expected behaviour of the get_range() functions.
12717
12718 2006-07-06  Wim Taymans  <wim@fluendo.com>
12719
12720         * gst/gstbus.h:
12721         * gst/gstclock.h:
12722         * gst/gstevent.h:
12723         * gst/gstiterator.h:
12724         * gst/gstpad.h:
12725         * gst/gstplugin.h:
12726         * gst/gsttask.h:
12727         Remove comma at end of enumerator list. 
12728
12729 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
12730
12731         * win32/common/libgstbase.def:
12732         * win32/common/libgstdataprotocol.def:
12733         * win32/common/libsgtreamer.def:
12734         Add new exported functions.
12735
12736 2006-07-05  Wim Taymans  <wim@fluendo.com>
12737
12738         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
12739         Add some more docs here and there.
12740
12741 2006-07-05  Wim Taymans  <wim@fluendo.com>
12742
12743         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
12744         (gst_base_sink_loop), (gst_base_sink_get_position):
12745         When operating in pull mode update the offset so that we
12746         read sequentially.
12747
12748 2006-07-05  Wim Taymans  <wim@fluendo.com>
12749
12750         * gst/gstregistryxml.c: (read_string):
12751         Avoid strdup. (will happen in libxml, but hey!)
12752
12753         * gst/gsturi.c:
12754         Add some more docs.
12755
12756 2006-07-05  Wim Taymans  <wim@fluendo.com>
12757
12758         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
12759         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
12760         (gst_buffer_suite):
12761         No point in checking if the size of the subbuffer > 0, the
12762         code handles it correclty as demonstrated by unit test.
12763         Also add a unit test for the zero sized _new_and_alloc and
12764         _copy. Fixes #346663.
12765
12766 2006-07-05  Wim Taymans  <wim@fluendo.com>
12767
12768         * libs/gst/base/gstbasetransform.c:
12769         (gst_base_transform_prepare_output_buffer),
12770         (gst_base_transform_buffer_alloc),
12771         (gst_base_transform_handle_buffer):
12772         Make sure the buffer we pass to transform_ip has a refcount of
12773         1 and thus is writable. Fixes #343196
12774
12775 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
12776
12777         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
12778         (gst_file_src_init), (gst_file_src_set_property),
12779         (gst_file_src_get_property), (gst_file_src_map_region):
12780         * plugins/elements/gstfilesrc.h:
12781         Add "sequential" property, off by default, to use madvise and hint
12782         to the kernel that sequential access is desired.
12783         Touch all retrieved pages by default to ensure they are pulled
12784         into memory. (Closes #345720)
12785
12786 2006-07-03  Wim Taymans  <wim@fluendo.com>
12787
12788         * docs/design/part-block.txt:
12789         * docs/design/part-dynamic.txt:
12790         Small docs updates.
12791
12792 2006-07-03  Wim Taymans  <wim@fluendo.com>
12793
12794         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
12795         (gst_caps_unref), (gst_static_caps_get),
12796         (gst_caps_append_structure):
12797         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
12798         Use GSlice when the glib we build against is >= 2.10
12799
12800 2006-07-03  Wim Taymans  <wim@fluendo.com>
12801
12802         * gst/gstelement.c: (gst_element_pads_activate):
12803         Small cleanup in pad activation code.
12804
12805 2006-07-03  Wim Taymans  <wim@fluendo.com>
12806
12807         Patch by: Peter Kjellerstedt <pkj at axis dot com>
12808
12809         * gst/gst-i18n-app.h:
12810         * gst/gst-i18n-lib.h:
12811         * tools/gst-inspect.c: (print_signal_info):
12812         The attached patch will make the inclusion of gettext.h unconditional in
12813         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
12814         libintl.h in tools/gst-inspect.c.
12815         This allows use of --disable-nls again and fixes #344642.
12816
12817 2006-07-03  Edward Hervey  <edward@fluendo.com>
12818
12819         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
12820         Implement pad blocking on events according to part-block.txt.
12821         More comments on behaviour.
12822         * tests/check/gst/gstevent.c: (test_event):
12823         Send event to peer pad of blocked pad (else it will block).
12824
12825 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12826
12827         * libs/gst/check/gstcheck.c: (gst_check_message_error),
12828         (gst_check_run_suite):
12829           if we get the wrong message, give us the types as string
12830         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
12831           Fix a translatable
12832         * tests/check/elements/filesrc.c: (GST_START_TEST):
12833           add a test for trying to open a non-existing file
12834
12835 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12836
12837         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12838           add a test for adding self
12839
12840 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12841
12842         * libs/gst/check/gstcheck.h:
12843           add some assert_ as alias for fail_unless_*
12844         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
12845           increase test coverage
12846
12847 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12848
12849         * Makefile.am:
12850           include lcov.mak for lcov coverage generation
12851         * tools/Makefile.am:
12852           add to CLEANFILES
12853
12854 2006-07-02  Edward Hervey  <edward@fluendo.com>
12855
12856         * tests/check/elements/.cvsignore:
12857         moaping
12858
12859 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12860
12861         * configure.ac:
12862           don't set CFLAGS and friends for gcov, done from GST_GCOV now
12863         * tests/check/Makefile.am:
12864           clean up gcov files
12865
12866 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12867
12868         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
12869           remove gst_caps_simplify; it was not declared and not used
12870           and deprecated in 0.8
12871
12872 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12873
12874         * docs/faq/gst-uninstalled:
12875           don't put empty paths on PYTHONPATH
12876         * docs/gst/gstreamer-sections.txt:
12877           remove some symbols that are not there
12878
12879 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12880
12881         * gst/gstcaps.c: (gst_caps_compare_structures):
12882           whitespace fixes
12883         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12884         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12885           add more tests
12886
12887 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12888
12889         * libs/gst/dataprotocol/Makefile.am:
12890           build dataprotocol test by linking to the lib, instead of
12891           compiling the source, so we get coverage
12892         * tests/check/Makefile.am:
12893         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
12894         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
12895           add a test for filesrc
12896
12897 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12898
12899         * tests/check/gst/gststructure.c: (GST_START_TEST),
12900         (gst_structure_suite):
12901           Push coverage from 59.04% to 70.00%
12902
12903 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12904
12905         * tests/check/Makefile.am:
12906           gst-inspect every element; this makes sure that we also get
12907           coverage on element's get/set functions
12908
12909 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12910
12911         * configure.ac:
12912           set CFLAGS and friends to -O0 if gcov is being used
12913           add GCOV LIBS
12914         * gst/Makefile.am:
12915         * libs/gst/base/Makefile.am:
12916         * libs/gst/check/Makefile.am:
12917         * libs/gst/controller/Makefile.am:
12918         * libs/gst/dataprotocol/Makefile.am:
12919         * libs/gst/net/Makefile.am:
12920         * plugins/elements/Makefile.am:
12921         * plugins/indexers/Makefile.am:
12922           add makefile rules to generate gcov data and clean up
12923         * tests/check/Makefile.am:
12924           add a coverage target that generates an html overview
12925           of coverage data
12926
12927 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12928
12929         * tests/check/elements/fakesink.c:
12930         * tests/check/elements/fakesrc.c:
12931         * tests/check/elements/fdsrc.c:
12932         * tests/check/elements/identity.c:
12933         * tests/check/generic/sinks.c: (gst_sinks_suite):
12934         * tests/check/generic/states.c:
12935         * tests/check/gst/gst.c:
12936         * tests/check/gst/gstabi.c:
12937         * tests/check/gst/gstbin.c:
12938         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
12939         * tests/check/gst/gstbus.c: (gst_bus_suite):
12940         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12941         * tests/check/gst/gstelement.c:
12942         * tests/check/gst/gstevent.c: (gst_event_suite):
12943         * tests/check/gst/gstghostpad.c:
12944         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
12945         * tests/check/gst/gstmessage.c: (gst_message_suite):
12946         * tests/check/gst/gstminiobject.c:
12947         * tests/check/gst/gstobject.c:
12948         * tests/check/gst/gstpad.c:
12949         * tests/check/gst/gstpipeline.c:
12950         * tests/check/gst/gstplugin.c:
12951         * tests/check/gst/gstquery.c: (gst_query_suite):
12952         * tests/check/gst/gstsegment.c: (gst_segment_suite):
12953         * tests/check/gst/gststructure.c:
12954         * tests/check/gst/gstsystemclock.c:
12955         * tests/check/gst/gsttag.c:
12956         * tests/check/gst/gsttask.c: (gst_task_suite):
12957         * tests/check/gst/gstutils.c:
12958         * tests/check/gst/gstvalue.c:
12959         * tests/check/libs/adapter.c:
12960         * tests/check/libs/basesrc.c:
12961         * tests/check/libs/collectpads.c:
12962         * tests/check/libs/controller.c:
12963         * tests/check/libs/gdp.c: (gst_dp_suite):
12964         * tests/check/libs/gstnetclientclock.c:
12965         * tests/check/libs/gstnettimeprovider.c:
12966         * tests/check/libs/libsabi.c: (libsabi_suite):
12967         * tests/check/libs/typefindhelper.c:
12968         * tests/check/pipelines/cleanup.c:
12969         * tests/check/pipelines/parse-launch.c:
12970         * tests/check/pipelines/simple-launch-lines.c:
12971         * tests/check/pipelines/stress.c: (stress_suite):
12972           use the new macro
12973
12974 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12975
12976         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
12977         * libs/gst/check/gstcheck.h:
12978           create a macro and function so that the simple unit test
12979           case can be just one macro to create main()
12980
12981 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
12982
12983         * gst/gstbin.c: (gst_bin_restore_thyself):
12984         * gst/gstxml.c: (gst_xml_make_element):
12985           Fix deserialisation from XML. Set parent manually
12986           instead of using gst_bin_add(), since gst_bin_add()
12987           will unlink all pads of the element being added.
12988           Fixes #341667.
12989
12990 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
12991
12992         Patch by: Peter Kjellerstedt <pkj at axis com>
12993
12994         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
12995           Fix missing g_strdup() and double free when using the
12996           --gst-plugin-load command line option (#346097).
12997
12998 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
12999
13000         * gst/gstinfo.c:
13001           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
13002
13003         * libs/gst/net/gstnetclientclock.c:
13004         * libs/gst/net/gstnettimeprovider.c:
13005           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
13006
13007 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
13008
13009         * docs/manual/advanced-dataaccess.xml:
13010           Fix buffer probe example compilation in
13011           ADM (#345708).
13012         
13013 2006-06-22  Edward Hervey  <edward@fluendo.com>
13014
13015         * gst/gstelement.c: (gst_element_pads_activate):
13016         We need to deactivate src pads first and then sink pads.
13017         The reason is the src pads might be blocking while holding the streaming
13018         lock, so we need to deactivate them first so that deactivating the sink
13019         pads doesn't block (since it will require the streaming lock).
13020
13021 2006-06-22  Wim Taymans  <wim@fluendo.com>
13022
13023         * libs/gst/base/gstbasetransform.c:
13024         (gst_base_transform_buffer_alloc):
13025         Forgot to remove two unneeded unrefs.
13026         Simplify a check _is_equal allready checks the obvious case.
13027
13028 2006-06-22  Wim Taymans  <wim@fluendo.com>
13029
13030         * docs/design/part-block.txt:
13031         Some docs about what pad_block should do.
13032
13033 2006-06-22  Wim Taymans  <wim@fluendo.com>
13034
13035         * gst/gstcaps.c: (gst_caps_replace):
13036         Fix crasher when passed NULL. Doc clarification.
13037         Optimize for the trivial case.
13038
13039         * gst/gstpipeline.c: (gst_pipeline_change_state):
13040         Small cleanups.
13041
13042         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13043         Small documentation cleanup.
13044
13045         * libs/gst/base/gstbasetransform.c:
13046         (gst_base_transform_buffer_alloc):
13047         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
13048         is what we need and it avoids a whole lot of redundant 
13049         refcount operations.
13050
13051 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
13052
13053         Patch by: Philip Jägenstedt  <philip at lysator liu se>
13054
13055         * docs/manual/advanced-dataaccess.xml:
13056           Fix 'Embedding static elements' section to use
13057           GST_PLUGIN_DEFINE_STATIC (#345607).
13058
13059 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13060
13061         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
13062           Attempt to 'fix' spuriously failing test case: it seems like the
13063           timeout of half a second is simply too small when the system is under
13064           load otherwise, and the timeout doesn't really seem to serve any
13065           particular purpose here. Give the pipeline a few seconds to preroll
13066           first, and then give it another half a second to go from PAUSED to
13067           PLAYING and marshal the message into the main thread.
13068
13069 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13070
13071         * tools/gst-feedback-m.m:
13072           Don't only use unversioned tools, try versioned tools as well
13073           (#345086).
13074
13075 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13076
13077         * gst/gstbus.c: (gst_bus_class_init):
13078           Fix some typos, make docs more explicit.
13079
13080 2006-06-20  Wim Taymans  <wim@fluendo.com>
13081
13082         * tests/check/gst/gstghostpad.c: (block_callback),
13083         (GST_START_TEST), (gst_ghost_pad_suite):
13084         Added some more ghostpad tests, mainly blocking
13085         and probes.
13086
13087 2006-06-16  Wim Taymans  <wim@fluendo.com>
13088
13089         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
13090         (gst_file_sink_close_file), (gst_file_sink_do_seek),
13091         (gst_file_sink_event), (gst_file_sink_render):
13092         * plugins/elements/gstfilesink.h:
13093         Check if we can seek in the file instead of assuming
13094         we always can. Post an error when we are asked to seek in a
13095         non-seekable file (like a fifo). Fixes #343312.
13096         Some cleanups.
13097
13098 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
13099
13100         * tools/gst-launch.1.in:
13101           Un-garble (fourcc) bit in filtered caps section.
13102
13103 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
13104
13105         * docs/manual/advanced-autoplugging.xml:
13106         * docs/manual/basics-helloworld.xml:
13107         * docs/manual/highlevel-components.xml:
13108           Don't leak bus reference in sample code.
13109
13110 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
13111
13112         * autogen.sh:
13113           Add default for new --enable-plugin-docs switch.
13114
13115         * configure.ac:
13116           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
13117           Fixes #344039.
13118
13119         * docs/Makefile.am:
13120           Use new ENABLE_PLUGIN_DOCS conditional.
13121
13122 2006-06-14  Wim Taymans  <wim@fluendo.com>
13123
13124         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
13125         Make it clear with a FIXME and a real define what the #if 0
13126         previously disabled.
13127
13128 2006-06-14  Wim Taymans  <wim@fluendo.com>
13129
13130         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13131         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
13132         * libs/gst/base/gstbasetransform.c:
13133         (gst_base_transform_sink_eventfunc):
13134         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13135         Don't randomly and silently reset a segment when the format 
13136         changes as this is a bug somewhere upstream. Fixes #330379.
13137
13138 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
13139
13140         Patch by: Wouter Paesen  <wouter at kangaroot net>
13141
13142         * libs/gst/controller/gstcontroller.c:
13143         (gst_controlled_property_new):
13144           Fix controlling of float properties (#344849).
13145
13146         * tests/check/libs/controller.c:
13147         (gst_test_mono_source_get_property),
13148         (gst_test_mono_source_set_property),
13149         (gst_test_mono_source_class_init), (GST_START_TEST):
13150           While we're at it, add some float stuff to unit test.
13151
13152 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13153
13154         * docs/README:
13155         * docs/images/gdp-header.svg:
13156           add a gdp image
13157         * docs/libs/Makefile.am:
13158         * docs/libs/gdp-header.png:
13159         * libs/gst/dataprotocol/dataprotocol.c:
13160           add it to the API docs
13161         * docs/manual/intro-motivation.xml:
13162           fix typo
13163
13164 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
13165
13166         * gst/gst.c: (scan_and_update_registry), (init_post):
13167           If the fork()'ed child process can't write the updated registry cache
13168           file to disk for some reason, make it exit with a failure exit code,
13169           so that the parent can then re-scan the plugins itself and update the
13170           registry structures in memory and work with that (rather than failing
13171           when creating elements because seemingly no plugins are available).
13172           Refactor registry scanning code into separate function for this and
13173           also separate fork() and non-fork() code paths. Fixes #344748.
13174
13175 2006-06-13  Wim Taymans  <wim@fluendo.com>
13176
13177         * docs/manual/advanced-dataaccess.xml:
13178         Fix wrong PluginDesc. Fixes #344755.
13179
13180 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
13181
13182         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
13183           Fix silly bug that prevented us from creating
13184           ~/.gstreamer-0.10 and writing the registry in one
13185           go (the first call to g_mkstemp() would overwrite the
13186           placeholder in the template string, so the second call
13187           to g_mkstemp() after creating the missing directory
13188           would then error out with 'invalid argument').
13189
13190 2006-06-13  Edward Hervey  <edward@fluendo.com>
13191
13192         * gst/gst.c: (init_post):
13193         Free string.
13194
13195 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13196
13197         * gst/glib-compat-private.h:
13198         * gst/glib-compat.c:
13199         * gst/glib-compat.h:
13200         * gst/gstvalue.c: (gst_value_serialize_flags):
13201           remove GLib 2.6 compatibility code
13202
13203 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
13204
13205         * gst/parse/Makefile.am:
13206           Fix build with 'make -j N' even more (#340016).
13207
13208 2006-06-12  Wim Taymans  <wim@fluendo.com>
13209
13210         * docs/gst/gstreamer-sections.txt:
13211         Fix docs.
13212
13213 2006-06-12  Wim Taymans  <wim@fluendo.com>
13214
13215         * gst/gstsegment.c: (gst_segment_set_duration),
13216         (gst_segment_set_last_stop), (gst_segment_set_seek),
13217         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
13218         (gst_segment_to_running_time), (gst_segment_clip):
13219         Use G_UNLIKELY to help the compiler a bit.
13220
13221 2006-06-12  Wim Taymans  <wim@fluendo.com>
13222
13223         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
13224
13225         * gst/gstevent.c: (gst_event_get_type):
13226         * gst/gstmessage.c:
13227         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13228         (gst_pad_push):
13229         constify quark registration strings. Fixes #344115
13230         Avoid unneeded type checking is _pad_push() by internally
13231         calling gst_pad_chain_unchecked().
13232
13233 2006-06-12  Wim Taymans  <wim@fluendo.com>
13234
13235         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
13236         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
13237         (gst_subbuffer_finalize), (gst_buffer_create_sub),
13238         (gst_buffer_is_span_fast), (gst_buffer_span):
13239         Init _type for consistency.
13240         Use _FLAGS macro to avoid type check.
13241         Avoid unneeded type checks in subbufer code.
13242
13243 2006-06-12  Wim Taymans  <wim@fluendo.com>
13244
13245         * gst/gst.c: (gst_debug_help):
13246         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
13247         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
13248         (gst_plugin_feature_list_free):
13249         * gst/gstregistry.c: (gst_registry_add_plugin),
13250         (gst_registry_add_feature), (gst_registry_plugin_filter),
13251         (gst_registry_feature_filter), (gst_registry_find_plugin),
13252         (gst_registry_find_feature), (gst_registry_get_plugin_list),
13253         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
13254         * gst/gstregistryxml.c: (load_feature),
13255         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
13256         * gst/gstminiobject.c: (gst_mini_object_unref),
13257         (gst_mini_object_replace), (gst_value_mini_object_free),
13258         (gst_value_mini_object_copy):
13259         Use _CAST macros to avoid unneeded type checking.
13260         Added some more G_UNLIKELY.
13261
13262 2006-06-12  Wim Taymans  <wim@fluendo.com>
13263
13264         * gst/gstbuffer.h:
13265         Avoid unneeded type checking.
13266         API: GST_BUFFER_IS_DISCONT
13267
13268         * gst/gstminiobject.h:
13269         Avoid type check in flag accessor.
13270
13271         * gst/gstelementfactory.h:
13272         * gst/gstplugin.h:
13273         * gst/gstpluginfeature.h:
13274         Add _CAST macros.
13275         API: GST_ELEMENT_FACTORY_CAST
13276         API: GST_PLUGIN_CAST
13277         API: GST_PLUGIN_FEATURE_CAST
13278
13279 2006-06-12  Wim Taymans  <wim@fluendo.com>
13280
13281         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
13282         (gst_object_unref):
13283         Add G_UNLIKELY in type registration.
13284         Avoid type check in _ref/_unref since that is also
13285         done in glib.
13286
13287 2006-06-12  Wim Taymans  <wim@fluendo.com>
13288
13289         * gst/gsterror.c: (gst_g_error_get_type):
13290         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
13291         (gst_static_pad_template_get_type):
13292         * gst/gsttaglist.c: (gst_tag_list_get_type):
13293         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
13294         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
13295         * gst/gsturi.c: (gst_uri_handler_get_type):
13296         * gst/gstvalue.c: (gst_date_get_type):
13297         * gst/gstxml.c: (gst_xml_get_type):
13298         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
13299         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
13300         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
13301         Add G_UNLIKELY in type registration.
13302
13303 2006-06-12  Wim Taymans  <wim@fluendo.com>
13304
13305         * tools/gst-inspect.c: (print_signal_info):
13306         Properly print enum values.
13307
13308 2006-06-12  Wim Taymans  <wim@fluendo.com>
13309
13310         * gst/gstinfo.c: (gst_debug_set_active),
13311         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
13312         * gst/gstinfo.h:
13313         Add some G_[UN]LIKELY.
13314         Maintain __gst_debug_min to avoid formatting the arguments of
13315         debug messages that will be dropped anyway to avoid a lot of 
13316         overhead from the debugging system.
13317
13318 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
13319
13320         * po/POTFILES.in:
13321         * po/POTFILES.skip:
13322           add missing files containing translatable strings, tell intltool about
13323           one exception
13324
13325 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
13326
13327         * tests/check/libs/.cvsignore:
13328         add test-binary to ignore list
13329
13330 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
13331
13332         * docs/libs/gstreamer-libs-docs.sgml:
13333         reorder (put dp into a chapter) and indent
13334
13335 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13336
13337         * configure.ac:
13338           back to HEAD
13339
13340 === release 0.10.8 ===
13341
13342 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
13343
13344         * configure.ac:
13345           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
13346
13347 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13348
13349         * gst/gst.c: (init_post):
13350           move pid declaration to declaration block
13351
13352 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13353
13354         * gst/gst.c: (init_post):
13355           use _exit() instead of exit() in our forked child; this ensures
13356           that none of the registered exit handlers from whatever is using
13357           GStreamer get executed.  This fixes gnome-mixer-applet failing
13358           to load, because ORBit would shut down.
13359           Spotted by: Edward Hervey  <edward@fluendo.com>
13360           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
13361           Fixes #344474
13362
13363 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13364
13365         * configure.ac:
13366           back to TRUNK
13367
13368 === release 0.10.7 ===
13369
13370 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
13371
13372         * configure.ac:
13373           releasing 0.10.7, "Soepeke, ik zie ou"
13374
13375 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13376
13377         * configure.ac:
13378         * po/af.po:
13379         * po/az.po:
13380         * po/bg.po:
13381         * po/ca.po:
13382         * po/cs.po:
13383         * po/de.po:
13384         * po/en_GB.po:
13385         * po/fr.po:
13386         * po/it.po:
13387         * po/nb.po:
13388         * po/nl.po:
13389         * po/ru.po:
13390         * po/sq.po:
13391         * po/sr.po:
13392         * po/sv.po:
13393         * po/tr.po:
13394         * po/uk.po:
13395         * po/vi.po:
13396         * po/zh_CN.po:
13397         * po/zh_TW.po:
13398         * win32/common/config.h:
13399           0.10.6.2 prerelease
13400
13401 2006-06-07  Wim Taymans  <wim@fluendo.com>
13402
13403         * gst/gstindex.c: (gst_index_gtype_resolver):
13404         * tools/gst-xmlinspect.c: (print_plugin_info):
13405         Fix leak spotted by coverity checker. Fixes #343827
13406         Fix another other leak found by paolo borelli.
13407
13408 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13409
13410         * libs/gst/dataprotocol/dataprotocol.c:
13411         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13412         (gst_dp_version_get_type), (gst_dp_init),
13413         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
13414         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
13415         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
13416         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
13417         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
13418         (gst_dp_packetizer_free):
13419         * libs/gst/dataprotocol/dataprotocol.h:
13420           API: add a GstDPPacketizer object, and create/free functions
13421           API: add GstDPVersion enum
13422           Add 1.0 event function that uses the string serialization
13423           Serialize more useful buffer flags
13424           Fixes #343988
13425
13426 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13427
13428         * tests/check/Makefile.am:
13429         * tests/check/gst/gstabi.c:
13430         * tests/check/gst/struct_ppc64.h:
13431         * tests/check/libs/libsabi.c:
13432         * tests/check/libs/struct_ppc64.h:
13433           add ppc64 structure sizes
13434
13435 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13436
13437         * tests/check/Makefile.am:
13438         * tests/check/gst/gstabi.c:
13439         * tests/check/gst/struct_x86_64.h:
13440         * tests/check/libs/libsabi.c:
13441         * tests/check/libs/struct_x86_64.h:
13442           generate and add structure size lists for x86_64
13443
13444 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13445
13446         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
13447         * libs/gst/check/gstcheck.h:
13448           factor out the method from tests that checks size of structures,
13449           and add code to generate the header containing these sizes
13450         * tests/check/gst/gstabi.c: (GST_START_TEST):
13451         * tests/check/gst/struct_i386.h:
13452         * tests/check/libs/libsabi.c: (GST_START_TEST):
13453         * tests/check/libs/struct_i386.h:
13454           use it
13455
13456 2006-06-06  Michael Smith  <msmith@fluendo.com>
13457
13458         * gst/gstsegment.h:
13459           Don't use c++-style comments, fixes #343929
13460
13461 2006-06-05  Edward Hervey  <edward@fluendo.com>
13462
13463         * gst/gst.c:
13464         plugin_paths is not used if we build without registry support.
13465
13466         * gst/gstsegment.c: (gst_segment_copy): 
13467         _copy() was always returning NULL...
13468
13469 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13470
13471         * libs/gst/dataprotocol/dataprotocol.c:
13472         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
13473         (gst_dp_packet_from_event):
13474           factor out CRC code
13475
13476 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13477
13478         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
13479           make sure we unset caps
13480
13481 2006-06-02  Michael Smith  <msmith@fluendo.com>
13482
13483         * libs/gst/check/gstcheck.c: (gst_check_init),
13484         (gst_check_chain_func):
13485         * libs/gst/check/gstcheck.h:
13486           Add a cond/mutex to the check support lib, signal this whenever we
13487           add to the buffers list. This will allow tests to not busy-wait on
13488           the buffer-list.
13489
13490 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13491
13492         * libs/gst/dataprotocol/dataprotocol.c:
13493         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
13494         (gst_dp_packet_from_event):
13495           factor out some common header init code
13496
13497 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13498
13499         * docs/libs/gstreamer-libs-sections.txt:
13500         * docs/libs/tmpl/gstdataprotocol.sgml:
13501         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
13502         * libs/gst/dataprotocol/dataprotocol.h:
13503           API: make gst_dp_crc() public
13504
13505 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
13506
13507         * plugins/indexers/gstindexers.c: (plugin_init):
13508         conditionally register fileindexer (fixes #343598)
13509
13510 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
13511
13512         * gst/gsttagsetter.h:
13513         Can't cast ifaces to a class
13514
13515         * libs/gst/net/gstnetclientclock.h:
13516         * libs/gst/net/gstnettimeprovider.h:
13517         * plugins/elements/gstfakesink.h:
13518         * plugins/elements/gstfakesrc.h:
13519         * plugins/elements/gstfdsink.h:
13520         * plugins/elements/gstfdsrc.h:
13521         * plugins/elements/gstfilesink.h:
13522         * plugins/elements/gstfilesrc.h:
13523         * plugins/elements/gstidentity.h:
13524         * plugins/elements/gstqueue.h:
13525         * plugins/elements/gsttee.h:
13526         * plugins/indexers/gstfileindex.c:
13527         * plugins/indexers/gstmemindex.c:
13528         * tests/old/examples/plugins/example.h:
13529         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
13530
13531 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13532
13533         * libs/gst/dataprotocol/dataprotocol.c:
13534         (gst_dp_header_from_buffer):
13535           make sure we zero the whole ABI-compatible area
13536
13537 2006-06-01  Wim Taymans  <wim@fluendo.com>
13538
13539         Patch by: Alessandro Decina <alessandro at nnva dot org>
13540
13541         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
13542         Make sure the EOS flag is cleared from pads after a flush
13543         or stop. Fixes #343538.
13544
13545         * tests/check/libs/collectpads.c: (GST_START_TEST),
13546         (gst_collect_pads_suite):
13547         Added test for collectpads reusage after EOS.
13548
13549 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
13550
13551         * gst/gst.c:
13552          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
13553         * win32/common/libgstbase.def:
13554          export gst_collect_pads_set_flushing
13555         * win32/common/libgstreamer.def:
13556          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
13557          gst_value_fraction_multiply
13558         * win32/vs6/gst_inspect.dsp:
13559          add a link to intl.lib
13560
13561 2006-05-30  Wim Taymans  <wim@fluendo.com>
13562
13563         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
13564         (gst_collect_pads_chain):
13565         Handle the case where a pad is removed from the collection
13566         that could cause the other pads to become collectable.
13567
13568 2006-05-30  Wim Taymans  <wim@fluendo.com>
13569
13570         * gst/gstelement.c:
13571         Clarify the use of _release_request_pad() and
13572         _get_request_pad() a bit better.
13573
13574         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
13575         (gst_adapter_take_buffer):
13576         Fix some doc and comment typos.
13577
13578 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13579
13580         * docs/gst/gstreamer-sections.txt:
13581         * docs/libs/gstreamer-libs-sections.txt:
13582           add declared symbols
13583
13584 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
13585
13586         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13587         Add debug that can be enabled using a #define at the top of the file,
13588         for dumping stats about how late/early we were when waking up from
13589         waiting on the clock.
13590
13591 2006-05-30  Wim Taymans  <wim@fluendo.com>
13592
13593         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
13594         When rebuilding the pad list, don't leak the previous list.
13595
13596 2006-05-30  Wim Taymans  <wim@fluendo.com>
13597
13598         Patch by: Lutz Mueller <lutz at topfrose dot de>
13599
13600         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13601         (gst_base_src_get_query_types), (gst_base_src_update_length):
13602         Publish supported query types.
13603         Update last_stop field in get_range mode so the position
13604         query works. Fixes #342321.
13605
13606 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
13607
13608         * docs/gst/gstreamer-sections.txt:
13609         * gst/gsttaglist.c: (_gst_tag_initialize):
13610         * gst/gsttaglist.h:
13611           API: add GST_TAG_PREVIEW_IMAGE (#343341).
13612
13613 2006-05-30  Wim Taymans  <wim@fluendo.com>
13614
13615         Patch by: Alessandro Decina <alessandro at nnva dot org>
13616
13617         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
13618         Unlock mutex when removing an unknown pad.
13619         Fixes #343334.
13620
13621         * tests/check/Makefile.am:
13622         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
13623         (push_event), (setup), (teardown), (GST_START_TEST),
13624         (gst_collect_pads_suite), (main):
13625         Added collecpads check, disabled for now as check crashes for
13626         some reason.
13627
13628 2006-05-29  Wim Taymans  <wim@fluendo.com>
13629
13630         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
13631         Don't leak pads lists.
13632
13633 2006-05-29  Wim Taymans  <wim@fluendo.com>
13634
13635         * docs/libs/gstreamer-libs-sections.txt:
13636         * libs/gst/base/gstcollectpads.c:
13637         (gst_collect_pads_set_flushing_unlocked),
13638         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
13639         (gst_collect_pads_stop):
13640         * libs/gst/base/gstcollectpads.h:
13641         API: gst_collect_pads_set_flushing()
13642         Added api to set the pads to flushing, useful for seeking
13643         code in elements using collectpads.
13644         Clear segment when receiving a flush.
13645
13646 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
13647
13648         * gst/gst.c: (add_path_func), (init_post):
13649           Don't scan registry paths passed via --gst-plugin-path immediately
13650           (will crash, because absolutely nothing is set up and no types are
13651           registered etc.); do this later in init_post(). Fixes #343057.
13652
13653 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13654
13655         * gst/gst.c: (init_post):
13656           if we have fork, fork while reading/rebuilding the registry
13657           so the parent doesn't take the hit of having all plugins loaded
13658           in memory.  Fixes #342777.
13659         * configure.ac:
13660           Check if we have fork()
13661         * win32/common/config.h.in:
13662           no fork() on win32
13663
13664 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
13665
13666         * plugins/elements/gstelements.c:
13667         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13668         (gst_file_src_init), (gst_file_src_set_property),
13669         (gst_file_src_get_property), (gst_file_src_start):
13670         * plugins/elements/gstfilesrc.h:
13671           API: GstFileSrc::use-mmap
13672
13673         Add a use-mmap property to enable easier testing of all code paths.
13674         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
13675         in the absence of gnomevfssrc. (Closes #340501)
13676
13677 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
13678
13679         * tools/gst-inspect.c:
13680         Add missing include, removes warning of ngettext not being defined on
13681         some arches.
13682
13683 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
13684
13685         * gst/gstvalue.c: (gst_value_deserialize_fraction):
13686         Handle NULL input and output pointers silently as a failed conversion,
13687         rather than g_warnings.
13688
13689 2006-05-25  Wim Taymans  <wim@fluendo.com>
13690
13691         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
13692         Initialize variable before using. Fixes #342820.
13693
13694 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
13695
13696         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
13697           Fix off-by-one bug that would only allow peeks of N-1 bytes
13698           from the start even if the buffer to typefind on contains
13699           in fact N bytes of data (makes vorbis typefinding from a
13700           vorbis identification header buffer work).
13701
13702         * tests/check/Makefile.am:
13703         * tests/check/libs/.cvsignore:
13704         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
13705         (gst_typefindhelper_suite), (main), (foobar_typefind),
13706         (plugin_init):
13707           Add very basic unit test for gst_type_find_helper_for_buffer()
13708           that checks for the problem fixed above.
13709
13710 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13711
13712         * tools/gst-inspect.c: (print_interfaces),
13713         (print_element_properties_info), (print_element_list), (main):
13714           add more translatable strings
13715
13716 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
13717
13718         Patch by: Julien Moutte  <julien at moutte net>
13719
13720         * docs/gst/gstreamer-sections.txt:
13721           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
13722           
13723         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
13724         (gst_fake_sink_preroll):
13725         * plugins/elements/gstfakesink.h:
13726           API: Add new GstFakeSink::preroll-handoff signal (#337100).
13727
13728 2006-05-23  Wim Taymans  <wim@fluendo.com>
13729
13730         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
13731         * gst/gstpad.h:
13732         Added _CUSTOM error and success GstFlowReturn that can be
13733         used be elements internally. 
13734         Added macro to check for SUCCESS flowreturns.
13735         API: GST_FLOW_CUSTOM_SUCCESS
13736         API: GST_FLOW_CUSTOM_ERROR
13737         API: GST_FLOW_IS_SUCCESS
13738
13739         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
13740         Added check for GstFlowReturn sanity.
13741
13742 2006-05-23  Wim Taymans  <wim@fluendo.com>
13743
13744         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
13745
13746         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
13747         (gst_collect_pads_event):
13748         clear/reset segment info in FLUSH_STOP.
13749         Fixes #336929.
13750
13751 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
13752
13753         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
13754         (gst_collect_pads_check_collected):
13755         Flush queued buffer on _stop(), fixes playing again (#342454)
13756
13757 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13758
13759         * tests/check/gst/gststructure.c: (GST_START_TEST),
13760         (gst_structure_suite):
13761           add a test for a complete structure
13762
13763 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
13764
13765         * docs/faq/developing.xml:
13766         * docs/faq/faq.xml:
13767         * docs/faq/troubleshooting.xml:
13768         * docs/faq/using.xml:
13769           Some minor FAQ updates that won't change the fact that
13770           our FAQ is badly structured, full of information hardly
13771           anyone new to GStreamer needs to know and lacking lots
13772           of information people constantly ask for.
13773           
13774 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
13775
13776         * gst/gstpad.c: (gst_pad_set_caps):
13777           Short-circuit gst_pad_set_caps if setting the existing
13778           caps pointer again, and avoid printing debug and 
13779           reffing/unreffing the caps.
13780
13781         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13782           There's actually no need to set the caps before pushing -
13783           the acceptcaps method will handle it anyway.
13784
13785 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
13786
13787         * docs/gst/gstreamer-sections.txt:
13788         * win32/common/libgstreamer.def:
13789         * gst/gstutils.c: (gst_element_seek_simple):
13790         * gst/gstutils.h:
13791           API: add gst_element_seek_simple() (#342238).
13792
13793 2006-05-18  Edward Hervey  <edward@fluendo.com>
13794
13795         * gst/gsttypefind.c: (gst_type_find_get_type):
13796         * gst/gsttypefind.h:
13797         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
13798         registered for GstTypeFind pointers. This allows wrapping the structure
13799         in bindings (i.e. gst-python).
13800
13801 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
13802
13803         * gst/gsttagsetter.c:
13804           Docs additions and fixes (see #339918).
13805
13806 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
13807
13808         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13809         The caps intersection algorithm can produce multiple copies of the
13810         caps. Until that is fixed, we need to simplify the result to be
13811         sure whether the allowed caps are fixed or not.
13812
13813         * plugins/elements/gstqueue.c: (gst_queue_init),
13814         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
13815         (gst_queue_push_one):
13816         Proxied buffer alloc should not set the caps on the source pad.
13817         When pushing buffers, we always accept the caps change that triggers.
13818         This prevents negotiation errors caused by caps changing mid-stream 
13819         and then being refused on our source pad (because upstream is now
13820         refusing those caps).
13821
13822 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
13823
13824         * tests/examples/helloworld/helloworld.c: (main):
13825           Must plug audioconvert and audioresample between decoder
13826           and audio sink.
13827
13828 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
13829
13830         * gst/gstregistryxml.c: (read_string), (load_pad_template),
13831         (load_feature), (load_plugin):
13832         Allow empty strings for some of the plugin fields so we don't 
13833         drop valid plugin entries that were written out correctly
13834         (Fixes #341479)
13835
13836 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
13837         
13838         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
13839           Use g_remove and g_rename instead of remove and rename that don't 
13840           handle utf8 characters. rename was failing for users who had specific
13841           characters in their name then the registry was built at each 
13842           gstreamer init.
13843         * win32/vs6/gst_inspect.dsp:
13844         * win32/vs6/gst_launch.dsp:
13845         * win32/vs6/libgstbase.dsp:
13846         * win32/vs6/libgstcoreelements.dsp:
13847         * win32/vs6/libgstreamer.dsp:
13848           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
13849           build of libgstreamer and clean unused libraries in projects link 
13850           settings.
13851
13852 2006-05-17  Edward Hervey  <edward@fluendo.com>
13853
13854         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13855         The queue is not responsible for pushing an EOS when receiving a fatal
13856         flow error. It's up to the real element driving the pipeline to do that.
13857
13858 2006-05-16  Edward Hervey  <edward@fluendo.com>
13859
13860         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13861         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
13862         buffer returned a fatal error. It should just send an EOS and stop
13863         its task.
13864         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
13865         when pushing buffers on the queue and will be able to handle the event.
13866
13867 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
13868
13869         * docs/manual/basics-bins.xml:
13870         * docs/manual/basics-init.xml:
13871           Fix typos and minor errors in sample code (#341856).
13872
13873 2006-05-16  Wim Taymans  <wim@fluendo.com>
13874
13875         * docs/design/part-qos.txt:
13876         Fix indexes in formulas to make more sense.
13877
13878 2006-05-15  Wim Taymans  <wim@fluendo.com>
13879
13880         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13881         Don't report POSITION based on clock time if sync is
13882         disabled in a sink.
13883
13884 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
13885
13886         * gst/gstobject.h:
13887           Add cast to make compiler happy - refcount variable was a gint
13888           in GstObject but is a guint in GObject and g_atomic_int_get()
13889           wants a gint *.
13890
13891 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13892
13893         * gst/parse/Makefile.am:
13894           chain commands using &&, which also makes parallel make work
13895
13896 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
13897
13898         * docs/gst/gstreamer-sections.txt:
13899         * gst/gstevent.c:
13900         * gst/gstevent.h:
13901         * gst/gstmessage.h:
13902           Minor docs fixes.
13903
13904 === release 0.10.6 ===
13905
13906 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
13907
13908         * configure.ac:
13909           releasing 0.10.6, "Take the cannoli"
13910
13911 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13912
13913         * tools/gst-launch.c: (print_tag):
13914           Fix use of uninitialized variable in the hypothetical
13915           case that some broken plugin creates a GST_TAG_IMAGE
13916           tag containing a NULL buffer (#341667).
13917
13918 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13919
13920         * tools/gst-launch.c: (print_tag):
13921           Print something more intelligible for image tags when
13922           using the -t switch (#341556).
13923
13924 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13925
13926         * Makefile.am:
13927           updates for win32
13928         * configure.ac:
13929           define GST_MAJORMINOR so we have it available in win32/common/config.h
13930           Possibly remove it from our Makefile.am files later
13931         * win32/common/config.h:
13932         * win32/common/config.h.in:
13933           added GST_MAJORMINOR
13934         * win32/common/gstenumtypes.c: (register_gst_resource_error):
13935         * win32/common/gstversion.h:
13936           updated
13937
13938 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
13939
13940         * win32/MANIFEST:
13941           Update win32 files listing.
13942         * win32/common/gstversion.h:
13943           Add GST_MAJORMINOR definition.
13944         * win32/common/libgstreamer.def:
13945           Add new exported functions.
13946           
13947 2006-05-12  Michael Smith  <msmith@fluendo.com>
13948
13949         * gst/gstplugin.c: (gst_plugin_load_file):
13950           If an so file has no plugin entry point, unload the module.
13951
13952 2006-05-11  Wim Taymans  <wim@fluendo.com>
13953
13954         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
13955         (gst_queue_set_property):
13956         Don't forget to signal the _chain or _loop function 
13957         when the queue size or thresholds change since that might
13958         cause them to make progres again.
13959
13960 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
13961
13962         * gst/gstclock.c: (gst_clock_class_init):
13963         * gst/gstindex.c: (gst_index_class_init):
13964         * gst/gstobject.c: (gst_object_class_init):
13965         * gst/gstpad.c: (gst_pad_class_init):
13966         * gst/gstpipeline.c: (gst_pipeline_class_init):
13967         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13968         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
13969         * libs/gst/base/gstbasetransform.c:
13970         (gst_base_transform_class_init):
13971         * libs/gst/net/gstnetclientclock.c:
13972         (gst_net_client_clock_class_init):
13973         * libs/gst/net/gstnettimeprovider.c:
13974         (gst_net_time_provider_class_init):
13975         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
13976         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
13977         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
13978         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
13979         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
13980         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
13981         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13982         * plugins/elements/gstidentity.c: (gst_identity_class_init):
13983         * plugins/elements/gsttee.c: (gst_tee_class_init):
13984         * tests/old/examples/plugins/example.c: (gst_example_class_init):
13985         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
13986           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
13987
13988 2006-05-11  Wim Taymans  <wim@fluendo.com>
13989
13990         * gst/gstbuffer.c: (_gst_buffer_initialize):
13991         Register subbufer along with the buffer type so that
13992         it does not accidentally gets registered from N
13993         different streaming threads in a non threadsafe way.
13994
13995 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
13996
13997         * gst/gstbuffer.h:
13998         * gst/gstevent.h:
13999         * gst/gstmessage.h:
14000           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
14001           gst_event_ref() and gst_message_ref() functions again
14002           (ugly hack, please do fix if there's a better way besides
14003           overrides.txt, which doesn't seem to work).
14004
14005 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14006
14007         * libs/gst/check/gstcheck.h:
14008           add an assert for setting state to avoid lots of repetitive code
14009           in the future
14010
14011 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14012
14013         * gst/gstvalue.c: (gst_value_serialize_flags):
14014           fix a leak if no flags are set
14015         * tests/check/gst/gstvalue.c: (GST_START_TEST):
14016           fix leak in tests
14017
14018 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
14019
14020         * docs/manual/basics-pads.xml:
14021           Expand a bit on caps and filtered links and update
14022           examples that were still using the no longer existing
14023           gst_pad_link_filtered() (#338206).
14024
14025 2006-05-10  Wim Taymans  <wim@fluendo.com>
14026
14027         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
14028         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
14029         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14030         (gst_collect_pads_stop):
14031         * libs/gst/base/gstcollectpads.h:
14032         No need to call _stop in _finalize.
14033         Iterate the main pad list in _finalize.
14034         Added some more debug.
14035         Free lists and data in the right order.
14036         Also free data whem doing _remove_pad when stopped for
14037         backward compatibility protect ::started with PAD_LOCK as
14038         well.
14039
14040 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14041
14042         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
14043         (gst_structure_parse_value):
14044           add some comments
14045           rename a method so that it actually says what it does better
14046
14047 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14048
14049         * gst/gstevent.c: (_gst_event_initialize):
14050         * gst/gstformat.c: (_gst_format_initialize):
14051           make sure some essential types used by events are registered
14052           as part of gst_init()
14053         * gst/gstvalue.c: (gst_value_serialize_flags):
14054           if no flags are set, serialize them to a value that represents NONE
14055           so that deserializing them works
14056         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14057           add tests for serialization and deserialization of flags
14058
14059 2006-05-10  Wim Taymans  <wim@fluendo.com>
14060
14061         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
14062         (gst_collect_pads_collect_range), (gst_collect_pads_available),
14063         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
14064         (gst_collect_pads_event), (gst_collect_pads_chain):
14065         Update docs.
14066         Better debug info.
14067         Catch and return errors from the collect function
14068         Refuse data on eos pads.
14069
14070 2006-05-10  Edward Hervey  <edward@fluendo.com>
14071
14072         * gst/gstinterface.h:
14073         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
14074         GInterface type checking.
14075         They were previously using non-defined macros.
14076
14077 2006-05-09  Wim Taymans  <wim@fluendo.com>
14078
14079         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
14080         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
14081         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
14082         (gst_collect_pads_start), (gst_collect_pads_stop),
14083         (gst_collect_pads_peek), (gst_collect_pads_pop),
14084         (gst_collect_pads_available), (gst_collect_pads_read),
14085         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
14086         (gst_collect_pads_is_collected), (gst_collect_pads_event),
14087         (gst_collect_pads_chain):
14088         * libs/gst/base/gstcollectpads.h:
14089         Clean up the mess that is collectpads, add comments and
14090         FIXMEs where needed.
14091         Maintain a separate pad list so we can add pads while
14092         collecting the other ones. For this we need a new separate 
14093         lock (see comics).
14094         Fix memory leak in finalize.
14095         Refactor some weird code to set/unset pad flushing flags, mark
14096         with comments.
14097         Don't crash in _available, _read, _flush when we're EOS.
14098
14099         * tests/check/libs/.cvsignore:
14100         Ignore adapter check binary.
14101
14102 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14103
14104         * gst/gstindex.c: (gst_index_resolver_get_type):
14105         * plugins/elements/gstfakesink.c:
14106         (gst_fake_sink_state_error_get_type):
14107         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14108         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
14109         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
14110           Const-ify GEnumValue arrays.
14111
14112 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14113
14114         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14115           Add test case for flags + gst_buffer_make_metadata_writable().
14116
14117 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14118
14119         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
14120           gst_buffer_make_metadata_writable() should maintain the
14121           buffer flags (those that make sense at least) (see #340859).
14122
14123 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14124
14125         * tools/gst-inspect.c:
14126         * tools/gst-launch.c:
14127         * tools/gst-typefind.c:
14128         * tools/gst-xmlinspect.c:
14129         * tools/tools.h:
14130           Fix up includes: need to include stdlib.h in tools.h for exit().
14131
14132 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14133
14134         * gst/gsttaglist.c: (_gst_tag_initialize):
14135         * gst/gsttaglist.h:
14136           API: add GST_TAG_IMAGE tag (#340721).
14137
14138 2006-05-08  Wim Taymans  <wim@fluendo.com>
14139
14140         * gst/gstquery.c:
14141         Added some docs for the segment query.
14142
14143 2006-05-08  Wim Taymans  <wim@fluendo.com>
14144
14145         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14146         (gst_base_src_loop), (gst_base_src_change_state):
14147         Always push non-flushing serialized events in the streaming 
14148         thread.
14149
14150 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14151
14152         * gst/gsterror.c: (_gst_stream_errors_init):
14153           Add a missing error string.
14154
14155 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
14156
14157         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
14158         Add applied_rate to the debug
14159
14160         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
14161         Copy applied_rate into the outgoing NEWSEGMENT event
14162
14163 2006-05-08  Wim Taymans  <wim@fluendo.com>
14164
14165         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
14166
14167         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
14168         (gst_base_sink_change_state):
14169         call ::unlock before taking the PREROLL_LOCK so we can safely
14170         handle elements that lock in ::render.
14171         Fixes #340174.
14172
14173 2006-05-08  Edward Hervey  <edward@fluendo.com>
14174
14175         * autogen.sh: (CONFIGURE_DEF_OPT): 
14176         Darwin's libtoolize is in fact called glibtoolize.
14177         Adding glibtoolize to the list of accepted names for libtoolize.
14178
14179 2006-05-08  Wim Taymans  <wim@fluendo.com>
14180
14181         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14182         Unify error handling, don't post an error message
14183         when a push() returns EOS but perform our normal EOS
14184         handling code. Fixes #340772.
14185
14186 2006-05-08  Wim Taymans  <wim@fluendo.com>
14187
14188         * docs/design/part-overview.txt:
14189         Make upsteam/downstream concepts more clear.
14190         Give an example of serialized/non-serialized events.
14191
14192         * docs/design/part-events.txt:
14193         * docs/design/part-streams.txt:
14194         Mention applied_rate.
14195
14196         * docs/design/part-trickmodes.txt:
14197         Mention applied rate, flesh out some more use cases.
14198
14199         * gst/gstevent.c: (gst_event_new_new_segment),
14200         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
14201         (gst_event_parse_new_segment_full), (gst_event_new_tag),
14202         (gst_event_parse_tag), (gst_event_new_buffer_size),
14203         (gst_event_parse_buffer_size), (gst_event_new_qos),
14204         (gst_event_parse_qos), (gst_event_parse_seek),
14205         (gst_event_new_navigation):
14206         * gst/gstevent.h:
14207         Add applied_rate field to NEWSEGMENT event.
14208         API: gst_event_new_new_segment_full()
14209         API: gst_event_parse_new_segment_full()
14210
14211         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
14212         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
14213         (gst_segment_to_stream_time), (gst_segment_to_running_time):
14214         * gst/gstsegment.h:
14215         Add applied_rate to GstSegment structure.
14216         Make calculation of stream_time and running_time more correct
14217         wrt rate/applied_rate.
14218         Add some more docs.
14219         API: GstSegment::applied_rate field
14220         API: gst_segment_set_newsegment_full();
14221
14222         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14223         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
14224         * libs/gst/base/gstbasetransform.c:
14225         (gst_base_transform_sink_eventfunc),
14226         (gst_base_transform_handle_buffer):
14227         Parse and use applied_rate in the GstSegment field.
14228
14229         * tests/check/gst/gstevent.c: (GST_START_TEST):
14230         Add check for applied_rate field.
14231
14232         * tests/check/gst/gstsegment.c: (GST_START_TEST),
14233         (gstsegments_suite):
14234         Add more checks for various GstSegment operations.
14235
14236 2006-05-08  Wim Taymans  <wim@fluendo.com>
14237
14238         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
14239         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
14240         (gst_base_sink_get_position), (gst_base_sink_change_state):
14241         Store the sync time of the buffer end position separatly in a
14242         new variable eos_rtime so we can properly sync the EOS event.
14243         Fixes #340697.
14244         Fix the docs for gst_base_sink_set_qos_enabled().
14245         Don't set segment start to invalid value when we receive a 
14246         non TIME newsegment.
14247         get closer to handling position reporting for negative rates 
14248         correctly.
14249
14250 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
14251
14252         * gst/gstcaps.c:
14253         Docs about how to print caps for debug purposes.
14254
14255         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
14256         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
14257
14258 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
14259
14260         * gst/gstelement.c:
14261           use full enum names and preprend a '%' in docs strings to make recent 
14262           gtk-doc turn that into a link
14263
14264 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14265
14266         * docs/manual/basics-bins.xml:
14267         * docs/manual/basics-bus.xml:
14268         * docs/manual/basics-pads.xml:
14269           Some typo fixes, some additions, some clarifications. 
14270
14271 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14272
14273         * tools/gst-inspect.c: (main):
14274         * tools/gst-launch.c: (main):
14275         * tools/gst-run.c: (main):
14276         * tools/gst-typefind.c: (main):
14277         * tools/gst-xmlinspect.c: (main):
14278           Use the string passed to g_option_context_new() for
14279           what it's intended for - the program name is already
14280           printed elsewhere.
14281
14282 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14283
14284         * tools/Makefile.am:
14285         * tools/gst-inspect.c: (main):
14286         * tools/gst-launch.c: (main):
14287         * tools/gst-xmlinspect.c: (main):
14288         * tools/tools.h:
14289           Add back --version command line option (#340460).
14290
14291         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
14292           Add --version option and use GOption for argument parsing; refactor a
14293           bit; accept directories as arguments and recurse into them; lastly,
14294           print a decent error message when things go wrong.
14295
14296 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14297
14298         * docs/manual/basics-bins.xml:
14299         Don't mention GstThread (#340611)
14300         * docs/manual/basics-elements.xml:
14301         Update link to GObject tutorial (#340607)
14302         
14303 2006-05-05  Wim Taymans  <wim@fluendo.com>
14304
14305         * gst/gstbuffer.h:
14306         * gst/gstminiobject.c:
14307         Add note about refcounting and miniobject/buffer writeability
14308         to docs. Fixes #340604
14309
14310         * gst/gstelementfactory.h:
14311         Added some explanation about @klass.
14312
14313 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14314
14315         * docs/manual/intro-motivation.xml:
14316         * docs/manual/manual.xml:
14317         Avoid CORBA & Bonobo references (#340598)
14318
14319 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14320
14321         * docs/manual/basics-bus.xml:
14322         * docs/manual/basics-pads.xml:
14323         Fix up some inaccuracies and omissions (#340609)
14324         
14325 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14326
14327         * gst/gstghostpad.c:
14328           Small typo in docs (#340625)
14329
14330 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14331
14332         * gst/parse/Makefile.am:
14333           Make 'make -j' proof (see #340698).
14334
14335 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14336
14337         * configure.ac:
14338           Require GLib-2.8 here as well.
14339
14340 2006-05-05  Wim Taymans  <wim@fluendo.com>
14341
14342         * gst/glib-compat.c:
14343         * gst/gst.c: (init_pre):
14344         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
14345         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
14346         (gst_object_dispatch_properties_changed):
14347         * gst/gstobject.h:
14348         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
14349         * gst/gststructure.c: (gst_structure_set_valist):
14350         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
14351         Remove pre glib2.8 compatibility, fixes #340508
14352
14353 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
14354
14355         * gst/gsttaglist.h:
14356           Mention type of tags in doc blurbs.
14357
14358 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
14359
14360         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
14361         (gst_pad_configure_src), (gst_pad_push):
14362         Restore acceptcaps checking behaviour now that good plugins have
14363         been released.
14364
14365 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
14366
14367         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
14368
14369         * gst/gst.c:
14370         * gst/gstbus.c:
14371         * gst/gstclock.c:
14372         * gst/gstevent.c:
14373         * gst/gstformat.c:
14374         * gst/gstmessage.c:
14375         * gst/gstparse.c:
14376         * gst/gstquery.c:
14377         * gst/gstutils.c:
14378         * gst/parse/Makefile.am:
14379         * libs/gst/base/gstadapter.c:
14380         * libs/gst/base/gstbasesrc.c:
14381         * libs/gst/base/gstpushsrc.c:
14382         * libs/gst/base/gsttypefindhelper.c:
14383         * plugins/elements/gstfakesrc.c:
14384         * plugins/elements/gstidentity.c:
14385           Make sure gstprivate.h and/or config.h are
14386           always included first, otherwise some of our
14387           defines (like _FILE_OFFSET_BITS) might be
14388           redefined in the system headers. Fixes build
14389           on opensolaris (#340016).
14390
14391 2006-05-04  Wim Taymans  <wim@fluendo.com>
14392
14393         * docs/libs/gstreamer-libs-sections.txt:
14394         API: addition: gst_adapter_take_buffer()
14395         
14396         * libs/gst/base/gstadapter.c: (gst_adapter_push),
14397         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
14398         (gst_adapter_available_fast):
14399         * libs/gst/base/gstadapter.h:
14400         Prepare for optimizing the hell out of this hugely inefficient
14401         piece of code. 
14402         Added gst_adapter_take_buffer() so we can at least start thinking
14403         about subbuffering and merging.
14404         Added some comments.
14405
14406         * tests/check/Makefile.am:
14407         * tests/check/libs/adapter.c: (GST_START_TEST),
14408         (gst_adapter_suite), (main):
14409         Added GstAdapter check.
14410
14411 2006-05-04  Wim Taymans  <wim@fluendo.com>
14412
14413         * docs/design/part-overview.txt:
14414         Fix some typos, add blurb about buffer flags.
14415
14416 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14417
14418         * docs/libs/gstreamer-libs-sections.txt:
14419           make sure GstBaseTransformClass shows up in the docs
14420         * libs/gst/base/gstbasetransform.c:
14421         * libs/gst/base/gstbasetransform.h:
14422           move docs so gtk-doc picks it up now
14423
14424 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
14425
14426         * docs/libs/gstreamer-libs-sections.txt:
14427           add missing symbols to docs
14428
14429 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
14430
14431         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14432           back out the newsegment handling change, see #340060 for ongoing
14433           discussion
14434
14435 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
14436
14437         * tools/gst-run.c: (get_candidates), (main):
14438           Fix wrong g_file_test() usage (see glib docs for why it doesn't
14439           work); fix typo in error message. Fixes #340079.
14440
14441 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14442
14443         * common/Makefile.am:
14444         * docs/Makefile.am:
14445         * docs/faq/Makefile.am:
14446         * docs/gst/Makefile.am:
14447         * docs/libs/Makefile.am:
14448         * docs/manual/Makefile.am:
14449         * docs/plugins/Makefile.am:
14450         * docs/pwg/Makefile.am:
14451         * docs/slides/Makefile.am:
14452         * docs/upload.mak:
14453         * common/upload.mak:
14454           move upload.mak to common
14455
14456 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14457
14458         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14459           add more asserts on refcounts
14460           do more cleanup at end of tests
14461           fix test leaks showing in FC5
14462
14463 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
14464
14465         * plugins/elements/gsttypefindelement.c:
14466         (gst_type_find_element_handle_event):
14467         reverted wrong change and reflowed code to avoid others falling into
14468         this trap
14469
14470 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14471
14472         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14473           fix changelog entry about last collectpads change,
14474           add notes about proper fix
14475
14476 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14477
14478         * gst/gst.c:
14479         * gst/gstregistry.c: (gst_registry_scan_path_level),
14480         (gst_registry_scan_path):
14481         * gst/gstregistry.h:
14482           only write out registry if it has changed, fixes #338339
14483
14484 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14485
14486         * gst/gstbin.c:
14487         * gst/gstpipeline.c:
14488         * plugins/elements/gstcapsfilter.c:
14489         * plugins/elements/gstfakesink.c:
14490         * plugins/elements/gstfakesrc.c:
14491         * plugins/elements/gstfdsink.c:
14492         * plugins/elements/gstfdsrc.c:
14493         * plugins/elements/gstfilesink.c:
14494         * plugins/elements/gstfilesrc.c:
14495         * plugins/elements/gstidentity.c:
14496         * plugins/elements/gstqueue.c:
14497         * plugins/elements/gsttee.c:
14498         * plugins/elements/gsttypefindelement.c:
14499         (gst_type_find_element_handle_event):
14500           make GstElementDetails const
14501
14502 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14503
14504         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
14505         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14506         (gst_collect_pads_is_collected), (gst_collect_pads_event):
14507           more detailed debug and formatting cleanup,
14508           forward newsegments to src-pad (so that e.g. adder not eats them)
14509
14510 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14511
14512         * gst/gstutils.c: (gst_element_link_pads):
14513           cleanup double code
14514
14515 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14516
14517         * libs/gst/controller/gstcontroller.c:
14518         (gst_controller_sync_values):
14519           some little tuning
14520         * tests/check/libs/controller.c: (GST_START_TEST),
14521         (gst_controller_suite):
14522           a new test for live value handling
14523
14524 2006-04-28  Wim Taymans  <wim@fluendo.com>
14525
14526         * gst/gstutils.c: (push_and_ref):
14527         Added some more docs.
14528         Fix refcount issue whith gst_element_found_tags() helper 
14529         function. Fixes #338335
14530
14531         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14532         Added testsuite for gst_element_found_tags().
14533
14534 2006-04-28  Michael Smith  <msmith@fluendo.com>
14535
14536         * gst/gstvalue.c: (gst_value_serialize_flags):
14537           Avoid NULL dereference when trying to serialize flags containing
14538           invalid values.
14539
14540 2006-04-28  Michael Smith  <msmith@fluendo.com>
14541
14542         * plugins/elements/gsttypefindelement.c:
14543         (gst_type_find_element_handle_event):
14544           If we get EOS before any data is accumulated, don't use
14545           uninitialised local variables.
14546
14547 2006-04-28  Michael Smith  <msmith@fluendo.com>
14548
14549         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14550         (gst_dp_event_from_packet):
14551           Fixes in reading/writing events over GDP (not currently used?) - 
14552           dereferencing NULL events for unknown/invalid event types, memory
14553           leak, and change g_warning to GST_WARNING.
14554
14555 2006-04-28  Wim Taymans  <wim@fluendo.com>
14556
14557         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
14558         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
14559         (gst_base_sink_get_position), (gst_base_sink_change_state):
14560         When frame dropping is enabled, we should not ignore frames
14561         without a duration.
14562         Update some documentation.
14563
14564 2006-04-28  Wim Taymans  <wim@fluendo.com>
14565
14566         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14567         (gst_base_src_send_event), (gst_base_src_change_state):
14568         Documentation updates.
14569
14570 2006-04-28  Wim Taymans  <wim@fluendo.com>
14571
14572         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
14573         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
14574         handle EAGAIN, EINTR and short writes correctly. Also clean
14575         up some error cases, avoid a deadlock on bad file descriptors and
14576         use GST_DEBUG_OBJECT.
14577         Fixes #339843
14578
14579 2006-04-28  Wim Taymans  <wim@fluendo.com>
14580
14581         * gst/gstvalue.c: (gst_value_serialize_buffer),
14582         (gst_value_deserialize_buffer):
14583         Don't try to serialize a GValue with a NULL buffer. 
14584         Fixes #339821.
14585
14586         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14587         Added check for serialisation of NULL buffers.
14588
14589 2006-04-28  Wim Taymans  <wim@fluendo.com>
14590
14591         * gst/gstminiobject.c: (gst_value_take_mini_object):
14592         Taking a NULL miniobject is valid, fix the case where
14593         we try to unref the NULL miniobject.
14594
14595 2006-04-28  Wim Taymans  <wim@fluendo.com>
14596
14597         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14598
14599         * gst/gstbin.c: (gst_bin_handle_message_func):
14600         Update docs.
14601         Don't leak bin refcount when a state recalc is
14602         in progress and we delay another one #339808.
14603
14604 2006-04-28  Wim Taymans  <wim@fluendo.com>
14605
14606         * docs/design/part-TODO.txt:
14607         Mention QoS as an ongoing work item.
14608
14609         * docs/design/part-buffering.txt:
14610         New doc about buffering that needs to be fleshed out
14611         at some point.
14612
14613         * docs/design/part-qos.txt:
14614         More QoS policy for decoders/demuxers/transforms
14615
14616         * docs/design/part-trickmodes.txt:
14617         Small update.
14618
14619 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14620
14621         * configure.ac:
14622           back to HEAD
14623
14624 === release 0.10.5 ===
14625
14626 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
14627
14628         * configure.ac:
14629           releasing 0.10.5, "Fogo"
14630
14631 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14632
14633         patch by: Wim Taymans
14634
14635         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
14636         (gst_pad_configure_src), (gst_pad_push):
14637         * gst/gstpipeline.c: (gst_pipeline_init):
14638           Fix internal data flow errors.  Fixes #338711.
14639
14640 2006-04-12  Wim Taymans  <wim@fluendo.com>
14641
14642         * tests/check/gst/gstelement.c: (GST_START_TEST):
14643         Don't leak the factory.
14644
14645 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14646
14647         * configure.ac:
14648         * win32/common/config.h:
14649           prerelease
14650
14651 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
14652
14653         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
14654         (gst_controller_unset_all):
14655           Free allocated GstTimedValues when freeing list nodes.
14656           Should fix leaks 'make check-valgrind' complains about.
14657
14658         * win32/common/libgstcontroller.def:
14659           Add gst_controller_unset_all.
14660
14661 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
14662
14663         * docs/libs/gstreamer-libs-sections.txt:
14664         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
14665         (gst_controller_unset_all):
14666         * libs/gst/controller/gstcontroller.h:
14667         API: Added new method gst_controller_unset_all()
14668         fixed gst_controller_unset()
14669         * tests/check/libs/controller.c: (GST_START_TEST),
14670         (gst_controller_suite):
14671         Added two testcases for new and fixed method
14672
14673 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
14674
14675         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
14676           MSG_DONTWAIT is not defined on Cygwin, so work
14677           around that (fixes #317048).
14678           
14679 2006-04-11  Wim Taymans  <wim@fluendo.com>
14680
14681         * gst/gstelementfactory.c: (gst_element_register),
14682         (gst_element_factory_create), (gst_element_factory_make):
14683         Some cleanups.
14684         Fixed a FIXME.
14685         Updated docs (Fixes #131079)
14686
14687         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14688         Small cleanups.
14689
14690         * tests/check/gst/gstelement.c: (GST_START_TEST),
14691         (gst_element_suite):
14692         Added testcase for elementfactory class field.
14693
14694 2006-04-10  Wim Taymans  <wim@fluendo.com>
14695
14696         * gst/gstsegment.c:
14697         Added some more docs.
14698
14699         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
14700         (gst_base_sink_reset_qos):
14701         Calculate more accurate rate values.
14702
14703 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
14704
14705         * gst/gst_private.h:
14706           add a new #ifdef to use __declspec(dllimport) only for
14707           other modules and not for gstreamer core
14708         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
14709           use gst_guint64_to_gdouble for conversion
14710         * win32/common/libgstreamer.def:
14711           add new exported functions
14712         * win32/vs6/gst_inspect.dsp:
14713         * win32/vs6/gst_launch.dsp:
14714         * win32/vs6/libgstbase.dsp:
14715         * win32/vs6/libgstcontroller.dsp:
14716         * win32/vs6/libgstcoreelements.dsp:
14717         * win32/vs6/libgstdataprotocol.dsp:
14718         * win32/vs6/libgstnet.dsp:
14719           update project files
14720
14721 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
14722
14723         * gst/gstbuffer.c: (gst_subbuffer_class_init):
14724         * gst/gstclock.c: (gst_clock_class_init):
14725         * gst/gstelement.c: (gst_element_class_init):
14726         * gst/gstindex.c: (gst_index_class_init):
14727         * gst/gstindexfactory.c: (gst_index_factory_class_init):
14728         * gst/gstobject.c: (gst_object_class_init),
14729         (gst_signal_object_class_init):
14730         * gst/gstpad.c: (gst_pad_class_init):
14731         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
14732         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
14733         * gst/gstregistry.c: (gst_registry_class_init):
14734         * gst/gstsystemclock.c: (gst_system_clock_class_init):
14735         * gst/gsttask.c: (gst_task_class_init):
14736         * gst/gstxml.c: (gst_xml_class_init):
14737         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14738         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14739         (gst_base_src_loop):
14740         * libs/gst/controller/gstcontroller.c:/
14741         (_gst_controller_class_init):
14742         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14743         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
14744         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
14745         * tests/old/examples/plugins/example.c: (gst_example_class_init):
14746         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14747         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
14748
14749 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
14750
14751         * gst/gstpad.c: (gst_pad_link):
14752           Must set peer pads before calling the link function, otherwise
14753           a task started from a link function might get a flow-not-linked
14754           result when trying to push because the other thread where the
14755           linking happens hasn't had a chance to set the peers yet. This
14756           might happen for example when a queue gets linked to a downstream
14757           element, as queue starts a streaming task when its source pad
14758           gets linked. Happens in real life when playing back flac/musepack
14759           files in playbin (#332390).
14760           
14761 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
14762
14763         * gst/gstindex.h:
14764         * gst/gstxml.h:
14765         * libs/gst/base/gstadapter.h:
14766         * libs/gst/base/gstbasesink.h:
14767         * libs/gst/base/gstbasesrc.h:
14768         * libs/gst/base/gstbasetransform.h:
14769         * libs/gst/base/gstcollectpads.h:
14770         * libs/gst/base/gstpushsrc.h:
14771         Fix broken GObject macros
14772
14773 2006-04-07  Wim Taymans  <wim@fluendo.com>
14774
14775         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14776         Initialize start and stop times, thanks valgrind.
14777
14778 2006-04-07  Wim Taymans  <wim@fluendo.com>
14779
14780         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14781         Be a bit nicer to badly behaving upstream elements that expect
14782         us to deal with non TIME segments and timestamps (such as fakesrc
14783         in the testsuite).
14784
14785 2006-04-07  Wim Taymans  <wim@fluendo.com>
14786
14787         * gst/gstbus.c:
14788         Small documentation clarification about the signal watch.
14789
14790         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
14791         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
14792         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14793         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
14794         (gst_base_sink_get_position_last),
14795         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
14796         Convert and store timestamps in stream time and running time, the
14797         raw timestamps are not useful, also document this better.
14798         Use different window sizes for good and bad QoS observations so
14799         we react to badness a little quicker.
14800         Keep track of the amount of rendered and dropped buffers.
14801         Send QoS timestamps in running time.
14802
14803         * libs/gst/base/gstbasetransform.c:
14804         (gst_base_transform_sink_eventfunc),
14805         (gst_base_transform_handle_buffer):
14806         Compare QoS timestamps against running time.
14807
14808 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
14809
14810         * gst/gstpad.c:
14811           Typo fixes in docs.
14812
14813 2006-04-06  Michael Smith  <msmith@fluendo.com>
14814
14815         * gst/gstpad.c: (gst_pad_set_property):
14816           Use g_value_get_object() instead of g_value_dup_gst_object(),
14817           to avoid double-reffing the pad template (which we then sink,
14818           so this worked previously if (and only if) the pad template
14819           was floating.
14820
14821         * gst/gstpadtemplate.c: (gst_pad_template_init),
14822         (gst_pad_template_pad_created):
14823           Never return floating references to pad templates, create
14824           them as initially-sunken.
14825
14826           Document an extra function (and make this stop sinking our
14827           pad template, since that is now guaranteed to do nothing,
14828           since we created it sunken).
14829
14830         * gst/gstghostpad.c:
14831           Fix docs typo.
14832
14833 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
14834
14835         * gst/gstinfo.c: (__gst_in_valgrind):
14836           Add some newlines.
14837
14838         * plugins/elements/gsttypefindelement.c:
14839         (gst_type_find_element_chain):
14840           Don't leak buffer caps.
14841
14842 2006-04-06  Michael Smith  <msmith@fluendo.com>
14843
14844         * gst/parse/grammar.y:
14845           Fix a leak in parse-launch for any source-or-sink named element 
14846           references used.
14847
14848         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
14849           Unref the pipeline if it exists after we've failed parsing.
14850
14851 2006-04-05  Michael Smith  <msmith@fluendo.com>
14852
14853         * gst/gstpipeline.c: (gst_pipeline_init):
14854           When we create a pipeline bus, initially create it in flushing mode.
14855           Fixes leaks in at least one test, and makes a new pipeline work the
14856           same as one that has gone to READY and then back to NULL.
14857
14858         * gst/gstelement.c:
14859           Typo fix in docs.
14860
14861 2006-04-05  Michael Smith  <msmith@fluendo.com>
14862
14863         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14864           Unref a pad we reffed.
14865         * tests/check/gst/gstutils.c: (GST_START_TEST):
14866           Unref bins
14867
14868 2006-04-05  Michael Smith  <msmith@fluendo.com>
14869
14870         * gst/gstquery.c: (gst_query_set_formats),
14871         (gst_query_set_formatsv):
14872           Fix leaking GValues in queries, as shown by valgrind/testsuite.
14873
14874 2006-04-05  Michael Smith  <msmith@fluendo.com>
14875
14876         * tests/check/generic/sinks.c: (GST_START_TEST):
14877           Fix a variety of memleaks in sinks check, which are only sometimes 
14878           shown by running the tests under valgrind (weird?).
14879
14880 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
14881
14882         * docs/version.entities.in:
14883           Fix the substituted entity name after thomas' changes on the
14884           weekend.
14885
14886 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14887
14888         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
14889         VALGRIND_PRINTF
14890         
14891 2006-04-05  Andy Wingo  <wingo@pobox.com>
14892
14893         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
14894
14895         * libs/gst/base/gstbasetransform.c
14896         (gst_base_transform_sink_eventfunc): When resetting our segment on
14897         FLUSH_STOP, also update the flag saying we haven't seen a
14898         newsegment.
14899
14900 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14901
14902         Patch by: Paolo Borelli  <pborelli at katamail dot com>
14903
14904         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
14905         (gst_plugin_check_license):
14906           minor clean-ups: G_DEFINE_TYPE already takes care of the
14907           parent_class stuff, no need to do it twice. Mark array of
14908           license strings as constant. (#337103)
14909           
14910 2006-04-04  Michael Smith  <msmith@fluendo.com>
14911
14912         * tools/gst-inspect.c: (print_element_list):
14913           Free the right plugin list; fixes a memory leak.
14914
14915 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14916
14917         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
14918
14919         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
14920           Don't error out on empty buffers (#336945).
14921           
14922 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
14923
14924         * docs/libs/gstreamer-libs-sections.txt:
14925         * gst/gsttaglist.c:
14926         * libs/gst/base/gstbasesink.c:
14927         * libs/gst/base/gstbasesink.h:
14928         * libs/gst/base/gstbasesrc.c:
14929         * libs/gst/base/gstbasesrc.h:
14930           Documentation updates. Make BaseSink and BaseSrc docs contain the
14931           class structure so that people can actually see the prototypes for
14932           virtual functions they're supposed to be overriding.
14933
14934 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14935
14936         * plugins/elements/gsttypefindelement.c:
14937         (gst_type_find_element_chain):
14938           More debug info; when skipping typefinding, send cached
14939           events in all cases.
14940
14941 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14942
14943         * configure.ac:
14944           use new AS_VERSION and AS_NANO macros
14945         * gst/gst-i18n-lib.h:
14946         * gst/gst.c:
14947         * gst/gsterror.c:
14948         * gst/gstversion.h.in:
14949         * win32/common/config.h:
14950         * win32/common/config.h.in:
14951           update accordingly
14952
14953 2006-03-31  Michael Smith  <msmith@fluendo.com>
14954
14955         * plugins/elements/gsttypefindelement.c:
14956         (gst_type_find_element_chain):
14957           Do not typefind content if the buffers already have caps.
14958           Neccesary for icydemux (#333657), and the right thing to do anyway.
14959
14960 2006-03-30  Wim Taymans  <wim@fluendo.com>
14961
14962         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14963         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
14964         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
14965         (gst_base_sink_record_qos_observation),
14966         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14967         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
14968         (gst_base_sink_change_state):
14969         More QoS measurements as described in the design doc.
14970         Get rid of ringbuffer with observations, running average is
14971         more simple and equally good.
14972         Calculates valid proportion now.
14973         Added beginning of flood measurement.
14974
14975 2006-03-29  Wim Taymans  <wim@fluendo.com>
14976
14977         * docs/design/part-qos.txt:
14978         * gst/gstclock.c:
14979         Small documentation updates and additions.
14980
14981 2006-03-29  Wim Taymans  <wim@fluendo.com>
14982
14983         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
14984         (gst_base_src_send_event), (gst_base_src_loop),
14985         (gst_base_src_change_state):
14986         Perform the EOS logic when we reach the segment stop position.
14987         Fix compilation on gcc4.1
14988
14989 2006-03-29  Wim Taymans  <wim@fluendo.com>
14990
14991         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
14992
14993         * plugins/elements/gstqueue.c: (gst_queue_init),
14994         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14995         (gst_queue_set_property):
14996         * plugins/elements/gstqueue.h:
14997         In queue, when EOS is received, if minimum threshold > max_size -
14998         current_level, there is chance that queue blocks forever in conditional
14999         item del wait. This is because the queue is not emptied completely due
15000         to minimum threshold.  Here is another approach. Instead of setting
15001         cur_levels to max in EOS, just zero all minimum threshold levels. This
15002         should make sure that queue gives out all data. When going to READY
15003         (stop) state, just reset the original minimum threshold levels.
15004         Fixes #336336.
15005
15006 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
15007
15008         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
15009         (gst_type_find_element_handle_event),
15010         (gst_type_find_element_send_cached_events),
15011         (gst_type_find_element_change_state):
15012         * plugins/elements/gsttypefindelement.h:
15013           When typefinding is done in push mode, we should cache
15014           events we receive during typefinding instead of just
15015           dropping them (e.g. newsegment, custom events from
15016           dvdreadsrc etc.) and then send them out once we've
15017           determined the type of the stream (and decodebin
15018           has had a chance to plug in a decoder/demuxer).
15019           
15020 2006-03-27  Wim Taymans  <wim@fluendo.com>
15021
15022         * docs/design/part-qos.txt:
15023         First QoS ideas.
15024
15025 2006-03-27  Wim Taymans  <wim@fluendo.com>
15026
15027         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
15028
15029         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15030         (gst_base_src_send_event), (gst_base_src_change_state):
15031         Handle element seek correctly when we are streaming.
15032         Fixes #326998.
15033
15034 2006-03-24  Michael Smith  <msmith@fluendo.com>
15035
15036         * docs/faq/gst-uninstalled:
15037           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
15038           allow you to correctly run intalled applications built against old 
15039           core, using plugins that require updated core (e.g. running
15040           installed totem against a full uninstalled gstreamer stack)
15041
15042 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15043
15044         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15045         more debug details
15046
15047 2006-03-24  Wim Taymans  <wim@fluendo.com>
15048
15049         * docs/gst/gstreamer-sections.txt:
15050         Rearrange the order of the methods so that related methods
15051         are grouped together in sections.
15052
15053 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15054
15055         * gst/gstelement.c:
15056           Little clarification in the docs
15057
15058 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15059
15060         * docs/README:
15061         formatting fix
15062         * plugins/elements/gstidentity.c:
15063         * plugins/elements/gstqueue.c:
15064         * plugins/elements/gsttee.c:
15065         * plugins/elements/gsttypefindelement.c:
15066         GST_ELEMENT_DETAILS formatting
15067
15068 2006-03-24  Wim Taymans  <wim@fluendo.com>
15069
15070         * libs/gst/base/gstbasesink.h:
15071         Only add fields, not insert or we break ABI.
15072
15073 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15074
15075         * win32/common/libgstbase.def:
15076         * win32/common/libgstreamer.def:
15077           Update, add recently added functions.
15078
15079 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15080
15081         * docs/gst/gstreamer-sections.txt:
15082         * gst/gstutils.c: (gst_pad_query_peer_position),
15083         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
15084         * gst/gstutils.h:
15085           API: add some new utility functions:
15086            - gst_pad_query_peer_position()
15087            - gst_pad_query_peer_duration()
15088            - gst_pad_query_peer_convert()
15089           
15090 2006-03-23  Wim Taymans  <wim@fluendo.com>
15091
15092         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15093         (gst_base_sink_init), (gst_base_sink_finalize),
15094         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
15095         (gst_base_sink_set_property), (gst_base_sink_get_property),
15096         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
15097         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15098         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
15099         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15100         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15101         (gst_base_sink_preroll_object), (gst_base_sink_event),
15102         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
15103         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
15104         (gst_base_sink_query), (gst_base_sink_change_state):
15105         Decouple max-lateness and the fact that QoS messages are generated
15106         with a new property (qos).
15107         added API: GstBaseSink::async_play()
15108         Add vmethod so subclasses can be notified of ASYNC playing
15109         state changes.
15110         Collect timestamp start and stop to report better current
15111         position in EOS/PLAYING/PAUSED/READY/NULL.
15112         Refactor QoS/frame dropping and other measurements.
15113         API: GstBaseSrc::qos
15114         Fixes #326311
15115
15116         * libs/gst/base/gstbasesink.h:
15117         Added Private struct.
15118         API: gst_base_sink_set_qos_enabled()
15119         API: gst_base_sink_is_qos_enabled()
15120
15121 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15122
15123         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15124           If compiling against GLib-2.8 or newer, try to read the
15125           registry file using GMappedFile first before falling back
15126           to fopen() + fread() (#332151).
15127
15128 2006-03-22  Wim Taymans  <wim@fluendo.com>
15129
15130         * gst/gstinfo.c: (gst_debug_set_active),
15131         (gst_debug_category_set_threshold):
15132         Disable debugging unless explicitly activated.
15133         Fixes #335480.
15134
15135 2006-03-22  Wim Taymans  <wim@fluendo.com>
15136
15137         * gst/gstelement.c: (gst_element_set_locked_state),
15138         (gst_element_dispose):
15139         Cleanup the error case.
15140
15141         * gst/gstobject.c: (gst_object_dispose):
15142         print a critical when some object was disposed with
15143         a parent, also revive the object since it might
15144         crash the parent.
15145
15146 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
15147
15148         * tools/gst-launch.1.in:
15149           Fix another typo.
15150
15151 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15152
15153         * configure.ac:
15154         * tests/check/Makefile.am:
15155           disable some tests when we don't have a registry
15156         * tests/check/gst/gstutils.c: (gst_utils_suite):
15157           don't build the part that needs parsing
15158
15159 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15160
15161         * gst/Makefile.am
15162         * tests/examples/Makefile.am:
15163           fix --disable-parse build
15164
15165 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15166
15167         * tools/gst-feedback.1.in:
15168           Fix typo: s/feeback/feedback/ (#133494).
15169
15170 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15171
15172         * tools/Makefile.am:
15173         * tools/gst-launch.1.in:
15174           Add FILES section and correct entry about GST_REGISTRY_PATH
15175           environment variable (#133495; #133494).
15176
15177 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15178
15179         * tools/Makefile.am:
15180         * tools/gst-md5sum.1.in:
15181         * tools/gst-md5sum.c:
15182           Remove gst-md5sum and man page (the md5sink element
15183           required was removed ages ago)
15184
15185 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15186
15187         * gst/gststructure.c: (gst_structure_id_set_value):
15188           Make sure that string fields in structures/taglists
15189           contain valid UTF-8 - we don't want to pass rubbish to
15190           applications because of a buggy plugin (cp. #334167).
15191
15192 2006-03-21  Edward Hervey  <edward@fluendo.com>
15193
15194         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15195         (gst_bin_handle_message_func):
15196         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
15197         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
15198         (gst_element_set_bus_func):
15199         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
15200         * gst/gstminiobject.c: (gst_value_set_mini_object),
15201         (gst_value_take_mini_object):
15202         * gst/gstpad.c: (gst_pad_set_pad_template):
15203         * gst/gstpipeline.c: (gst_pipeline_dispose),
15204         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
15205         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
15206         (gst_collect_pads_chain):
15207         * libs/gst/net/gstnettimeprovider.c:
15208         (gst_net_time_provider_set_property):
15209         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
15210         It's in fact all issues with gst_*object_replace().
15211
15212 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15213
15214         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
15215         
15216         * pkgconfig/gstreamer-check-uninstalled.pc.in:
15217         * pkgconfig/gstreamer-check.pc.in:
15218           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
15219
15220 2006-03-21  Edward Hervey  <edward@fluendo.com>
15221
15222         * gst/gstbuffer.h:
15223         * gst/gstevent.h:
15224         * gst/gstmessage.h:
15225         gst_[buffer|event|message]_ref() macros are replaced by a static
15226         inline functions because gcc-4.1 will about if the return value
15227         isn't used.
15228         * tests/check/gst/gstevent.c: (event_probe):
15229         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
15230
15231 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
15232
15233         * gst/gstutils.h:
15234         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
15235         the type' case. (Closes: #335195 for now). In the future, when we
15236         depend on GLib 2.10, we could also intern the type name using
15237         g_intern_static_string()
15238
15239 2006-03-20  Wim Taymans  <wim@fluendo.com>
15240
15241         * gst/gstbin.c: (gst_bin_handle_message_func),
15242         (bin_query_max_init), (bin_query_position_fold),
15243         (bin_query_position_done), (gst_bin_query):
15244         Position query should also take max of all streams.
15245
15246 2006-03-20  Wim Taymans  <wim@fluendo.com>
15247
15248         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15249         (gst_fake_src_finalize):
15250         Fix leaks in fakesrc.
15251
15252         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
15253         Fix leaks in the testcase.
15254
15255 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
15256
15257         * gst/gst_private.h:
15258           add win32 specific import decoration(__declspec(dllimport)) 
15259           for all extern GstDebugCategory * variables
15260         * win32/common/libgstbase.def:
15261         * win32/common/libgstcontroller.def:
15262         * win32/common/libgstreamer.def:
15263           Add some exports, remove empty lines
15264         * win32/common/libgstdataprotocol.def:
15265         * win32/common/libgstdataprotocol.dsp:
15266         * win32/common/libgstnet.def:
15267         * win32/common/libgstnet.dsp:
15268           new project files and exportation files added
15269         
15270 2006-03-19  Wim Taymans  <wim@fluendo.com>
15271
15272         * tests/check/libs/basesrc.c: (eos_event_counter):
15273         Use proper return value for probe.
15274
15275 2006-03-17  Wim Taymans  <wim@fluendo.com>
15276
15277         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
15278         (gst_pad_push):
15279         Don't leak buffers, caps and pads on negotiation errors.
15280
15281 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
15282
15283         * docs/faq/cvs.xml:
15284         * docs/faq/dependencies.xml:
15285         * docs/faq/developing.xml:
15286         * docs/faq/faq.xml:
15287         * docs/faq/general.xml:
15288         * docs/faq/getting.xml:
15289         * docs/faq/legal.xml:
15290         * docs/faq/troubleshooting.xml:
15291         * docs/faq/using.xml:
15292         Faq review and update.
15293
15294 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
15295
15296         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
15297         (gst_pad_push):
15298         Don't pound the cpu to pieces by checking get_caps when accept_caps
15299         is called with the same caps as the pad already has.
15300         Use GST_DEBUG_OBJECT when outputting caps change information.
15301
15302 2006-03-15  Wim Taymans  <wim@fluendo.com>
15303
15304         * gst/gstclock.c: (gst_clock_class_init):
15305         Fix docs.
15306
15307 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
15308
15309         * gst/gstbuffer.h:
15310         Documentation fix.
15311
15312         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
15313         (gst_pad_accept_caps), (gst_pad_configure_sink),
15314         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
15315         Make the default acceptcaps behaviour be to check the requested 
15316         caps against the gst_pad_get_caps output. 
15317
15318         Ensure that gst_pad_accept_caps is used to check caps when a pad
15319         doesn't have a setcaps function, so that pads automatically refuse 
15320         caps that they don't allow in their pad template. (Fixes #332986)
15321
15322         When a buffer with attached caps is pushed, ensure that the source 
15323         pad receives those caps even if the element didn't call
15324         gst_pad_set_caps first.
15325
15326 2006-03-15  Wim Taymans  <wim@fluendo.com>
15327
15328         * libs/gst/base/gstadapter.c:
15329         Add some docs.
15330
15331 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
15332
15333         * win32/common/libgstbase.def:
15334         * win32/common/libgstcontroller.def:
15335         * win32/common/libgstreamer.def:
15336           Add a whole bunch of missing functions (#334434).
15337
15338 2006-03-14  Wim Taymans  <wim@fluendo.com>
15339
15340         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15341         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
15342         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
15343         Better debug info when we receive a segment event.
15344         Reorganize a bit so we can pass the get_times() results around.
15345         Use the segment format when calculating the running time.
15346         Don't do QoS is sync is disabled or we have no clock or the
15347         element does not want us to sync to the clock.
15348         Don't drop buffers if QoS is disabled for now.
15349
15350 2006-03-14  Wim Taymans  <wim@fluendo.com>
15351
15352         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
15353         Marked the stats property as unimplemented so people don't get
15354         wild ideas.
15355         Add debug message when regression goes wrong.
15356         Added some more docs.
15357
15358 2006-03-14  Wim Taymans  <wim@fluendo.com>
15359
15360         * gst/gstsegment.c: (gst_segment_to_stream_time):
15361         Return correct return type in case of errors.
15362
15363 2006-03-14  Wim Taymans  <wim@fluendo.com>
15364
15365         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
15366           Don't segfault on invalid formats.
15367
15368 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
15369
15370         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15371           Can't use gst_segment_to_running_time() when the segment
15372           is not in GST_TIME_FORMAT (like with filesink, for example).
15373           Stops flac encoding pipelines from spewing critical warnings
15374           at EOS (#331248).
15375           
15376 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
15377
15378         * gst/gstpipeline.c: (gst_pipeline_class_init):
15379           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
15380
15381         * plugins/elements/gsttypefindelement.c:
15382         (gst_type_find_element_handle_event):
15383           Don't try to typefind empty streams.
15384
15385 2006-03-14  Wim Taymans  <wim@fluendo.com>
15386
15387         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
15388         (gst_base_sink_do_qos):
15389         Separate QoS calculation.
15390         Only drop buffers when lateness is bigger than the 
15391         duration of the buffer.
15392
15393 2006-03-13  Wim Taymans  <wim@fluendo.com>
15394
15395         * gst/gstpipeline.c: (gst_pipeline_set_property),
15396         (gst_pipeline_get_property), (do_pipeline_seek),
15397         (gst_pipeline_change_state), (gst_pipeline_set_delay),
15398         (gst_pipeline_get_delay):
15399         Don't deadlock when reading properties.
15400
15401 2006-03-13  Wim Taymans  <wim@fluendo.com>
15402
15403         * libs/gst/base/gstbasetransform.c:
15404         (gst_base_transform_class_init), (gst_base_transform_init),
15405         (gst_base_transform_sink_event),
15406         (gst_base_transform_sink_eventfunc),
15407         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
15408         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
15409         (gst_base_transform_set_property),
15410         (gst_base_transform_get_property),
15411         (gst_base_transform_change_state), (gst_base_transform_update_qos),
15412         (gst_base_transform_set_qos_enabled),
15413         (gst_base_transform_is_qos_enabled):
15414         * libs/gst/base/gstbasetransform.h:
15415         Make basetransform virtual method for src events too.
15416         Handle QOS in basetransform.
15417         API: gst_base_transform_update_qos()
15418         API: gst_base_transform_set_qos_enabled()
15419         API: gst_base_transform_is_qos_enabled()
15420
15421 2006-03-13  Wim Taymans  <wim@fluendo.com>
15422
15423         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15424         (gst_base_sink_do_sync):
15425         Small cleanups.
15426         Use QOS debug category.
15427
15428 2006-03-13  Wim Taymans  <wim@fluendo.com>
15429
15430         * plugins/elements/gstqueue.c:
15431         Very small doc update.
15432
15433 2006-03-13  Wim Taymans  <wim@fluendo.com>
15434
15435         * gst/gst_private.h:
15436         * gst/gstinfo.c: (_gst_debug_init):
15437         Added QOS debug category
15438
15439 2006-03-13  Wim Taymans  <wim@fluendo.com>
15440
15441         * docs/gst/gstreamer-sections.txt:
15442         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
15443         * gst/gstbin.h:
15444         * gst/gstbus.c: (gst_bus_class_init):
15445         * gst/gstbus.h:
15446         * gst/gstclock.c:
15447         * gst/gstelement.c: (gst_element_set_locked_state):
15448         * gst/gstsegment.c:
15449         Documentation updates.
15450
15451         * gst/gstpipeline.c: (gst_pipeline_get_type),
15452         (gst_pipeline_class_init), (gst_pipeline_init),
15453         (gst_pipeline_dispose), (gst_pipeline_set_property),
15454         (gst_pipeline_get_property), (do_pipeline_seek),
15455         (gst_pipeline_send_event), (gst_pipeline_change_state),
15456         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
15457         (gst_pipeline_get_delay):
15458         * gst/gstpipeline.h:
15459         Added methods for setting the delay.
15460         API: gst_pipeline_set_delay()
15461         API: gst_pipeline_get_delay()
15462         Add pipeline debug category
15463         Various cleanups.
15464         Updated docs.
15465         Don't reset stream time when seek failed.
15466
15467 2006-03-13  Wim Taymans  <wim@fluendo.com>
15468
15469         * docs/design/draft-klass.txt:
15470         * docs/design/part-clocks.txt:
15471         * docs/design/part-events.txt:
15472         * docs/design/part-gstbin.txt:
15473         * docs/design/part-gstpipeline.txt:
15474         * docs/design/part-messages.txt:
15475         * docs/design/part-negotiation.txt:
15476         * docs/design/part-overview.txt:
15477         * docs/design/part-preroll.txt:
15478         * docs/design/part-seeking.txt:
15479         * docs/design/part-states.txt:
15480         * docs/design/part-streams.txt:
15481         Documentation updates.
15482
15483 2006-03-12  Julien MOUTTE  <julien@moutte.net>
15484
15485         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
15486         us to leak strings...
15487
15488 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15489
15490         * libs/gst/net/gstnettimeprovider.c:
15491           fix docs
15492         * win32/common/config.h:
15493           update
15494
15495 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
15496
15497         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
15498
15499         * configure.ac:
15500           Don't check for libgnomeui (leftover from old examples
15501           that aren't built or disted any longer) (#334303).
15502           
15503 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
15504
15505         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
15506         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15507           Emit RESOURCE_NO_SPACE_LEFT error here as well when
15508           there's no space left on the device.
15509
15510 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
15511
15512         * gst/gstclock.h:
15513           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
15514           to cast the input to GstClockTime before comparing with
15515           another GstClockTime value.
15516
15517 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15518
15519         * configure.ac:
15520           back to trunk
15521
15522 === release 0.10.4 ===
15523
15524 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
15525
15526         * configure.ac:
15527           releasing 0.10.4, "Light"
15528
15529 2006-03-10  Michael Smith  <msmith@fluendo.com>
15530
15531         * libs/gst/dataprotocol/dataprotocol.c:
15532           Fix docs for dataprocotol to not get the return types completely
15533           wrong for a few functions.
15534
15535 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
15536
15537         * docs/gst/gstreamer-sections.txt:
15538         * gst/gstpipeline.c: (gst_pipeline_class_init),
15539         (gst_pipeline_init), (gst_pipeline_set_property),
15540         (gst_pipeline_get_property), (gst_pipeline_change_state),
15541         (gst_pipeline_set_auto_flush_bus),
15542         (gst_pipeline_get_auto_flush_bus):
15543         * gst/gstpipeline.h:
15544           Add new API: gst_pipeline_set_auto_flush_bus() and
15545           gst_pipeline_get_auto_flush_bus() to disable automatic
15546           flushing of the pipeline's GstBus when going from READY
15547           to NULL state (#332045).
15548
15549 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
15550
15551         * docs/gst/gstreamer-sections.txt:
15552         * gst/gsturi.c: (gst_uri_has_protocol):
15553         * gst/gsturi.h:
15554            Add new API: gst_uri_has_protocol() (#333779).
15555
15556 2006-03-09  Wim Taymans  <wim@fluendo.com>
15557
15558         * gst/gstclock.c: (gst_clock_entry_new),
15559         (gst_clock_id_compare_func), (gst_clock_id_wait),
15560         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
15561         (gst_clock_init), (gst_clock_get_internal_time),
15562         (gst_clock_set_master), (do_linear_regression),
15563         (gst_clock_add_observation), (gst_clock_set_property):
15564         * gst/gstclock.h:
15565         Review docs.
15566         Small cleanups.
15567         Fix a possible segfault when the window-size is made smaller.
15568         Calculate jitter before performing the clock wait. Ideally
15569         the clock implementation should calculate jitter but we need
15570         API breakage for that.
15571
15572         * gst/gstsystemclock.c: (gst_system_clock_init):
15573         Docs review.
15574         
15575         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15576         Remove leftover else
15577
15578         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
15579         (gst_systemclock_suite):
15580         Added check to test GST_CLOCK_DIFF.
15581
15582 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
15583
15584         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
15585         (gst_type_find_helper_get_range):
15586           If we are provided with the size, we should implement
15587           GstTypeFind::get_length, so that typefind functions who
15588           want to can actually peek at the middle of a file.
15589
15590 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
15591
15592         * docs/manual/advanced-dataaccess.xml:
15593           Add some very very basic error checking.
15594
15595         * docs/pwg/appendix-checklist.xml:
15596           Some updates to the list of things to check when writing an element.
15597
15598 2006-03-08  Wim Taymans  <wim@fluendo.com>
15599
15600         * docs/design/part-element-transform.txt:
15601         Added some docs about the design of tranform elements.
15602
15603         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15604         (gst_base_src_loop), (gst_base_src_change_state):
15605         Mark buffers with the DISCONT flag.
15606
15607 2006-03-08  Michael Smith  <msmith@fluendo.com>
15608
15609         * gst/gstregistry.h:
15610         * gst/gstregistryxml.c: (gst_registry_save),
15611         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
15612         (gst_registry_xml_save_pad_template),
15613         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
15614         (gst_registry_xml_write_cache):
15615           Rewrite registry-saving to avoid race conditions and check for
15616           failed writes.
15617
15618 2006-03-08  Wim Taymans  <wim@fluendo.com>
15619
15620         * libs/gst/base/gstbasetransform.c:
15621         (gst_base_transform_transform_caps),
15622         (gst_base_transform_transform_size),
15623         (gst_base_transform_prepare_output_buffer),
15624         (gst_base_transform_get_unit_size),
15625         (gst_base_transform_buffer_alloc),
15626         (gst_base_transform_handle_buffer),
15627         (gst_base_transform_change_state):
15628         Cleanups, separate normal flow from errors, add sensible
15629         DEBUG lines.
15630         Don't try to renegotiate when allocating an output buffer.
15631         Also copy DISCONT buffer flag when copying a buffer.
15632         Reset the transform after we finish streaming, not during.
15633
15634 2006-03-08  Wim Taymans  <wim@fluendo.com>
15635
15636         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15637         Use last buffer timestamp in qos message.
15638
15639 2006-03-07  Wim Taymans  <wim@fluendo.com>
15640
15641         Patch by: Christophe Fergeau
15642
15643         * docs/pwg/advanced-tagging.xml:
15644         * docs/pwg/building-pads.xml:
15645           fixes #333416
15646
15647 2006-03-07  Wim Taymans  <wim@fluendo.com>
15648
15649         * docs/libs/gstreamer-libs-sections.txt:
15650         Added basesink new methods.
15651
15652         * gst/gstevent.c:
15653         * gst/gstevent.h:
15654         Docs updates. Flesh out the QoS docs.
15655
15656         * libs/gst/base/gstadapter.c:
15657         Small doc clarification about ownership and flushing.
15658
15659         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
15660         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
15661         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
15662         (gst_base_sink_get_property), (gst_base_sink_do_sync):
15663         * libs/gst/base/gstbasesink.h:
15664         API additions: 
15665         Added new methods to allow subclass to control max-lateness 
15666         and sync.
15667         Generate very basic QoS events based on last sync observation.
15668         Updated docs, fix typo, added some QoS blurb.
15669
15670         * libs/gst/base/gstbasesrc.c:
15671         Remove obsolete _get_state() calls from docs.
15672
15673 2006-03-07  Wim Taymans  <wim@fluendo.com>
15674
15675         * docs/libs/gstreamer-libs-sections.txt:
15676         * libs/gst/base/gstbasetransform.h:
15677         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
15678         Fix docs for GstBaseSrc.
15679
15680 2006-03-07  Wim Taymans  <wim@fluendo.com>
15681
15682         * docs/gst/gstreamer-sections.txt:
15683         * gst/gstbuffer.h:
15684         * gst/gstvalue.c:
15685         * libs/gst/base/gstbasetransform.h:
15686         Small documentation fixes.
15687
15688 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
15689
15690         * gst/gstvalue.c:
15691           Document thread-unsafety of gst_value_register_foo_func()
15692           when used at the same time as gst_value_foo() (#322628).
15693
15694 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
15695
15696         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
15697         (gst_push_src_check_get_range):
15698           Push sources don't support pull mode by default.
15699
15700 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
15701
15702         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15703         (gst_base_src_init), (gst_base_src_pad_check_get_range),
15704         (gst_base_src_default_check_get_range):
15705         * libs/gst/base/gstbasesrc.h:
15706           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
15707           provide default implementation, and rename
15708           gst_base_src_check_get_range() to
15709           gst_base_src_pad_check_get_range() for clarity.
15710
15711 2006-03-06  Wim Taymans  <wim@fluendo.com>
15712
15713         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15714         Make property overridable.
15715
15716 2006-03-06  Wim Taymans  <wim@fluendo.com>
15717
15718         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15719         (gst_base_sink_init), (gst_base_sink_set_property),
15720         (gst_base_sink_get_property), (gst_base_sink_do_sync):
15721         * libs/gst/base/gstbasesink.h:
15722         API addition: Make max-lateness a property.
15723
15724 2006-03-06  Wim Taymans  <wim@fluendo.com>
15725
15726         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
15727         (gst_base_sink_do_sync), (gst_base_sink_render_object):
15728         Don't ever draw a frame that is >10ms late.
15729
15730 2006-03-06  Michael Smith  <msmith@fluendo.com>
15731
15732         * gst/gstmessage.c: (_gst_message_copy):
15733           When copying a message, set the parent_refcount of the enclosed
15734           structure to point at the copy, not the original message.
15735
15736 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
15737
15738         Patch by: Christophe Fergeau
15739
15740         * gst/gstutils.h:
15741           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
15742           usable in c++ code (#333417)
15743
15744 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15745
15746         * gst/gstclock.h:
15747           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
15748
15749 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
15750
15751         * libs/gst/base/gstbasetransform.c:
15752         (gst_base_transform_transform_caps):
15753           Make sure caps are writable before passing them to
15754           gst_caps_append().
15755
15756 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
15757
15758         * gst/gsterror.h:
15759           Fix some minor docs errors.
15760
15761 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
15762
15763           Patch by: Ross Burton <ross at burtonini dot com>
15764
15765         * gst/gsterror.c: (_gst_resource_errors_init):
15766         * gst/gsterror.h:
15767           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
15768
15769 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
15770
15771         * gst/gst.c:
15772         Add a check and output a g_warning when GStreamer is built
15773         against GLib 2.6 but running against 2.8 or higher, and vice 
15774         versa. (Closes: #323542)
15775
15776 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
15777
15778         * gst/parse/parse.l:
15779           Commit patch for parse_launch syntax from #331255. Removes 
15780           support for quoted strings and mimetypes when writing filtered 
15781           caps. See the bug report for more details - I'm pretty sure this
15782           obscure feature is not in use by _anyone_ anywhere.
15783
15784           With this simple change, the size of the gstreamer.so here 
15785           drops from 2193KB to 1565KB.
15786
15787 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15788
15789         * plugins/elements/gsttypefindelement.h:
15790         * plugins/elements/gsttypefindelement.c:
15791         (gst_type_find_element_src_event), (start_typefinding),
15792         (stop_typefinding), (gst_type_find_element_handle_event),
15793         (gst_type_find_element_chain),
15794         (gst_type_find_element_chain_do_typefinding):
15795           Use gst_type_find_helper_for_buffer() for chain-based
15796           typefinding.
15797
15798 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15799
15800         * plugins/elements/gsttypefindelement.c:
15801         (gst_type_find_element_class_init),
15802         (gst_type_find_element_set_property),
15803         (gst_type_find_element_get_property):
15804           Deprecate "maximum" property (not only was it only taken into
15805           account for typefinding in push-mode anyway, it also was never
15806           actually possible to set it in the first place because the
15807           property was registered with the numeric property ID for the
15808           "minimum" property). Register "maximum" property correctly,
15809           for the sake of future copy'n'pasters. Remove some cruft
15810           from property get/set functions.
15811
15812 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15813
15814         * plugins/elements/gsttypefindelement.c:
15815         (gst_type_find_element_activate):
15816           Use gst_type_find_helper_get_range() here, so we
15817           can honour the "minimum" property and also emit
15818           the signal with the correct probability of the found caps.
15819
15820 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
15821
15822         * docs/libs/gstreamer-libs-sections.txt:
15823         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
15824         (helper_find_suggest), (gst_type_find_helper_get_range),
15825         (gst_type_find_helper):
15826         * libs/gst/base/gsttypefindhelper.h:
15827           New API: gst_type_find_helper_get_range() (#333042).
15828
15829 2006-03-02  Michael Smith  <msmith@fluendo.com>
15830
15831         * gst/gstregistryxml.c: (load_feature):
15832           Asserting on a failure to read part of the registry is Not Cool.
15833           Just log a warning and return NULL (which is already handled)
15834
15835 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
15836
15837         * win32/common/libgstbase.def:
15838           added export of gst_type_find_helper_for_buffer
15839         * win32/common/libgstbase.def:
15840           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
15841           gst_ghost_pad_get_target
15842
15843 2006-02-28  Wim Taymans  <wim@fluendo.com>
15844
15845         * docs/design/draft-klass.txt:
15846         We use Filter now.
15847         Added Connector to mark elements that are only used to
15848         allow pipeline connections.
15849         Moved Debug to extra feature since most of them are 
15850         functionally something else.
15851
15852 2006-02-28  Wim Taymans  <wim@fluendo.com>
15853
15854         * docs/design/draft-klass.txt:
15855         Some updates and clarifications.
15856
15857 2006-02-28  Wim Taymans  <wim@fluendo.com>
15858
15859         * docs/design/draft-klass.txt:
15860         Proposal for klass field values.
15861
15862         * docs/design/part-streams.txt:
15863         Start of a doc describing stream anatomy.
15864
15865 2006-02-28  Wim Taymans  <wim@fluendo.com>
15866
15867         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
15868         Help the compiler a bit with type registration.
15869         Use existing forward cod path instead of duplicating it when 
15870         handling a message.
15871         
15872         * gst/gstbus.c: (gst_bus_get_type):
15873         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
15874         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
15875         * gst/gstclock.c: (gst_clock_get_type):
15876         * gst/gstelement.c: (gst_element_get_type),
15877         * gst/gstelementfactory.c: (gst_element_factory_get_type):
15878         * gst/gstindexfactory.c: (gst_index_factory_get_type):
15879         * gst/gstminiobject.c: (gst_mini_object_get_type):
15880         * gst/gstpad.c: (gst_pad_get_type):
15881         * gst/gstsegment.c: (gst_segment_get_type):
15882         * gst/gststructure.c: (gst_structure_get_type):
15883         * gst/gstsystemclock.c: (gst_system_clock_get_type):
15884         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
15885         * gst/gstvalue.c:
15886         Help compiler with type registration.
15887
15888         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
15889         Small doc update.
15890
15891 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15892
15893         * plugins/elements/gsttypefindelement.c:
15894         (gst_type_find_element_handle_event):
15895           When we get an EOS event and have not found a type yet
15896           (most likely because we had not yet accumulated
15897           TYPE_FIND_MIN_SIZE of data yet), try to determine the
15898           type given the data we have so far. Fixes typefinding
15899           for very short streams again, most notably quicktime
15900           redirections as used on Apple's trailer site (#331701).
15901
15902 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15903
15904         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
15905         (gst_type_find_helper):
15906           Try typefinding factories with the highest rank first.
15907
15908 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15909
15910         * docs/libs/gstreamer-libs-docs.sgml:
15911         * docs/libs/gstreamer-libs-sections.txt:
15912         * libs/gst/base/gsttypefindhelper.c:
15913           Add section for typefind helper and add documentation
15914           for the old and the new function.
15915
15916 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15917
15918         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
15919         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
15920         (gst_type_find_helper_for_buffer):
15921         * libs/gst/base/gsttypefindhelper.h:
15922           New API: gst_type_find_helper_for_buffer() (#332723).
15923           
15924 2006-02-27  Michael Smith  <msmith@fluendo.com>
15925
15926         Patch by: Loïc Minier
15927
15928         * configure.ac:
15929         * docs/Makefile.am:
15930         * docs/slides/Makefile.am:
15931           prevent CVS directories getting disted.
15932
15933 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15934
15935         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
15936           Use the REFCOUNTING category for caps refcounting.
15937           
15938 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
15939
15940         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
15941           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
15942
15943 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
15944
15945         * plugins/elements/gsttypefindelement.c:
15946         (gst_type_find_element_activate):
15947           Use gst_pad_check_pull_range() before _activate_pull()
15948           to avoid unnecessary open/close (see #331690).
15949
15950 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
15951
15952         * gst/gstutils.c:
15953           Docs enhancement: make it crystal clear what the
15954           gst_pad_add_*_probe() callbacks should look like.
15955
15956 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
15957
15958         * libs/gst/base/gstbasesrc.c:
15959           Document how applications can stop recording from
15960           live sources (see #330996).
15961
15962 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15963
15964         * tests/check/Makefile.am:
15965         * tests/check/libs/basesrc.c: (eos_event_counter),
15966         (basesrc_eos_events_pull), (basesrc_eos_events_push),
15967         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
15968         (gst_basesrc_suite), (main):
15969           ... and add some tests for the base source EOS stuff.
15970
15971 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15972
15973         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
15974           Test case originally showed the problem fixed below,
15975           but was then amended. Add checks back at the place
15976           where they used to be.
15977
15978 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15979
15980         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15981         (gst_base_src_init), (gst_base_src_loop),
15982         (gst_base_src_activate_push), (gst_base_src_activate_pull),
15983         (gst_base_src_change_state):
15984         * libs/gst/base/gstbasesrc.h:
15985           Don't unconditionally send EOS when going from PAUSED to
15986           READY state, esp. make sure we don't send two EOS events
15987           in some cases (e.g. one when reaching EOS and one when
15988           going from PAUSED to READY). Also, we don't want to send
15989           EOS events when operating in pull mode. However, we do
15990           want to send an EOS event when shutting down a live
15991           source explicitly, for example (fixes #330996).
15992           
15993 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15994
15995         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
15996           Update src->read_position after a seek when not using mmap.
15997           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
15998
15999 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
16000
16001         * gst/Makefile.am:
16002         * gst/gstparse.h:
16003         * gst/gstutils.c:
16004         * gst/gstutils.h:
16005         Make things work with --disable-parse as they do with 
16006         --disable-load-save - the symbols involved disappear, but the
16007         header is still installed and GST_DISABLE_PARSE is included via
16008         gstconfig.h
16009
16010 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16011
16012         * libs/gst/base/gstbasetransform.c:
16013         (gst_base_transform_change_state): Fix a stupid bug. I was 
16014         sure I compiled that.
16015
16016 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16017
16018         * gst/gstpad.c: (gst_pad_set_blocked_async):
16019         * gst/gstutils.c: (gst_pad_add_data_probe),
16020         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16021         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16022         (gst_pad_remove_buffer_probe): Make those function act on the
16023         ghostpad target when it's a ghostpad. (Closes #331727)
16024
16025 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16026
16027         * libs/gst/base/gstbasetransform.c:
16028         (gst_base_transform_change_state): Make basetransform reusable.
16029         (Closes #331898)
16030
16031 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
16032
16033         * docs/random/release:
16034         Move the current documentation of how to do a release to the top
16035         of the file.
16036
16037         * gst/gstbin.c: (gst_bin_class_init),
16038         (gst_bin_handle_message_func):
16039         Allow multiple state-recalculation threads. (Closes #328873)
16040
16041 2006-02-19  Julien MOUTTE  <julien@moutte.net>
16042
16043         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
16044         * gst/gstpad.c: (gst_pad_set_event_function),
16045         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16046         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
16047         2 strings. You can't use the STR_NULL macro on that.
16048
16049 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
16050
16051         * gst/gstpad.c: (gst_pad_set_event_function),
16052         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16053         (gst_pad_set_getcaps_function)
16054         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
16055           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
16056           So now, we can use --gst-debug-level=5 on Windows
16057         * win32/common/libgstcontroller.def:
16058           Added export of gst_controller_init
16059         * win32/vs6/libgstcontroller.dsp:
16060           Fixed Release post build configuration
16061
16062 2006-02-17  Wim Taymans  <wim@fluendo.com>
16063
16064         * tests/check/gst/gstquery.c: (GST_START_TEST):
16065         Added another check.
16066
16067 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
16068
16069         * plugins/elements/gsttypefindelement.c: (find_peek):
16070           We can do peeks at non-zero offsets, as long as they
16071           fall within the buffer we have.
16072
16073 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
16074
16075         * tests/check/Makefile.am:
16076         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
16077         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
16078         (parse_suite), (main):
16079           Add testsuite for parse launch syntax
16080
16081 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
16082
16083         * plugins/elements/gsttypefindelement.c:
16084         (gst_type_find_element_chain):
16085           When typefinding is unsuccessful in the chain function, don't
16086           error out immediately. Only error out with NO_CAPS_FOUND if
16087           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
16088           otherwise simply wait for more data so we can try typefinding
16089           again with more data later. Also, don't attempt to typefind
16090           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
16091           this should improve typefinding from network sources where the
16092           size of the first buffer can be somewhat random.
16093
16094 2006-02-14  Wim Taymans  <wim@fluendo.com>
16095
16096         * docs/gst/gstreamer-sections.txt:
16097         * gst/gstpadtemplate.c:
16098         * gst/gstpadtemplate.h:
16099         Fix padtemplate docs, fixes #328805.
16100
16101 2006-02-14  Wim Taymans  <wim@fluendo.com>
16102
16103         * tools/gst-launch.c: (main):
16104         NO_PREROLL is not an ERROR so don't send confusing messages
16105         to the user.
16106
16107 2006-02-14  Wim Taymans  <wim@fluendo.com>
16108
16109         Patch by: Torsten Schoenfeld
16110
16111         * gst/gstregistry.c: (gst_registry_get_default),
16112         (_gst_registry_cleanup):
16113         Protect default registry with lock and ref/sink it.
16114         Fixes #324818
16115
16116 2006-02-14  Wim Taymans  <wim@fluendo.com>
16117
16118         * gst/gstbuffer.c:
16119         * gst/gstquery.c: (gst_query_list_add_format),
16120         (gst_query_set_formatsv), (gst_query_parse_formats_length),
16121         (gst_query_parse_formats_nth):
16122         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16123         Docs fixes.
16124
16125 2006-02-14  Wim Taymans  <wim@fluendo.com>
16126
16127         * docs/gst/gstreamer-sections.txt:
16128         Reworked query docs.
16129
16130         * gst/gstquery.c: (gst_query_new_formats),
16131         (gst_query_list_add_format), (gst_query_set_formats),
16132         (gst_query_set_formatsv), (gst_query_parse_formats_length),
16133         (gst_query_parse_formats_nth):
16134         * gst/gstquery.h:
16135         Flesh out formats query, added some new methods.
16136         Fix part of #324398.
16137
16138         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
16139         Added query creation tests.
16140
16141 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
16142
16143         * gst/gstpad.c: (fixate_value):
16144         Add a default fixation for fraction lists.
16145
16146 2006-02-13  Wim Taymans  <wim@fluendo.com>
16147
16148         * gst/gsttask.c: (gst_task_init), (gst_task_func),
16149         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
16150         (gst_task_join):
16151         * gst/gsttask.h:
16152         Detect and warn for obvious deadlocks. fixes #320340
16153         Fix error case where lock was not released.
16154
16155         * tests/check/Makefile.am:
16156         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
16157         (task_func), (gst_element_suite), (main):
16158         Add task check.
16159
16160 2006-02-13  Wim Taymans  <wim@fluendo.com>
16161
16162         * docs/gst/gstreamer-sections.txt:
16163         * gst/gstbus.c:
16164         Add new functions to docs.
16165
16166 2006-02-13  Wim Taymans  <wim@fluendo.com>
16167
16168         * docs/design/part-TODO.txt:
16169         Updated TODO list, basesrc supports seeking to non-bytes
16170         formats.
16171
16172         * docs/design/part-element-sink.txt:
16173         Update docs.
16174
16175         * gst/gstbin.c: (bin_replace_message),
16176         (gst_bin_handle_message_func):
16177         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
16178         * gst/gstevent.c: (gst_event_finalize):
16179         * gst/gstpad.c: (gst_pad_event_default_dispatch),
16180         (gst_pad_send_event):
16181         Use shiny new _TYPE_NAME macros.
16182
16183         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
16184         Move debug statement up.
16185
16186         * gst/gstelement.c: (gst_element_set_locked_state):
16187         Add some debugging.
16188
16189 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
16190
16191         * docs/gst/gstreamer-sections.txt:
16192         * gst/gstmessage.h:
16193         * gst/gstquery.h:
16194           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
16195           macros (#330906). Also, document the already existing
16196           GST_QUERY_TYPE macro.
16197
16198 2006-02-13  Wim Taymans  <wim@fluendo.com>
16199
16200         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
16201         (event_probe), (GST_START_TEST):
16202         Only events up to the pipeline EOS are counted, there are
16203         some more when going to NULL currently which we don't care
16204         about for now.
16205
16206 2006-02-13  Wim Taymans  <wim@fluendo.com>
16207
16208         * gst/gstpad.c: (gst_pad_send_event):
16209         Correctly check flushing and emit probes. fixes #330125
16210
16211 2006-02-10  Andy Wingo  <wingo@pobox.com>
16212
16213         * gst/gstbus.c (gst_bus_class_init): Declare our private data
16214         structure.
16215         (gst_bus_init): Cache the location of the private data in the
16216         instance structure.
16217         (gst_bus_enable_sync_message_emission) 
16218         (gst_bus_disable_sync_message_emission): Implement new public
16219         functions.
16220         (gst_bus_post): Emit the sync-message signal if the user asked for
16221         it. Fixes #330684.
16222
16223         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
16224         location of the bus-private structure.
16225         (gst_bus_enable_sync_message_emission)
16226         (gst_bus_disable_sync_message_emission): API addition
16227
16228 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
16229
16230         Patch by: Vincent Torri
16231
16232         * docs/pwg/building-boiler.xml:
16233         PWG patch from #326800
16234
16235 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
16236
16237         * configure.ac:
16238         * docs/Makefile.am:
16239         * docs/design/Makefile.am:
16240           Dist design docs.
16241
16242 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
16243
16244         * configure.ac:
16245           back to CVS
16246
16247 === release 0.10.3 ===
16248
16249 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
16250
16251         * configure.ac:
16252           releasing 0.10.3, "Like a virgin"
16253
16254 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
16255
16256         * configure.ac:
16257           2nd prerelease of 0.10.3
16258           Bump libtool versioning.
16259
16260 2006-02-07  Andy Wingo  <wingo@pobox.com>
16261
16262         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
16263         update last_stop if we're in TIME format and the timestamp is
16264         valid.
16265
16266         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
16267         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
16268         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
16269         If we get a new newsegment with a different format, adapt
16270         accordingly.
16271
16272         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
16273         of 0. Not a problem, really.
16274
16275         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
16276         warn if sync=true.
16277
16278 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
16279
16280         * configure.ac:
16281           Prelease of 0.10.3
16282
16283 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
16284
16285         * win32/vs7:
16286           project files updated to the default vs7 configuration
16287         * win32/common/libgstbase.def:
16288         * win32/common/libgstreamer.def:
16289           added new symbols,
16290           removed empty lines,
16291           sorted all exported symbols alphabetically
16292         * win32/common/dirent.c:
16293         * win32/common/dirent.h:
16294         * win32/common/gchar.h:
16295           use windows line end.
16296           
16297 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
16298
16299         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
16300           Send EOS event when stopping.
16301
16302 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
16303
16304         * docs/README:
16305           Tell folks what to do if the plugin-foobar.xml file
16306           hasn't been generated for a newly-added plugin.
16307
16308 2006-02-05  Julien MOUTTE  <julien@moutte.net>
16309
16310         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
16311         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
16312         (gst_collect_pads_start), (gst_collect_pads_stop),
16313         (gst_collect_pads_event): Collectpads now holds a reference
16314         to the GstPad that was added. Indeed we don't want to look
16315         at pads that might just go away with no warning...
16316
16317 2006-02-05  Julien MOUTTE  <julien@moutte.net>
16318
16319         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
16320         (gst_collect_pads_start), (gst_collect_pads_stop),
16321         (gst_collect_pads_event), (gst_collect_pads_chain):
16322         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
16323         Mark Nauwelaerts's patch on bug #328491.
16324
16325 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
16326
16327         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
16328         (gst_utils_suite):
16329           Add some simple tests for gst_parse_bin_from_description() and
16330           gst_bin_find_unconnected_pad() (#329069).
16331
16332 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
16333
16334         * tools/gst-launch.c: (event_loop), (main):
16335           Catch errors during preroll (#320084).
16336
16337 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
16338
16339         * plugins/elements/gsttypefindelement.c:
16340         (gst_type_find_element_activate):
16341           Post TYPE_NOT_FOUND error message when typefinding
16342           is unsuccessful in the activate function as well.
16343
16344 2006-02-02  Wim Taymans  <wim@fluendo.com>
16345
16346         * docs/design/part-element-sink.txt:
16347         Updated doc.
16348
16349 2006-02-02  Wim Taymans  <wim@fluendo.com>
16350
16351         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16352         (gst_base_sink_render_object),
16353         (gst_base_sink_queue_object_unlocked):
16354         Only keep track of prerollable items when we are 
16355         prerolling.
16356         Before rendering after preroll, always check if we
16357         have queued items.
16358         Added some more debugging.
16359
16360 2006-02-02  Wim Taymans  <wim@fluendo.com>
16361
16362         * gst/gstelement.c: (gst_element_continue_state),
16363         (gst_element_set_state_func), (gst_element_change_state):
16364         Fixed #326576, been running this for quite some time with
16365         no regressions at all.
16366
16367 2006-02-02  Wim Taymans  <wim@fluendo.com>
16368
16369         * common/gst.supp:
16370         Added more suppressions
16371
16372 2006-02-02  Wim Taymans  <wim@fluendo.com>
16373
16374         * docs/design/part-element-sink.txt:
16375         Updated document.
16376
16377         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16378         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
16379         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
16380         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16381         (gst_base_sink_do_sync), (gst_base_sink_render_object),
16382         (gst_base_sink_preroll_object),
16383         (gst_base_sink_queue_object_unlocked),
16384         (gst_base_sink_queue_object), (gst_base_sink_event),
16385         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
16386         (gst_base_sink_loop), (gst_base_sink_activate_pull),
16387         (gst_base_sink_get_position), (gst_base_sink_change_state):
16388         * libs/gst/base/gstbasesink.h:
16389         Totally refactored matching the design doc.
16390         Use two segments, one to clip incomming buffers and another to
16391         perform sync.
16392         Handle queueing correctly, bypass the queue when playing.
16393         Make EOS cancelable.
16394         Handle errors correctly when operating in pull based mode.
16395
16396         * tests/check/elements/fakesink.c: (GST_START_TEST),
16397         (fakesink_suite):
16398         Added new check for sinks.
16399
16400 2006-02-02  Wim Taymans  <wim@fluendo.com>
16401
16402         * gst/gstsegment.c: (gst_segment_clip):
16403         No reason to refuse to clip when start == -1
16404
16405 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
16406
16407         * docs/README:
16408         * docs/manual/intro-basics.xml:
16409         * docs/manual/intro-preface.xml:
16410         * docs/manual/manual.xml:
16411         * docs/pwg/advanced-dparams.xml:
16412         * docs/pwg/intro-basics.xml:
16413         * docs/pwg/intro-preface.xml:
16414         * docs/pwg/pwg.xml:
16415           describe dparams (controller) for plugins
16416           unify docs a little more
16417
16418 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
16419
16420         * docs/gst/gstreamer-sections.txt:
16421         * gst/gstutils.c: (element_find_unconnected_pad),
16422         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
16423         * gst/gstutils.h:
16424           Add new API: gst_parse_bin_from_description() and
16425           gst_bin_find_unconnected_pad() (#329069).
16426
16427 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
16428
16429         * docs/manual/README:
16430           uncover a nasty detail of the docs build
16431
16432 2006-01-31  Wim Taymans  <wim@fluendo.com>
16433
16434         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
16435         Don't cache duration messages if we're not going to use or
16436         free them.
16437
16438 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
16439
16440         * docs/manual/advanced-dparams.xml:
16441         * docs/pwg/advanced-dparams.xml:
16442           more dparam docs
16443         * gst/gstindex.c:
16444           fix docs
16445         * libs/gst/controller/lib.c: (gst_controller_init):
16446           init just once
16447
16448 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16449
16450         * gst/gstelement.c: (gst_element_message_full):
16451           also show file/line/func if no additional debug was given
16452
16453 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
16454         
16455         * win32/vs7/grammar.vcproj:
16456           activate copy of autogenerated files for Release mode
16457
16458 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
16459         
16460         * win32/common/libgstreamer.def:
16461           export gst_value_compare
16462
16463 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
16464
16465         * plugins/elements/Makefile.am:
16466         * plugins/elements/gstelements.c:
16467         * plugins/elements/gstfdsink.c: (_do_init),
16468         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
16469         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
16470         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
16471         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
16472         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
16473         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
16474         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
16475         * plugins/elements/gstfdsink.h:
16476         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
16477
16478 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
16479
16480         * docs/manual/advanced-dparams.xml:
16481           describe controller
16482         * docs/manual/advanced-position.xml:
16483         * docs/manual/basics-init.xml:
16484         * docs/manual/manual.xml:
16485         * docs/manual/titlepage.xml:
16486         * docs/pwg/pwg.xml:
16487         * docs/pwg/titlepage.xml:
16488           cleanup xml (more to come)
16489         * libs/gst/controller/gstcontroller.c:
16490           fix typo
16491
16492 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
16493         
16494         * win32/vs6/grammar.dsp:
16495           add autogen of gstmarshal.c,h for Release mode
16496                 
16497 2006-01-30  Wim Taymans  <wim@fluendo.com>
16498
16499         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16500         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
16501         (gst_base_sink_handle_object), (gst_base_sink_event),
16502         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
16503         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16504         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
16505         (gst_base_sink_deactivate), (gst_base_sink_activate),
16506         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
16507         (gst_base_sink_query), (gst_base_sink_change_state):
16508         Basesink cleanups, remove some old code.
16509         Handle the case where a subclass can preroll in the render
16510         method (mostly audiosinks).
16511         Handle more events.
16512         Remove some locks around variables that are now protected
16513         with the PREROLL_LOCK (clock_id, flushing, ..).
16514         Optimize position query some more, do correct locking.
16515         Remove old code to push queue in state change, this is not
16516         needed anymore since preroll blocks on all prerollable items 
16517         now.
16518         Almost implemented as described in design doc.
16519
16520 2006-01-30  Wim Taymans  <wim@fluendo.com>
16521
16522         * tests/check/gst/gstbin.c: (GST_START_TEST):
16523         Wait for refcount to settle down before checking.
16524
16525 2006-01-30  Wim Taymans  <wim@fluendo.com>
16526
16527         * docs/design/part-element-sink.txt:
16528         Pseudo code overview of desired sink behaviour regarding
16529         preroll.
16530
16531 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
16532         * win32/vs6/grammar.dsp:
16533           fix some bugs in Release mode for autogenerated files
16534                 
16535 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
16536         * win32/common/libgstbase.def:
16537         * win32/common/libgstreamer.def:
16538           export some new symbols: gst_base_src_set_format,
16539           gst_iterator_next, gst_structure_set_valist
16540
16541 2006-01-29  Julien MOUTTE  <julien@moutte.net>
16542
16543         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
16544         Set pad functions unconditionally. Fixes #329105.
16545
16546 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
16547         * win32/vs8:
16548           add vs8 project files created by Sergey Scobich
16549
16550 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
16551
16552         * gst/gstutils.c: (gst_element_unlink_pads):
16553         Don't leak pad references.
16554
16555         * tests/check/elements/fakesink.c: (GST_START_TEST):
16556         * tests/check/generic/sinks.c: (GST_START_TEST):
16557         * tests/check/generic/states.c: (GST_START_TEST):
16558         * tests/check/gst/gstbin.c: (GST_START_TEST):
16559         * tests/check/gst/gstcaps.c: (GST_START_TEST):
16560         * tests/check/gst/gstelement.c: (GST_START_TEST):
16561         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16562         * tests/check/gst/gstiterator.c: (GST_START_TEST):
16563         * tests/check/gst/gstvalue.c: (GST_START_TEST):
16564         Fix a bunch of leaks. Make generic/sinks.c
16565         use a bit less cpu by slowing the buffer rate
16566         between fakesrc and fakesink.
16567         
16568 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
16569         * gst/gstcaps.c:
16570         * gst/gstelement.c: (gst_element_send_event):
16571         * gst/gstevent.c:
16572         * gst/gstinfo.c:
16573         * gst/gstiterator.c:
16574         * gst/gstiterator.h:
16575         * gst/gstpad.c: (gst_pad_send_event):
16576         * gst/gststructure.c:
16577         * gst/gsturi.c:
16578         * gst/gstutils.c:
16579         * gst/gstvalue.c:
16580         * libs/gst/base/gstadapter.c:
16581           doc fixes, to link to function, just write gst_cool_function(), don't
16582           prefix with '#'
16583
16584 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
16585
16586         * plugins/elements/gsttee.c: (gst_tee_do_push),
16587         (gst_tee_handle_buffer):
16588         Always prefer an actual return value from a src
16589         pad in place of NOT_LINKED. This means we return
16590         WRONG_STATE when all src pads are WRONG_STATE
16591         instead of NOT_LINKED.
16592
16593         Lock when replacing the last message to prevent
16594         racing with the get_property method.
16595
16596         Add debug output
16597
16598 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
16599
16600         * tests/check/Makefile.am:
16601         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
16602         (main):
16603         Add a very simple check that should have caught the memleak I fixed
16604         last night (if not for the slice allocator hiding it)
16605
16606 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
16607
16608         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16609         (gst_bin_remove_func), (gst_bin_handle_message_func),
16610         (bin_query_duration_fold), (bin_query_generic_fold):
16611         Clean up references to the clock provider when disposed or when
16612         handling a clock-lost message from it.
16613
16614         Unref sinks when performing a query via gst_iterator_fold, as the
16615         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
16616
16617         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
16618         (gst_clock_set_master):
16619         Drop our reference to the master clock, if any, when we are disposed.
16620
16621         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
16622         Chain up in dispose. 
16623
16624 2006-01-26  Wim Taymans  <wim@fluendo.com>
16625
16626         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
16627         Add some debugging.
16628
16629 2006-01-26  Julien MOUTTE  <julien@moutte.net>
16630
16631         * plugins/elements/gsttee.c: (gst_tee_do_push),
16632         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
16633         handles pad being NOT_LINKED or in WRONG_STATE.
16634
16635 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
16636
16637         * win32/MANIFEST:
16638           more updating
16639
16640 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
16641
16642         * win32/MANIFEST:
16643           remove obsolete entry
16644
16645 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
16646
16647         * docs/gst/gstreamer-sections.txt:
16648         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
16649         (gst_bin_iterate_sources), (gst_bin_send_event):
16650         * gst/gstbin.h:
16651         * gst/gstelement.c: (gst_element_send_event):
16652         * gst/gstevent.c:
16653         * gst/gstpad.c: (gst_pad_send_event):
16654           added code for downstream events, reviewed docs in gstevent.c
16655
16656 2006-01-25  Julien MOUTTE  <julien@moutte.net>
16657
16658         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16659         We only query position using the clock in the playing state.
16660         Query peer in the other cases.
16661         * win32/common/config.h: Updates.
16662
16663 2006-01-24  Wim Taymans  <wim@fluendo.com>
16664
16665         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16666         A clock entry that is scheduled for the exact time of the
16667         clock is still in time.
16668
16669         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16670         (gst_base_sink_do_sync):
16671         Add some more debug info.
16672
16673 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
16674
16675         * win32/vs7:
16676           Add new vs7 project files and solution.
16677
16678 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
16679
16680         * win32/vs7:
16681           all files removed as they were out-dated.
16682
16683 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16684
16685         * docs/random/release:
16686           update notes
16687         * gst/gstbin.c: (gst_bin_init):
16688         * gst/gstbus.c: (gst_bus_new):
16689         * gst/gstbus.h:
16690         * gst/gstpipeline.c: (gst_pipeline_init):
16691           use gst_bus_new(), improve logging, fix docs
16692         * win32/common/config.h:
16693           update for cvs build
16694
16695 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16696
16697         * autogen.sh:
16698           up required version of automake to 1.7
16699
16700 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
16701
16702         * win32/common/libgstreamer.def:
16703           export gst_buffer_is_metadata_writable
16704
16705 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
16706
16707         * docs/gst/gstreamer-sections.txt:
16708         * gst/gstevent.h:
16709           Add gst_event_replace() (#327001)
16710
16711 2006-01-20  Wim Taymans  <wim@fluendo.com>
16712
16713         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16714         Make it actually compile too..
16715
16716 2006-01-20  Wim Taymans  <wim@fluendo.com>
16717
16718         * gst/gstcaps.c:
16719         Clarify behaviour of _is_equal() when passing NULL parameters.
16720
16721         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16722         (gst_pad_set_caps):
16723         Cleanups. Don't unref NULL caps.
16724         When setting the same caps, protect caps of the pad with
16725         proper lock.
16726         Use full functionality of _is_equal() when comparing caps.
16727
16728 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
16729
16730         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16731         Don't loop infinitely if there are no buffers to present. Partially
16732         fixes #327197, but collectpads is just broken for reusing elements
16733         to do multiple encodes atm.
16734
16735 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
16736
16737         * tools/gst-inspect.c: (print_element_features):
16738         * tools/gst-xmlinspect.c: (main):
16739         URL_HANDLER is not a plugin feature we can search for in
16740         the registry.
16741
16742 2006-01-19  Edward Hervey  <edward@fluendo.com>
16743
16744         * gst/gstelement.c: (gst_element_pads_activate): 
16745         When activating, do src pads first, then sink pads.
16746         When de-activating, do sink pads first, then src pads.
16747
16748 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16749
16750         * docs/gst/gstreamer-sections.txt:
16751         Add gst_index_add_associationv to the docs
16752
16753 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16754
16755         * gst/gstevent.c:
16756           Fix docs typo
16757
16758         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
16759         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
16760           Do some refactoring. Doesn't actually change functionality,
16761           but makes landing the DRAIN event easier later.
16762
16763 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
16764
16765         * docs/pwg/advanced-scheduling.xml:
16766           Update from 0.9.x to 0.10 API and make example a bit
16767           clearer.
16768
16769 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16770
16771         * docs/gst/gstreamer-sections.txt:
16772         Add gst_buffer_(is|make)_metadata_writable methods.
16773
16774 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16775
16776         * docs/design/part-sparsestreams.txt:
16777         Update sparse streams doc, hopefully for greater clarity
16778
16779 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
16780
16781         * docs/design/part-events.txt:
16782         Remove mention of FILLER events.
16783         Add DRAIN event.
16784
16785         * docs/design/part-sparsestreams.txt:
16786         Write some things about using NEWSEGMENT to keep sparse streams
16787         flowing.
16788
16789 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
16790
16791         * gst/gstbin.c: (gst_bin_dispose):
16792           Guard gst_object_unref call against a NULL object (dispose
16793           can theoretically be called multiple times).
16794           
16795 2006-01-18  Wim Taymans  <wim@fluendo.com>
16796
16797         * gst/gstbin.c: (gst_bin_element_set_state):
16798         * gst/gstclock.c: (gst_clock_id_wait):
16799         Added some more debug info.
16800
16801         * libs/gst/base/gstadapter.c:
16802         Added more docs.
16803
16804         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16805         (gst_base_sink_do_sync), (gst_base_sink_chain):
16806         Added some comments.
16807
16808 2006-01-18  Wim Taymans  <wim@fluendo.com>
16809
16810         * tests/check/Makefile.am:
16811         * tests/check/elements/fakesink.c: (chain_async_buffer),
16812         (chain_async), (chain_async_return), (GST_START_TEST),
16813         (fakesink_suite), (main):
16814         Added fakesink test that checks prerolling and clipping
16815         behaviour.
16816
16817         * tests/check/gst/gstutils.c: (GST_START_TEST):
16818         Make check run faster so that buildbots don't timeout.
16819
16820 2006-01-18  Wim Taymans  <wim@fluendo.com>
16821
16822         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16823         (gst_base_sink_do_sync):
16824         Some cleanups.
16825         When the sink finishes blocking on the preroll buffer, it can
16826         immediatly render it instead of rendering when the next buffer
16827         arrives.
16828
16829 2006-01-18  Wim Taymans  <wim@fluendo.com>
16830
16831         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
16832         (gst_base_sink_get_property), (gst_base_sink_do_sync),
16833         (gst_base_sink_chain):
16834         Small cleanups.
16835         GST_ELEMENT_CLOCK and sync are protected with LOCK.
16836         Don't store _last_stop if the buffer is dropped.
16837
16838 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
16839
16840         * plugins/elements/gsttypefindelement.c:
16841         (gst_type_find_element_class_init):
16842           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
16843           object method handler that sets the caps on the pad and we want
16844           that to happen before we emit the signal (fixes e.g. feeding a
16845           plain text file to decodebin).
16846
16847 2006-01-18  Christian Schaller  <Christian@fluendo.com>
16848
16849         * gst/gstplugin.c: Add MPL and Proprietary as license options
16850
16851 2006-01-18  Andy Wingo  <wingo@pobox.com>
16852
16853         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
16854         symbol was exported before, it appears this was just an oversight.
16855         Fixes #168703.
16856         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
16857
16858         * gst/gstindex.c (gst_index_add_associationv): Changed int in
16859         prototype to gint. OK since this prototype was not in the header.
16860
16861 2006-01-17  Andy Wingo  <wingo@pobox.com>
16862
16863         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
16864         registry while we remove plugins.
16865
16866         * tools/gst-inspect.c (print_element_info): Don't unref the
16867         factory arg, that should be the responsibility of whatever code
16868         received the ref. Fixes a double-free when called from
16869         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
16870         (main): Unref the factory if we have one.
16871         (print_element_list): No change -- relies on the
16872         plugin_feature_list_free to free the list of features.
16873
16874 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
16875
16876         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
16877         (gst_buffer_make_metadata_writable):
16878         * gst/gstbuffer.h:
16879         * libs/gst/base/gstbasetransform.c:
16880         (gst_base_transform_prepare_output_buf):
16881         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16882         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16883           Replace gst_buffer_(make|is)_metadata_writable patch now
16884           that the release is out.
16885
16886 2006-01-17  Andy Wingo  <wingo@pobox.com>
16887
16888         * gst/gstregistry.c: Reflow design comment. Update so as to speak
16889         in the present tense without reference to versions.
16890
16891         * gst/gstregistry.c (gst_registry_add_plugin)
16892         (gst_registry_remove_plugin, gst_registry_remove_feature)
16893         (gst_registry_find_feature, gst_registry_get_feature_list)
16894         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
16895         (gst_registry_lookup, gst_registry_scan_path)
16896         (_gst_registry_remove_cache_plugins)
16897         (gst_registry_get_feature_list_by_plugin): Add argument
16898         validation.
16899
16900 === release 0.10.2 ===
16901
16902 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
16903
16904         * configure.ac:
16905           releasing 0.10.2, "If man is five"
16906
16907 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16908
16909         * gst/gstbuffer.c:
16910         * gst/gstbuffer.h:
16911         * libs/gst/base/gstbasetransform.c:
16912         (gst_base_transform_prepare_output_buf):
16913         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16914         * tests/check/gst/gstbuffer.c: (gst_test_suite):
16915           Back out patch until after the release.
16916
16917 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16918
16919         * gst/gstminiobject.c:
16920           Spelling fix in docs.
16921         * ChangeLog - remove conflict indicator
16922
16923 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16924
16925         Reviewed By: Andy Wingo
16926
16927         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
16928         (gst_buffer_make_metadata_writable):
16929         * gst/gstbuffer.h:
16930           Add gst_buffer_(is|make)_metadata_writable as analogues of
16931           gst_buffer_(is|make)_writable.
16932
16933         * libs/gst/base/gstbasetransform.c:
16934         (gst_base_transform_prepare_output_buf):
16935         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16936           Use name gst_buffer_(is|make)_metadata_writable functions.
16937
16938         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16939           Test gst_buffer_(is|make)_metadata_writable
16940         
16941           (Closes: #324162)
16942
16943 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
16944
16945         * docs/manual/Makefile.am:
16946           don't do parallel make
16947         * configure.ac:
16948           AC_SUBST HOST_CPU
16949         * win32/common/config.h.in:
16950           add generations for HOST_CPU and GST_MAJORMINOR
16951         * win32/common/config.h:
16952           commit generated result
16953
16954 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
16955
16956         * docs/manual/appendix-integration.xml:
16957           Update GNOME integration section to use gst_init_get_option_group()
16958           instead of the old popt stuff (#322911). Also, GNOME applications
16959           should  now use gconf*sink and gconf*src instead of the old gconf
16960           helper lib we had.
16961
16962 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
16963
16964
16965         * docs/gst/gstreamer-docs.sgml:
16966         * docs/gst/gstreamer-sections.txt:
16967         * docs/libs/gstreamer-libs-sections.txt:
16968           add new API entries to the docs
16969         * libs/gst/controller/Makefile.am:
16970         * libs/gst/controller/gstcontroller.c:
16971         * libs/gst/controller/gstcontroller.h:
16972         * libs/gst/controller/gstcontrollerprivate.h:
16973         * libs/gst/controller/gsthelper.c:
16974         * libs/gst/controller/gstinterpolation.c:
16975           move private structs to private header
16976         * po/README:
16977           gstreamer-0.7 -> gstreamer-0.10
16978         * tests/check/libs/struct_i386.h:
16979           remove private structs
16980
16981 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16982
16983         * plugins/indexers/Makefile.am:
16984           Fixes as part of #317048
16985
16986 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16987
16988         * plugins/indexers/Makefile.am:
16989           fix #316086 - compilation when mmap is missing
16990
16991 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
16992
16993         * libs/gst/base/gstbasesink.c:
16994           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
16995           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
16996         * win32/common/config.h:
16997           added some defines GST_MAJORMINOR and HOST_CPU
16998         * win32/common/libgstbase.def:
16999         * win32/common/libgstreamer.def:
17000           added some exported functions.
17001
17002 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17003
17004         * libs/gst/controller/gstcontroller.c:
17005         (gst_controlled_property_set_interpolation_mode),
17006         (gst_controlled_property_new):
17007         * libs/gst/controller/gstcontroller.h:
17008         * libs/gst/controller/gstinterpolation.c:
17009         (interpolate_none_get_string_value_array):
17010           make G_TYPE_STRING controlable
17011
17012 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17013
17014         * tools/README:
17015         * tools/gst-feedback.1.in:
17016         * tools/gst-inspect.1.in:
17017         * tools/gst-launch.1.in:
17018         * tools/gst-md5sum.1.in:
17019         * tools/gst-typefind.1.in:
17020         * tools/gst-xmlinspect.1.in:
17021         * tools/gst-xmllaunch.1.in:
17022           cleanup man-pages, remove reference to gst-register, document env-vars
17023
17024 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
17025
17026         * gst/gstbuffer.c: (gst_buffer_span):
17027           gst_buffer_span should copy the timestamp of the first buffer
17028           if they were both originally overlapping subbuffers of the 
17029           same parent, using the same logic as the 'slow copy' case.
17030
17031 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
17032
17033         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
17034           Need to awaken ALL the pads when we pop a buffer, otherwise
17035           collectpads only works when there is 2 input streams.
17036
17037 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
17038
17039         * docs/random/ensonic/media-device-daemon.txt:
17040           more ideas (dbus)
17041         * gst/gstbuffer.c:
17042           fix doc example, add clarification
17043         * tools/gst-launch.1.in:
17044           add initial info about GST_PLUGIN_PATH, needs more work
17045
17046 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
17047
17048         * docs/manual/basics-bins.xml:
17049         * docs/manual/basics-elements.xml:
17050         * docs/manual/intro-basics.xml:
17051           Some more minor docs additions and updates.
17052
17053 2006-01-11  Wim Taymans  <wim@fluendo.com>
17054
17055         * docs/manual/basics-bins.xml:
17056         * docs/manual/basics-elements.xml:
17057         Some small fixes as pointed out by Ser-ver on IRC.
17058
17059 2006-01-10  Edward Hervey  <edward@fluendo.com>
17060
17061         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
17062         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
17063         the single-segment mode.
17064
17065 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
17066
17067         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17068
17069         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
17070         (gst_base_src_perform_seek), (gst_base_src_send_event),
17071         (gst_base_src_set_property), (gst_base_src_get_property),
17072         (gst_base_src_loop), (gst_base_src_start),
17073         (gst_base_src_activate_push):
17074         * libs/gst/base/gstbasesrc.h:
17075           Name (private) union; makes Sun's Forte compiler happy (#324900).
17076
17077 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
17078
17079         * README:
17080           gst-register is gone.
17081
17082 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17083
17084         * gst/gstvalue.c: (_gst_value_initialize):
17085           make the G_TYPE_DATE instantiation work if debug is disabled
17086
17087 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
17088
17089         * gst/gstmessage.c: (gst_message_parse_tag),
17090         (gst_message_parse_error), (gst_message_parse_warning):
17091           Don't crash when return location for error/warning debug
17092           string is NULL; add fact that return locations can be
17093           NULL to docs where appropriate.
17094
17095 2006-01-05  Wim Taymans  <wim@fluendo.com>
17096
17097         * gst/gstplugin.c: (gst_plugin_load_file):
17098         Replace strdup by g_strdup.
17099
17100 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17101
17102         * docs/pwg/advanced-types.xml:
17103           fix doc borkage
17104
17105 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17106
17107         submitted by: Abel Cheung
17108
17109         * po/LINGUAS:
17110         * po/zh_TW.po:
17111           Added Chinese (traditional) translation
17112
17113 2006-01-04  Wim Taymans  <wim@fluendo.com>
17114
17115         * docs/manual/basics-pads.xml:
17116         * docs/plugins/Makefile.am:
17117         * docs/plugins/gstreamer-plugins-docs.sgml:
17118         * docs/plugins/gstreamer-plugins-sections.txt:
17119         * docs/pwg/advanced-clock.xml:
17120         * docs/pwg/advanced-scheduling.xml:
17121         * docs/pwg/advanced-types.xml:
17122         * plugins/elements/gstfdsink.c:
17123         * plugins/elements/gstfdsrc.c:
17124         * plugins/elements/gstfdsrc.h:
17125         * plugins/elements/gstidentity.c: (gst_identity_class_init):
17126         * plugins/elements/gstidentity.h:
17127         * plugins/elements/gstqueue.h:
17128         * plugins/elements/gsttee.c:
17129         * plugins/elements/gsttee.h:
17130         * plugins/elements/gsttypefindelement.c:
17131         (gst_type_find_element_class_init):
17132         * plugins/elements/gsttypefindelement.h:
17133         Small updates to various docs.
17134         Added core plugins to docs.
17135
17136 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17137
17138         * common/gst.supp:
17139           add a suppression for liboil's uninitialized variable
17140
17141 2006-01-02  James Livingston  <jrl at ids dot org dot au>
17142
17143         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17144
17145         * gst/gstutils.h:
17146           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
17147           macro, so that gcc doesn't complain if the -Wmissing-prototypes
17148           compiler switch is being used (#325429).
17149
17150 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
17151
17152         * gst/gstbin.c: (gst_bin_query):
17153           Disable duration query caching in bins until it gets
17154           fixed (see #324807).
17155
17156 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
17157
17158         * tools/gst-inspect.c: (print_element_properties_info):
17159           Handle properties of POINTER and BOXED type.
17160
17161 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
17162
17163         * gst/gst.c: (init_post):
17164           Init tags stuff and some other things before loading
17165           any static plugins (there may be other static plugins
17166           than just the GStreamer ones, and they may want to
17167           register their own tags or formats or whatever, and
17168           preferably without segfaulting).
17169
17170         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
17171           Print at least a warning in the debug logs if we drop a
17172           query just because we don't know how to adjust the value
17173           in the particular format.
17174
17175 2005-12-24  David Schleef  <ds@schleef.org>
17176
17177         * tools/gstreamer-completion:
17178           Replacement for gst-complete written in sh and sed.  Only
17179           completes names of features, but that's 90% of what I want
17180           it for.  Properties are not available in registry.xml.  (Maybe
17181           they should be...)
17182
17183 === release 0.10.1 ===
17184
17185 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
17186
17187         * configure.ac:
17188           releasing 0.10.1, "Nollaig chridheil"
17189
17190 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
17191
17192         * docs/faq/cvs.xml:
17193           Add missing quote, should be make ERROR_CFLAGS="".
17194
17195 2005-12-20  Wim Taymans  <wim@fluendo.com>
17196
17197         * docs/design/part-trickmodes.txt:
17198         More documentation on trickmodes.
17199
17200 2005-12-20  Edward Hervey  <edward@fluendo.com>
17201
17202         * gst/gstcaps.c: (gst_static_caps_get_type):
17203         * gst/gstcaps.h:
17204           API addition: GST_TYPE_STATIC_CAPS
17205         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
17206         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
17207         * gst/gstpadtemplate.h:
17208           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
17209         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
17210         bindings.
17211
17212 2005-12-18  Wim Taymans  <wim@fluendo.com>
17213
17214         * libs/gst/base/gstadapter.c:
17215         * libs/gst/base/gstadapter.h:
17216         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
17217         (gst_base_sink_get_position):
17218         * libs/gst/base/gstbasesink.h:
17219         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17220         (gst_base_src_default_query), (gst_base_src_default_do_seek),
17221         (gst_base_src_do_seek), (gst_base_src_perform_seek),
17222         (gst_base_src_send_event), (gst_base_src_update_length),
17223         (gst_base_src_get_range), (gst_base_src_loop),
17224         (gst_base_src_start):
17225         * libs/gst/base/gstbasesrc.h:
17226         * libs/gst/base/gstbasetransform.h:
17227         * libs/gst/base/gstcollectpads.h:
17228         * libs/gst/base/gstpushsrc.c:
17229         * libs/gst/base/gstpushsrc.h:
17230         * libs/gst/dataprotocol/dataprotocol.c:
17231         * libs/gst/dataprotocol/dataprotocol.h:
17232         * libs/gst/net/gstnetclientclock.h:
17233         * libs/gst/net/gstnettimeprovider.h:
17234         Documentation updates.
17235
17236 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
17237
17238         * docs/manual/basics-helloworld.xml:
17239           Remove superfluous closing bracket in helloworld example.
17240
17241 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
17242
17243         * tools/gst-launch.1.in:
17244           Update gst-launch man page; add a section with useful
17245           environment variables. Fixes #323882.
17246
17247 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
17248
17249         * gst/gst.c:
17250         * gst/gst_private.h:
17251           change some char* into char[]
17252
17253 2005-12-16  Wim Taymans  <wim@fluendo.com>
17254
17255         * gst/gstregistryxml.c: (load_feature):
17256         Cleanups.
17257         Don't use g_object_unref on GstObjects so that we avoid
17258         leaks on unsafe glibs.
17259
17260 2005-12-16  Wim Taymans  <wim@fluendo.com>
17261
17262         * gst/gstbin.c: (gst_bin_recalc_state):
17263         Small doc updates.
17264
17265 2005-12-16  Wim Taymans  <wim@fluendo.com>
17266
17267         * common/check.mak:
17268         Added make forever target for check.
17269
17270 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17271
17272         * gst/gst.c: (init_post):
17273           make the registry cache file HOST_CPU-dependent
17274
17275 2005-12-16  Andy Wingo  <wingo@pobox.com>
17276
17277         * plugins/elements/gstbufferstore.c
17278         (gst_buffer_store_cleared_func): Pay attention to g_list_append
17279         return value.
17280
17281         * tests/check/gst/gstobject.c
17282         (test_fake_object_name_threaded_unique): Pay attention to
17283         g_list_sort return value.
17284
17285 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
17286
17287         * tools/gst-feedback-m.m:
17288           Update for 0.9/0.10 (fixes #323870).
17289
17290 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
17291
17292         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
17293           Fix lcopy for mini objects, the mini object needs to be ref'ed.
17294           
17295         * tests/check/gst/gstminiobject.c: (my_foo_init),
17296         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
17297         (test_value_collection), (gst_mini_object_suite):
17298           Add test to ensure refcounts end up as expected when passing
17299           GstMiniObjects through g_object_get() and g_object_set().
17300
17301 2005-12-14  Julien MOUTTE  <julien@moutte.net>
17302
17303         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
17304         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
17305         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
17306         of collectpads. This version removes a lot of races without
17307         touching API/ABI. Yay !
17308
17309 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
17310
17311         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
17312           Don't allow activation of a srcpad in pull_range if it has no
17313           getrange function.
17314           Change some debug statements to be a little clearer
17315
17316         * plugins/elements/gsttypefindelement.c:
17317         (gst_type_find_handle_src_query):
17318           Check that we have a peer before executing queries thereupon.
17319
17320         * tests/examples/metadata/read-metadata.c: (message_loop):
17321           Use gst_bus_pop instead of gst_bus_poll when we just want it to
17322           immediately return us any available message with 0 timeout.
17323
17324 2005-12-12  Michael Smith  <msmith@fluendo.com>
17325
17326         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
17327           Don't unref factories after calling them.
17328         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
17329         * plugins/elements/gsttypefindelement.c:
17330         (gst_type_find_element_chain):
17331           Free lists of factories after using them. Fixing typefinding memory
17332           leaks.
17333
17334 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17335
17336         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
17337         (gst_plugin_feature_load):
17338           more meaningful debug output
17339         * configure.ac:
17340         * tests/Makefile.am:
17341         * tests/old/examples/Makefile.am:
17342           make make distcheck happy again
17343
17344 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
17345
17346         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17347           Catch the special case where we are operating chain-based,
17348           but the downstream peer pad has no chain function. Emit a
17349           custom error message in this case instead of letting the
17350           core generate one implying that this is some sort of core
17351           bug. It's not, it just means that whatever got plugged
17352           into the pipeline downstream when we announced the type
17353           can only operate pull-based, while our source can only
17354           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
17355           Error string has not been marked for translation yet, as
17356           it probably needs some more work first.
17357
17358         (gst_type_find_element_get_best_possibility):
17359           Add helper function to find the best of all available
17360           found possibilities that qualify given the min. threshold.
17361
17362         (gst_type_find_element_handle_event):
17363           Fix the case where we get an EOS while still in TYPEFIND
17364           mode (we want to chose the best of all possible types,
17365           not just the first type that happens to be in our unsorted
17366           list of possible types).
17367
17368         (gst_type_find_element_chain):
17369           Make sure we return GST_FLOW_ERROR when we errored out
17370           in stop_typefinding(); also, don't just find the best of
17371           all found type entries and then use the last examined
17372           type entry, but actually use the best entry.
17373
17374 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
17375
17376         * tests/examples/typefind/typefind.c: (type_found):
17377         * tests/examples/xml/runxml.c: (xml_loaded):
17378           More gcc4 fixes and a mem leak fix.
17379
17380 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17381
17382         * tests/examples/xml/createxml.c: (object_saved):
17383           gcc 4 fixes
17384
17385 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17386
17387         * tests/Makefile.am:
17388           enable the examples even more
17389
17390 2005-12-12  Andy Wingo  <wingo@pobox.com>
17391
17392         * libs/gst/net/gstnettimeprovider.c
17393         (gst_net_time_provider_class_init, gst_net_time_provider_init)
17394         (gst_net_time_provider_set_property)
17395         (gst_net_time_provider_get_property):
17396         API addition: Export "active" as a GObject property.
17397         (gst_net_time_provider_thread): Only respond to time queries if
17398         the time provider is active.
17399
17400         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
17401         NetTimeProvider, preserving binary compat.
17402
17403 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17404
17405         * tests/examples/controller/audio-example.c: (main):
17406         * tests/examples/launch/Makefile.am:
17407           convert comments again
17408
17409 2005-12-12  Wim Taymans  <wim@fluendo.com>
17410
17411         * libs/gst/base/gstpushsrc.c:
17412         Fix typo.
17413
17414 2005-12-12  Wim Taymans  <wim@fluendo.com>
17415
17416         * docs/libs/gstreamer-libs-sections.txt:
17417         Added new symbol to docs.
17418
17419         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17420         (gst_base_src_init), (gst_base_src_set_format),
17421         (gst_base_src_default_query), (gst_base_src_query),
17422         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
17423         (gst_base_src_perform_seek), (gst_base_src_send_event),
17424         (gst_base_src_default_event), (gst_base_src_event_handler),
17425         (gst_base_src_set_property), (gst_base_src_get_property),
17426         (gst_base_src_wait), (gst_base_src_do_sync),
17427         (gst_base_src_update_length), (gst_base_src_get_range),
17428         (gst_base_src_check_get_range), (gst_base_src_loop),
17429         (gst_base_src_default_negotiate), (gst_base_src_start),
17430         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17431         (gst_base_src_change_state):
17432         * libs/gst/base/gstbasesrc.h:
17433         Implement seeking to other formats than _BYTES.
17434         Implement more seeking methods correctly.
17435         Doc updates.
17436         Added query vmethod.
17437         Added do_seek vmethod to make life easier for subclasses
17438         when seeking.
17439         API addition: gst_base_src_set_format()
17440
17441 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17442
17443         * tests/examples/Makefile.am:
17444           added that too
17445
17446 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17447
17448         * configure.ac:
17449         * docs/random/ensonic/media-device-daemon.txt:
17450         * tests/examples/controller/.cvsignore:
17451         * tests/examples/controller/Makefile.am:
17452         * tests/examples/controller/audio-example.c: (main):
17453         * tests/examples/helloworld/.cvsignore:
17454         * tests/examples/helloworld/Makefile.am:
17455         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
17456         * tests/examples/launch/.cvsignore:
17457         * tests/examples/launch/Makefile.am:
17458         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
17459         * tests/examples/metadata/.cvsignore:
17460         * tests/examples/metadata/Makefile.am:
17461         * tests/examples/metadata/read-metadata.c: (message_loop),
17462         (make_pipeline), (print_tag), (main):
17463         * tests/examples/queue/.cvsignore:
17464         * tests/examples/queue/Makefile.am:
17465         * tests/examples/queue/queue.c: (event_loop), (main):
17466         * tests/examples/typefind/.cvsignore:
17467         * tests/examples/typefind/Makefile.am:
17468         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
17469         (main):
17470         * tests/examples/xml/.cvsignore:
17471         * tests/examples/xml/Makefile.am:
17472         * tests/examples/xml/createxml.c: (object_saved), (main):
17473         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
17474         * tests/old/examples/Makefile.am:
17475         * tests/old/examples/TODO:
17476         * tests/old/examples/controller/.cvsignore:
17477         * tests/old/examples/controller/Makefile.am:
17478         * tests/old/examples/controller/audio-example.c:
17479         * tests/old/examples/helloworld/.cvsignore:
17480         * tests/old/examples/helloworld/Makefile.am:
17481         * tests/old/examples/helloworld/helloworld.c:
17482         * tests/old/examples/launch/.cvsignore:
17483         * tests/old/examples/launch/Makefile.am:
17484         * tests/old/examples/launch/mp3parselaunch.c:
17485         * tests/old/examples/launch/mp3play:
17486         * tests/old/examples/manual/Makefile.am:
17487         * tests/old/examples/metadata/Makefile.am:
17488         * tests/old/examples/metadata/read-metadata.c:
17489         * tests/old/examples/queue/.cvsignore:
17490         * tests/old/examples/queue/Makefile.am:
17491         * tests/old/examples/queue/queue.c:
17492         * tests/old/examples/typefind/.cvsignore:
17493         * tests/old/examples/typefind/Makefile.am:
17494         * tests/old/examples/typefind/typefind.c:
17495         * tests/old/examples/xml/.cvsignore:
17496         * tests/old/examples/xml/Makefile.am:
17497         * tests/old/examples/xml/createxml.c:
17498         * tests/old/examples/xml/runxml.c:
17499           applied some simple fixing to some examples
17500           re-enabled the working examples
17501
17502 2005-12-12  Wim Taymans  <wim@fluendo.com>
17503
17504         * gst/gstsegment.c: (gst_segment_init),
17505         (gst_segment_set_last_stop), (gst_segment_set_seek),
17506         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
17507         (gst_segment_to_running_time):
17508         Added more documentation.
17509         Make sure the last_pos value is updated properly.
17510         Make sure to_stream_time and to_running_time don't
17511         operate on wrong values.
17512
17513         * tests/check/gst/gstsegment.c: (GST_START_TEST):
17514         Update check.
17515
17516 2005-12-12  Michael Smith  <msmith@fluendo.com>
17517
17518         * plugins/elements/gsttypefindelement.c: (free_entry),
17519         (gst_type_find_element_chain):
17520           Now that we're not leaking factories, make sure we keep references
17521           to them while we need them.
17522
17523 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17524
17525         * tests/check/gst/struct_i386.h:
17526           ifdef out the XML structs
17527
17528 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17529
17530         * gst/gstvalue.c: (gst_value_transform_double_fraction):
17531           floor is not needed, F is always positive; this obviates the
17532           need for adding -lm when building without libxml
17533
17534 2005-12-12  Wim Taymans  <wim@fluendo.com>
17535
17536         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17537         Take current playback rate into account when reporting
17538         the position.
17539
17540 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17541
17542         * docs/manual/mime-world.fig:
17543           Let's try this again, this time with a file that is
17544           actually in XFig format.
17545
17546 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17547
17548         * docs/manual/mime-world.fig:
17549           Add audioconvert element to diagram so that it
17550           matches the text and the code (fixes #319526).
17551
17552 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17553
17554         * docs/pwg/building-chainfn.xml:
17555         * docs/pwg/building-pads.xml:
17556         * docs/pwg/building-state.xml:
17557         * docs/pwg/other-source.xml:
17558           Update state change stuff for 0.10 (fixes #322969).
17559
17560 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17561
17562         * docs/manual/advanced-dataaccess.xml:
17563         * docs/manual/appendix-checklist.xml:
17564         * docs/manual/appendix-programs.xml:
17565         * docs/manual/basics-pads.xml:
17566         * docs/manual/highlevel-components.xml:
17567         * docs/manual/manual.xml:
17568           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
17569           add converters in front of pipelines; remove curly
17570           brackets for threads stuff, they no longer exist; use
17571           GST_TYPE_FRACTION for framerates; update some pieces of
17572           code to 0.10, but there's plenty more to do.
17573
17574         * docs/manual/appendix-porting.xml:
17575           Expand on asynchroneous state changes; s/0.9/0.10/;
17576           mention disappearance of gst_init_get_popt_table()
17577           (fixes #322916).
17578
17579 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17580
17581         * docs/faq/using.xml:
17582           Spider no longer exists, and neither does gst-launch-ext.
17583           Update examples to use decodebin and playbin and put
17584           converters in front of sinks (fixes #323726).
17585
17586 2005-12-09  Michael Smith  <msmith@fluendo.com>
17587
17588         * plugins/elements/gsttypefindelement.c: (find_peek),
17589         (gst_type_find_element_chain):
17590           Fix leaking element factories in typefinding.
17591           Fix problem where we forgot about a probable type on non-seekable
17592           files, and thus later mis-typefound it.
17593
17594 2005-12-09  Michael Smith  <msmith@fluendo.com>
17595
17596         * common/m4/gst-makecontext.m4:
17597         * common/m4/gst-mcsc.m4:
17598         * configure.ac:
17599         * win32/common/config.h:
17600         * win32/common/config.h.in:
17601           Remove makecontext stuff; not used in 0.10 and causes problems on
17602           HPUX according to bug #322441
17603
17604 2005-12-07  Wim Taymans  <wim@fluendo.com>
17605
17606         * tests/check/Makefile.am:
17607         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
17608         (main):
17609         * tests/check/libs/struct_i386.h:
17610         Added ABI check for libs
17611
17612 2005-12-07  Wim Taymans  <wim@fluendo.com>
17613
17614         * tests/check/Makefile.am:
17615         And add the struct_i386.h to dist.
17616
17617 2005-12-07  Wim Taymans  <wim@fluendo.com>
17618
17619         * tests/check/Makefile.am:
17620         * tests/check/gst/.cvsignore:
17621         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
17622         (main):
17623         * tests/check/gst/struct_i386.h:
17624         Added check for ABI compatibility.
17625
17626 2005-12-07  Wim Taymans  <wim@fluendo.com>
17627
17628         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17629         (gst_fake_src_get_times), (gst_fake_src_create):
17630         Fix broken sync option, fixes #323259
17631
17632 2005-12-07  Wim Taymans  <wim@fluendo.com>
17633
17634         * gst/gstbuffer.c:
17635         Small docs update.
17636
17637         * gst/gstcaps.c: (gst_caps_is_equal):
17638         Don't assert on NULL <--> X. Fixes #323260
17639
17640         * gst/gstminiobject.c: (gst_mini_object_replace):
17641         If we're doing atomic operations, we might just as well use
17642         the proper way to get an atomic pointer.
17643
17644         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17645         Clean up debugging.
17646
17647 2005-12-07  Michael Smith  <msmith@fluendo.com>
17648
17649         * gst/parse/grammar.y:
17650           Remove handling of { } for threads.
17651
17652 2005-12-06  David Schleef  <ds@schleef.org>
17653
17654         * libs/gst/base/gstbasetransform.c: speling fix.
17655
17656 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17657
17658         * docs/libs/tmpl/gstdataprotocol.sgml:
17659         * docs/random/omega/testing/gstobject.c:
17660         * gst/gst.c:
17661         * gst/gstclock.c:
17662         * gst/gstelement.c:
17663         * gst/gstelementfactory.c:
17664         * gst/gsterror.c:
17665         * gst/gstevent.c:
17666         * gst/gstghostpad.c:
17667         * gst/gstinfo.c:
17668         * gst/gstpadtemplate.c:
17669         * gst/gstregistryxml.c:
17670         * gst/gsttaglist.c:
17671         * gst/gsttagsetter.c:
17672         * gst/gsttypefind.c:
17673         * gst/gstvalue.c:
17674         * libs/gst/base/gstbasesrc.c:
17675         * libs/gst/net/gstnetclientclock.c:
17676         * libs/gst/net/gstnettimeprovider.c:
17677         * plugins/elements/gstfakesrc.c:
17678         * plugins/elements/gstfdsrc.c:
17679         * plugins/elements/gstfilesrc.c:
17680         * plugins/elements/gstidentity.c:
17681         * plugins/elements/gstqueue.c:
17682         * plugins/elements/gsttypefindelement.c:
17683         * plugins/indexers/gstfileindex.c:
17684         * plugins/indexers/gstmemindex.c:
17685         * tests/check/gst/gsttag.c:
17686         * tests/old/examples/cutter/cutter.c:
17687         * tests/old/examples/mixer/mixer.c:
17688         * tests/old/examples/xml/runxml.c: (main):
17689         * tests/old/testsuite/caps/normalisation.c:
17690         * tests/old/testsuite/debug/global.c:
17691         * tests/old/testsuite/parse/parse1.c:
17692         * tools/gst-xmlinspect.c:
17693         * win32/common/dirent.c:
17694           expand tabs
17695
17696 === release 0.10.0 ===
17697
17698 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17699
17700         * configure.ac:
17701           releasing 0.10.0, "Maroilles"
17702
17703 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17704
17705         submitted by: Funda Wang <fundawang@linux.net.cn>
17706
17707         * po/LINGUAS:
17708         * po/zh_CN.po:
17709           added Chinese (Traditional) translation
17710
17711 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17712
17713         * docs/gst/gstreamer-sections.txt:
17714         * docs/libs/tmpl/gstdataprotocol.sgml:
17715         * docs/random/thomasvs/TODO:
17716         * gst/gstutils.c:
17717         * gst/gstutils.h:
17718           fix docs
17719
17720 2005-12-05  Andy Wingo  <wingo@pobox.com>
17721
17722         patch by: Wim Taymans <wim@fluendo.com>
17723
17724         * libs/gst/base/gstbasetransform.c
17725         (gst_base_transform_prepare_output_buf)
17726         (gst_base_transform_buffer_alloc):
17727         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
17728         alloc_buffer_and_set_caps.
17729
17730         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
17731         set_caps on the source pad.
17732         (gst_pad_alloc_buffer_and_set_caps): New function, does what
17733         alloc_buffer used to do. Fixes #322874.
17734
17735         * docs/gst/gstreamer-sections.txt: 
17736         * docs/design/part-negotiation.txt: 
17737         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
17738         changes.
17739
17740 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17741
17742         patch by: Sebastien Moutte
17743
17744         * win32/MANIFEST:
17745         * win32/common/config.h.in:
17746         * win32/vs6/libgstcontroller.dsp:
17747           win32 build fixes
17748
17749 2005-12-05  Wim Taymans  <wim@fluendo.com>
17750
17751         * gst/gstcaps.c: (gst_caps_is_equal):
17752         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17753         (gst_fake_src_create):
17754         Back out previous code changes, leave doc updates, file bugs 
17755         instead. 
17756
17757 2005-12-05  Wim Taymans  <wim@fluendo.com>
17758
17759         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17760         (gst_fake_src_get_times), (gst_fake_src_create):
17761         * plugins/elements/gstfakesrc.h:
17762         Fix broken sync code.
17763
17764 2005-12-05  Wim Taymans  <wim@fluendo.com>
17765
17766         * gst/gstcaps.c: (gst_caps_is_equal):
17767         Comparing NULL against !NULL yields different caps, not a
17768         failure.
17769
17770 2005-12-05  Wim Taymans  <wim@fluendo.com>
17771
17772         * gst/gstpipeline.c:
17773         Fix small typo in docs.
17774
17775 2005-12-05  Andy Wingo  <wingo@pobox.com>
17776
17777         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
17778
17779         * gst/gst.c (init_post): remove hard-coded 0.9 location for
17780         registries/plugins with a MAJORMINOR one.
17781         (plugin_desc): Rename library from gstcoreleements to
17782         staticelements. Fixes #323222.
17783
17784 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
17785
17786         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
17787           Change debug category to 'collectpads' from 'collect_pads'
17788           (fixes #323250).
17789
17790 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
17791
17792         patch by: Sebastien Moutte
17793
17794         * libs/gst/controller/gstinterpolation.c:
17795           use convert function for uint64/double
17796         * win32/vs6/libgstcontroller.dsp:
17797           link to GLib
17798
17799 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
17800
17801         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
17802         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
17803         * gst/gstutils.h:
17804         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17805           add tests that seem to show that the guint64/gdouble conversions
17806           are correct.
17807
17808 2005-12-02  Wim Taymans  <wim@fluendo.com>
17809
17810         * gst/gstregistry.c: (gst_registry_add_path):
17811         * gst/gstregistry.h:
17812         * gst/gstregistryxml.c:
17813         Fix docs again.
17814
17815 2005-12-02  Wim Taymans  <wim@fluendo.com>
17816
17817         * gst/gstutils.c: (gst_util_uint64_scale_int64),
17818         (gst_util_uint64_scale_int):
17819         Small cleanup.
17820
17821         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17822         Add debug log line.
17823
17824         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
17825         Add FIXME.
17826
17827 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17828
17829         * win32/MANIFEST:
17830         * win32/common/config.h:
17831         * win32/vs6/gstreamer.dsw:
17832         * win32/vs6/libgstcoreelements.dsp:
17833         * win32/vs6/libgstelements.dsp:
17834           renamed core elements plugin
17835
17836 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17837
17838         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
17839         (get_candidates):
17840           do piece-wise major/minor comparison so 0.9 < 0.10
17841           also allow .exe extensions for tools
17842
17843 2005-12-02  Michael Smith  <msmith@fluendo.com>
17844
17845         * gst/gst.c:
17846           Escape a % to make gtkdoc happier; bug 322958.
17847
17848 === release 0.9.7 ===
17849
17850 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17851
17852         * configure.ac:
17853           releasing 0.9.7, "My Dog Has No Nose"
17854
17855 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17856
17857         * common/gst-xmlinspect.py:
17858         * configure.ac:
17859         * docs/libs/tmpl/gstdataprotocol.sgml:
17860         * docs/random/release:
17861         * po/af.po:
17862         * po/az.po:
17863         * po/bg.po:
17864         * po/ca.po:
17865         * po/cs.po:
17866         * po/de.po:
17867         * po/en_GB.po:
17868         * po/fr.po:
17869         * po/it.po:
17870         * po/nb.po:
17871         * po/nl.po:
17872         * po/ru.po:
17873         * po/sq.po:
17874         * po/sr.po:
17875         * po/sv.po:
17876         * po/tr.po:
17877         * po/uk.po:
17878         * po/vi.po:
17879         * win32/common/config.h:
17880         * win32/common/config.h.in:
17881         * win32/vs6/gst_inspect.dsp:
17882         * win32/vs6/gst_launch.dsp:
17883         * win32/vs6/libgstbase.dsp:
17884         * win32/vs6/libgstelements.dsp:
17885         * win32/vs6/libgstreamer.dsp:
17886         * win32/vs7/GStreamer.vcproj:
17887         * win32/vs7/gst-inspect.vcproj:
17888         * win32/vs7/gst-launch.vcproj:
17889         * win32/vs7/libgstbase.vcproj:
17890           bump GST_MAJORMINOR to 0.10
17891           reset libtool version
17892
17893 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17894
17895         * po/LINGUAS:
17896         * po/bg.po:
17897           Added Bulgarian translation by (Alexander Shopov)
17898
17899 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17900
17901         * tests/check/gst/gstplugin.c:
17902           fix test
17903
17904 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17905
17906         * common/gst-xmlinspect.py:
17907         * common/gtk-doc-plugins.mak:
17908         * configure.ac:
17909         * docs/Makefile.am:
17910         * docs/gst/Makefile.am:
17911         * docs/gst/gstreamer-docs.sgml:
17912         * docs/gst/gstreamer-sections.txt:
17913         * docs/gst/gstreamer.types:
17914         * docs/gst/gstreamer.types.in:
17915         * docs/plugins/Makefile.am:
17916         * docs/plugins/gstreamer-plugins-docs.sgml:
17917         * docs/plugins/gstreamer-plugins-sections.txt:
17918         * docs/plugins/gstreamer-plugins.types:
17919         * docs/plugins/inspect.stamp:
17920         * docs/plugins/inspect/plugin-coreelements.xml:
17921         * docs/plugins/inspect/plugin-coreindexers.xml:
17922         * docs/plugins/scanobj-build.stamp:
17923         * gstreamer.spec.in:
17924         * plugins/elements/Makefile.am:
17925         * plugins/elements/gstelements.c:
17926         * plugins/elements/gstfakesink.c:
17927         * plugins/elements/gstfakesrc.c:
17928         * plugins/elements/gstfilesink.c:
17929         * plugins/elements/gstfilesrc.c:
17930         * plugins/elements/gstqueue.c:
17931         * plugins/indexers/Makefile.am:
17932         * plugins/indexers/gstindexers.c:
17933           document core plugins in a separate document just like all the
17934           others
17935           rename these plugins to something starting with core
17936
17937 2005-12-01  Andy Wingo  <wingo@pobox.com>
17938
17939         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
17940         padding here before, but it missed the commit.
17941
17942 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17943
17944         * libs/gst/controller/gstinterpolation.c:
17945           whitespace prices have crashed, we should feel free to use some now
17946           use gst_guint64_to_gdouble
17947
17948 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17949
17950         * libs/gst/controller/gstcontroller.c:
17951         * libs/gst/controller/gsthelper.c:
17952         * libs/gst/controller/gstinterpolation.c:
17953         * libs/gst/controller/lib.c:
17954           wrap config.h include
17955
17956 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17957
17958         * docs/gst/gstreamer-sections.txt:
17959           update docs
17960
17961 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17962
17963         * plugins/elements/gstelements.c:
17964         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
17965         (gst_fd_sink__class_init), (gst_fd_sink__init),
17966         (gst_fd_sink__chain), (gst_fd_sink__set_property),
17967         (gst_fd_sink__get_property):
17968         * plugins/elements/gstfdsink.h:
17969         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
17970         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
17971         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
17972         (gst_fd_src_unlock), (gst_fd_src_set_property),
17973         (gst_fd_src_get_property), (gst_fd_src_create),
17974         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
17975         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
17976         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
17977         (gst_fd_src_uri_handler_init):
17978         * plugins/elements/gstfdsrc.h:
17979         * plugins/elements/gstqueue.c: (gst_queue_get_type):
17980           more anal cleanup
17981
17982 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17983
17984         * docs/gst/Makefile.am:
17985         * docs/gst/gstreamer.types.in:
17986         * gst/Makefile.am:
17987           fix the docs build
17988
17989 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17990
17991         * configure.ac:
17992         * gst/Makefile.am:
17993         * gst/gst.c:
17994         * gst/gstplugin.h:
17995         * gst/gstregistry.h:
17996         * tests/benchmarks/complexity.c:
17997         * tests/benchmarks/mass-elements.c:
17998         * tests/check/Makefile.am:
17999         * tools/Makefile.am:
18000         * tools/gst-inspect.c:
18001         * tools/gst-xmlinspect.c:
18002           various fixes to make
18003           --disable-nls --disable-registry --disable-loadsave
18004           --disable-parse --disable-gst-debug
18005           work and get the core .so down to 360444 bytes after stripping
18006
18007 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18008
18009         * Makefile.am:
18010         * configure.ac:
18011           descend into tests
18012         * docs/random/thomasvs/TODO:
18013         * tests/Makefile.am:
18014         * tests/README:
18015           add a README
18016
18017 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18018
18019         * win32/GStreamer.vcproj:
18020         * win32/MANIFEST:
18021         * win32/Makefile:
18022         * win32/Makefile.inspect:
18023         * win32/Makefile.launch:
18024         * win32/Makefile.register:
18025         * win32/README.txt:
18026         * win32/gst-inspect.vcproj:
18027         * win32/gst-launch.vcproj:
18028         * win32/gst-register.vcproj:
18029         * win32/gstelements.vcproj:
18030         * win32/gstgetbits.def:
18031         * win32/gstgetbits.vcproj:
18032         * win32/gstreamer-dbg.def:
18033         * win32/gstreamer.def:
18034         * win32/libgstbase.def:
18035         * win32/libgstbase.vcproj:
18036         * win32/link_oldruntime.c:
18037         * win32/mman.c:
18038         * win32/mman.h:
18039         * win32/mman.inl:
18040         * win32/msvc71.sln:
18041           move even more stuff, win32/ is nice and clean now
18042
18043 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18044
18045         * libs/gst/control/.cvsignore:
18046         * win32/MANIFEST:
18047         * win32/config.h:
18048         * win32/dirent.c:
18049         * win32/dirent.h:
18050         * win32/gstbytestream.def:
18051         * win32/gstbytestream.vcproj:
18052         * win32/gstconfig.h:
18053         * win32/gstenumtypes.c:
18054         * win32/gstenumtypes.h:
18055         * win32/gstoptimalscheduler.vcproj:
18056         * win32/gstversion.h:
18057         * win32/gtchar.h:
18058         * win32/testsuite/bins.vcproj:
18059         * win32/testsuite/bytestream.vcproj:
18060         * win32/testsuite/caps.vcproj:
18061         * win32/testsuite/cleanup.vcproj:
18062         * win32/testsuite/clock.vcproj:
18063         * win32/testsuite/debug.vcproj:
18064         * win32/testsuite/dlopen.vcproj:
18065         * win32/testsuite/dynparams.vcproj:
18066         * win32/testsuite/elements.vcproj:
18067         * win32/testsuite/ghostpads.vcproj:
18068         * win32/testsuite/indexers.vcproj:
18069         * win32/testsuite/negotiation.vcproj:
18070         * win32/testsuite/parse.vcproj:
18071         * win32/testsuite/plugin.vcproj:
18072         * win32/testsuite/refcounting.vcproj:
18073         * win32/testsuite/schedulers.vcproj:
18074         * win32/testsuite/states.vcproj:
18075         * win32/testsuite/tags.vcproj:
18076         * win32/testsuite/threads.vcproj:
18077           remove old win32 stuff that isn't maintained and should be
18078           reorganized
18079
18080 2005-11-30  Andy Wingo  <wingo@pobox.com>
18081
18082         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
18083         loading the gst.interfaces python module bork.
18084
18085         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
18086         available since GLib 2.2. Fixes #318031.
18087
18088 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18089
18090         * Makefile.am:
18091         * check/.cvsignore:
18092         * check/Makefile.am:
18093         * check/elements/.cvsignore:
18094         * check/elements/fakesrc.c:
18095         * check/elements/fdsrc.c:
18096         * check/elements/identity.c:
18097         * check/generic/.cvsignore:
18098         * check/generic/states.c:
18099         * check/gst-libs/.cvsignore:
18100         * check/gst-libs/controller.c:
18101         * check/gst-libs/gdp.c:
18102         * check/gst/.cvsignore:
18103         * check/gst/capslist.h:
18104         * check/gst/gst.c:
18105         * check/gst/gstbin.c:
18106         * check/gst/gstbuffer.c:
18107         * check/gst/gstbus.c:
18108         * check/gst/gstcaps.c:
18109         * check/gst/gstelement.c:
18110         * check/gst/gstevent.c:
18111         * check/gst/gstghostpad.c:
18112         * check/gst/gstiterator.c:
18113         * check/gst/gstmessage.c:
18114         * check/gst/gstminiobject.c:
18115         * check/gst/gstobject.c:
18116         * check/gst/gstpad.c:
18117         * check/gst/gstpipeline.c:
18118         * check/gst/gstplugin.c:
18119         * check/gst/gstsegment.c:
18120         * check/gst/gststructure.c:
18121         * check/gst/gstsystemclock.c:
18122         * check/gst/gsttag.c:
18123         * check/gst/gstutils.c:
18124         * check/gst/gstvalue.c:
18125         * check/net/.cvsignore:
18126         * check/net/gstnetclientclock.c:
18127         * check/net/gstnettimeprovider.c:
18128         * check/pipelines/.cvsignore:
18129         * check/pipelines/cleanup.c:
18130         * check/pipelines/simple_launch_lines.c:
18131         * check/pipelines/stress.c:
18132         * check/states/.cvsignore:
18133         * check/states/sinks.c:
18134         * configure.ac:
18135         * examples/Makefile.am:
18136         * examples/appreader/.cvsignore:
18137         * examples/appreader/Makefile.am:
18138         * examples/appreader/appreader.c:
18139         * examples/controller/.cvsignore:
18140         * examples/controller/Makefile.am:
18141         * examples/controller/audio-example.c:
18142         * examples/cutter/.cvsignore:
18143         * examples/cutter/Makefile.am:
18144         * examples/cutter/cutter.c:
18145         * examples/cutter/cutter.h:
18146         * examples/events/Makefile.am:
18147         * examples/events/seek.c:
18148         * examples/helloworld/.cvsignore:
18149         * examples/helloworld/Makefile.am:
18150         * examples/helloworld/helloworld.c:
18151         * examples/helloworld2/.cvsignore:
18152         * examples/helloworld2/Makefile.am:
18153         * examples/helloworld2/helloworld2.c:
18154         * examples/launch/.cvsignore:
18155         * examples/launch/Makefile.am:
18156         * examples/launch/mp3parselaunch.c:
18157         * examples/launch/mp3play:
18158         * examples/manual/.cvsignore:
18159         * examples/manual/Makefile.am:
18160         * examples/manual/extract.pl:
18161         * examples/metadata/Makefile.am:
18162         * examples/metadata/read-metadata.c:
18163         * examples/mixer/.cvsignore:
18164         * examples/mixer/Makefile.am:
18165         * examples/mixer/mixer.c:
18166         * examples/mixer/mixer.h:
18167         * examples/pingpong/.cvsignore:
18168         * examples/pingpong/Makefile.am:
18169         * examples/pingpong/pingpong.c:
18170         * examples/plugins/.cvsignore:
18171         * examples/plugins/Makefile.am:
18172         * examples/plugins/example.c:
18173         * examples/plugins/example.h:
18174         * examples/pwg/.cvsignore:
18175         * examples/pwg/Makefile.am:
18176         * examples/pwg/extract.pl:
18177         * examples/queue/.cvsignore:
18178         * examples/queue/Makefile.am:
18179         * examples/queue/queue.c:
18180         * examples/queue2/.cvsignore:
18181         * examples/queue2/Makefile.am:
18182         * examples/queue2/queue2.c:
18183         * examples/queue3/.cvsignore:
18184         * examples/queue3/Makefile.am:
18185         * examples/queue3/queue3.c:
18186         * examples/queue4/.cvsignore:
18187         * examples/queue4/Makefile.am:
18188         * examples/queue4/queue4.c:
18189         * examples/retag/.cvsignore:
18190         * examples/retag/Makefile.am:
18191         * examples/retag/retag.c:
18192         * examples/retag/transcode.c:
18193         * examples/thread/.cvsignore:
18194         * examples/thread/Makefile.am:
18195         * examples/thread/thread.c:
18196         * examples/typefind/.cvsignore:
18197         * examples/typefind/Makefile.am:
18198         * examples/typefind/typefind.c:
18199         * examples/xml/.cvsignore:
18200         * examples/xml/Makefile.am:
18201         * examples/xml/createxml.c:
18202         * examples/xml/runxml.c:
18203         * tests/Makefile.am:
18204         * tests/check/Makefile.am:
18205         * testsuite/.cvsignore:
18206         * testsuite/Makefile.am:
18207         * testsuite/Rules:
18208         * testsuite/caps/.cvsignore:
18209         * testsuite/caps/Makefile.am:
18210         * testsuite/caps/app_fixate.c:
18211         * testsuite/caps/audioscale.c:
18212         * testsuite/caps/caps.c:
18213         * testsuite/caps/caps.h:
18214         * testsuite/caps/caps_strings:
18215         * testsuite/caps/compatibility.c:
18216         * testsuite/caps/deserialize.c:
18217         * testsuite/caps/enumcaps.c:
18218         * testsuite/caps/eratosthenes.c:
18219         * testsuite/caps/filtercaps.c:
18220         * testsuite/caps/fixed.c:
18221         * testsuite/caps/fraction-convert.c:
18222         * testsuite/caps/fraction-multiply-and-zero.c:
18223         * testsuite/caps/intersect2.c:
18224         * testsuite/caps/intersection.c:
18225         * testsuite/caps/normalisation.c:
18226         * testsuite/caps/random.c:
18227         * testsuite/caps/renegotiate.c:
18228         * testsuite/caps/sets.c:
18229         * testsuite/caps/simplify.c:
18230         * testsuite/caps/string-conversions.c:
18231         * testsuite/caps/structure.c:
18232         * testsuite/caps/subtract.c:
18233         * testsuite/caps/union.c:
18234         * testsuite/debug/.cvsignore:
18235         * testsuite/debug/Makefile.am:
18236         * testsuite/debug/category.c:
18237         * testsuite/debug/commandline.c:
18238         * testsuite/debug/global.c:
18239         * testsuite/debug/output.c:
18240         * testsuite/debug/printf_extension.c:
18241         * testsuite/dlopen/.cvsignore:
18242         * testsuite/dlopen/Makefile.am:
18243         * testsuite/dlopen/dlopen_gst.c:
18244         * testsuite/dlopen/loadgst.c:
18245         * testsuite/elements/.cvsignore:
18246         * testsuite/elements/Makefile.am:
18247         * testsuite/elements/gst-inspect-check.in:
18248         * testsuite/elements/struct_i386.h:
18249         * testsuite/elements/struct_size.c:
18250         * testsuite/indexers/.cvsignore:
18251         * testsuite/indexers/Makefile.am:
18252         * testsuite/indexers/cache1.c:
18253         * testsuite/indexers/indexdump.c:
18254         * testsuite/parse/.cvsignore:
18255         * testsuite/parse/Makefile.am:
18256         * testsuite/parse/parse1.c:
18257         * testsuite/parse/parse2.c:
18258         * testsuite/plugin/.cvsignore:
18259         * testsuite/plugin/Makefile.am:
18260         * testsuite/plugin/README:
18261         * testsuite/plugin/dynamic.c:
18262         * testsuite/plugin/linked.c:
18263         * testsuite/plugin/loading.c:
18264         * testsuite/plugin/registry.c:
18265         * testsuite/plugin/static.c:
18266         * testsuite/plugin/static2.c:
18267         * testsuite/plugin/testplugin.c:
18268         * testsuite/plugin/testplugin2.c:
18269         * testsuite/plugin/testplugin2_s.c:
18270         * testsuite/plugin/testplugin_s.c:
18271         * testsuite/refcounting/.cvsignore:
18272         * testsuite/refcounting/Makefile.am:
18273         * testsuite/refcounting/bin.c:
18274         * testsuite/refcounting/element.c:
18275         * testsuite/refcounting/element_pad.c:
18276         * testsuite/refcounting/mainloop.c:
18277         * testsuite/refcounting/mem.c:
18278         * testsuite/refcounting/mem.h:
18279         * testsuite/refcounting/object.c:
18280         * testsuite/refcounting/pad.c:
18281         * testsuite/refcounting/sched.c:
18282         * testsuite/refcounting/thread.c:
18283         * testsuite/states/.cvsignore:
18284         * testsuite/states/Makefile.am:
18285         * testsuite/states/bin.c:
18286         * testsuite/states/locked.c:
18287         * testsuite/states/parent.c:
18288         * testsuite/threads/.cvsignore:
18289         * testsuite/threads/159566.c:
18290         * testsuite/threads/159852.c:
18291         * testsuite/threads/Makefile.am:
18292         * testsuite/threads/queue.c:
18293         * testsuite/threads/signals.c:
18294         * testsuite/threads/staticrec.c:
18295         * testsuite/threads/thread.c:
18296         * testsuite/threads/threadb.c:
18297         * testsuite/threads/threadc.c:
18298         * testsuite/threads/threadd.c:
18299         * testsuite/threads/threade.c:
18300         * testsuite/threads/threadf.c:
18301         * testsuite/threads/threadg.c:
18302         * testsuite/threads/threadh.c:
18303         * testsuite/threads/threadi.c:
18304           move all of these under tests
18305
18306 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18307
18308         * configure.ac:
18309         * tests/Makefile.am:
18310           fix distcheck
18311
18312 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18313
18314         * docs/gst/gstreamer-sections.txt:
18315         * tests/sched/.cvsignore:
18316         * tests/sched/Makefile.am:
18317         * tests/sched/cases/(fs-fs).xml:
18318         * tests/sched/cases/(fs-i-fs).xml:
18319         * tests/sched/cases/(fs-i-i-fs).xml:
18320         * tests/sched/cases/(fs-i-q[i-fs]).xml:
18321         * tests/sched/dynamic-pipeline.c:
18322         * tests/sched/interrupt1.c:
18323         * tests/sched/interrupt2.c:
18324         * tests/sched/interrupt3.c:
18325         * tests/sched/runtestcases:
18326         * tests/sched/runxml.c:
18327         * tests/sched/sched-stress.c:
18328         * tests/sched/sort.c:
18329         * tests/sched/testcases:
18330         * tests/sched/testcases1.tc:
18331         * tests/seeking/.cvsignore:
18332         * tests/seeking/Makefile.am:
18333         * tests/seeking/seeking1.c:
18334         * tests/threadstate/.cvsignore:
18335         * tests/threadstate/Makefile.am:
18336         * tests/threadstate/test1.c:
18337         * tests/threadstate/test2.c:
18338         * tests/threadstate/threadstate1.c:
18339         * tests/threadstate/threadstate2.c:
18340         * tests/threadstate/threadstate3.c:
18341         * tests/threadstate/threadstate4.c:
18342         * tests/threadstate/threadstate5.c:
18343           remove obsolete tests
18344         * configure.ac:
18345         * tests/bench-complexity.scm:
18346         * tests/bench-mass_elements.scm:
18347         * tests/complexity.c:
18348         * tests/complexity.gnuplot:
18349         * tests/instantiate/.cvsignore:
18350         * tests/instantiate/Makefile.am:
18351         * tests/instantiate/caps.c:
18352         * tests/mass_elements.c:
18353         * tests/network-clock-utils.scm:
18354         * tests/network-clock.scm:
18355         * tests/plot-data:
18356         First pass at cleaning up tests/ dir before moving the rest
18357         Combined with CVS surgery
18358
18359 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18360
18361         * po/POTFILES.in:
18362           queue has moved, update
18363
18364 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18365
18366         * docs/gst/gstreamer-sections.txt:
18367           remove double entries from the docs
18368         * gst/gst_private.h:
18369         * gst/gstinfo.c: (_gst_debug_init):
18370           remove the THREAD debug category
18371         * gst/Makefile.am:
18372         * gst/gstqueue.c:
18373         * gst/gstqueue.h:
18374         * docs/gst/gstreamer.types:
18375         * plugins/elements/gstqueue.c: (gst_queue_get_type),
18376         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
18377           completely move queue and fix up debugging categories
18378
18379 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18380
18381         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18382           make initialization portable, using LL is not
18383
18384 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18385
18386         * win32/common/gstconfig.h:
18387           add large padding
18388
18389 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18390
18391         * win32/common/libgstreamer.def:
18392           rename symbols; sort base section
18393
18394 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18395
18396         * gst/gstclock.c: (do_linear_regression):
18397           remove crack non-portable handrolled DEBUG macro
18398
18399 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18400
18401         * docs/random/release:
18402           update notes
18403         * win32/common/gstenumtypes.c: (register_gst_object_flags),
18404         (gst_object_flags_get_type), (register_gst_bin_flags),
18405         (gst_bin_flags_get_type), (register_gst_buffer_flag),
18406         (gst_buffer_flag_get_type), (register_gst_bus_flags),
18407         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
18408         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
18409         (gst_caps_flags_get_type), (register_gst_clock_return),
18410         (gst_clock_return_get_type), (register_gst_clock_entry_type),
18411         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
18412         (gst_clock_flags_get_type), (register_gst_state),
18413         (gst_state_get_type), (register_gst_state_change_return),
18414         (gst_state_change_return_get_type), (register_gst_state_change),
18415         (gst_state_change_get_type), (register_gst_element_flags),
18416         (gst_element_flags_get_type), (register_gst_core_error),
18417         (gst_core_error_get_type), (register_gst_library_error),
18418         (gst_library_error_get_type), (register_gst_resource_error),
18419         (gst_resource_error_get_type), (register_gst_stream_error),
18420         (gst_stream_error_get_type), (register_gst_event_type_flags),
18421         (gst_event_type_flags_get_type), (register_gst_event_type),
18422         (gst_event_type_get_type), (register_gst_seek_type),
18423         (gst_seek_type_get_type), (register_gst_seek_flags),
18424         (gst_seek_flags_get_type), (register_gst_format),
18425         (gst_format_get_type), (register_gst_index_certainty),
18426         (gst_index_certainty_get_type), (register_gst_index_entry_type),
18427         (gst_index_entry_type_get_type),
18428         (register_gst_index_lookup_method),
18429         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
18430         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
18431         (gst_index_resolver_method_get_type), (register_gst_index_flags),
18432         (gst_index_flags_get_type), (register_gst_debug_level),
18433         (gst_debug_level_get_type), (register_gst_debug_color_flags),
18434         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
18435         (gst_iterator_result_get_type), (register_gst_iterator_item),
18436         (gst_iterator_item_get_type), (register_gst_message_type),
18437         (gst_message_type_get_type), (register_gst_mini_object_flags),
18438         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
18439         (gst_pad_link_return_get_type), (register_gst_flow_return),
18440         (gst_flow_return_get_type), (register_gst_activate_mode),
18441         (gst_activate_mode_get_type), (register_gst_pad_direction),
18442         (gst_pad_direction_get_type), (register_gst_pad_flags),
18443         (gst_pad_flags_get_type), (register_gst_pad_presence),
18444         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
18445         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
18446         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
18447         (gst_plugin_error_get_type), (register_gst_plugin_flags),
18448         (gst_plugin_flags_get_type), (register_gst_rank),
18449         (gst_rank_get_type), (register_gst_query_type),
18450         (gst_query_type_get_type), (register_gst_tag_merge_mode),
18451         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
18452         (gst_tag_flag_get_type), (register_gst_task_state),
18453         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
18454         (gst_alloc_trace_flags_get_type),
18455         (register_gst_type_find_probability),
18456         (gst_type_find_probability_get_type), (register_gst_uri_type),
18457         (gst_uri_type_get_type), (register_gst_parse_error),
18458         (gst_parse_error_get_type):
18459         * win32/common/gstenumtypes.h:
18460         * win32/common/gstversion.h:
18461           update visual studio generated files
18462
18463 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18464
18465         * win32/vs6/libgstbase.dsp:
18466         * win32/vs6/libgstelements.dsp:
18467           update project files for new locations
18468
18469 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18470
18471         * Makefile.am:
18472           remove some files
18473         * README:
18474           reinstate and update
18475         * DEVEL:
18476         * REQUIREMENTS:
18477           removed
18478         * LICENSE:
18479         * docs/random/LICENSE:
18480           moved to random
18481
18482 2005-11-30  Edward Hervey  <edward@fluendo.com>
18483
18484         * gst/gsttypefind.c: (gst_type_find_register):
18485         * gst/gsttypefind.h:
18486         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
18487         (gst_type_find_factory_dispose):
18488         * gst/gsttypefindfactory.h:
18489         Fix memory leak in GstTypeFindFactory.
18490
18491 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18492
18493         * gst/gst.c:
18494         * plugins/elements/Makefile.am:
18495         * plugins/elements/gstelements.c:
18496         * plugins/elements/gstqueue.c:
18497           move queue from core to the elements plugin
18498
18499 2005-11-29  Andy Wingo  <wingo@pobox.com>
18500
18501         * libs/gst/base/gstbasetransform.h: 
18502         * libs/gst/base/gstbasesrc.h: 
18503         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
18504
18505         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
18506         of pointers by which to pad very extensible base classes (like the
18507         ones in libs/gst/base).
18508
18509 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18510
18511         * docs/gst/gstreamer-docs.sgml:
18512         * docs/gst/gstreamer-sections.txt:
18513         * docs/libs/gstreamer-libs-docs.sgml:
18514         * docs/libs/gstreamer-libs-sections.txt:
18515           moving documentation from core to lib
18516
18517 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18518
18519         * check/Makefile.am:
18520         * configure.ac:
18521         * docs/gst/Makefile.am:
18522         * gst/Makefile.am:
18523         * gst/base/.cvsignore:
18524         * gst/base/Makefile.am:
18525         * gst/base/README:
18526         * gst/base/gstadapter.c:
18527         * gst/base/gstadapter.h:
18528         * gst/base/gstbasesink.c:
18529         * gst/base/gstbasesink.h:
18530         * gst/base/gstbasesrc.c:
18531         * gst/base/gstbasesrc.h:
18532         * gst/base/gstbasetransform.c:
18533         * gst/base/gstbasetransform.h:
18534         * gst/base/gstcollectpads.c:
18535         * gst/base/gstcollectpads.h:
18536         * gst/base/gstpushsrc.c:
18537         * gst/base/gstpushsrc.h:
18538         * gst/base/gsttypefindhelper.c:
18539         * gst/base/gsttypefindhelper.h:
18540         * gst/check/Makefile.am:
18541         * gst/check/gstcheck.c:
18542         * gst/check/gstcheck.h:
18543         * gst/net/Makefile.am:
18544         * gst/net/gstnet.h:
18545         * gst/net/gstnetclientclock.c:
18546         * gst/net/gstnetclientclock.h:
18547         * gst/net/gstnettimepacket.c:
18548         * gst/net/gstnettimepacket.h:
18549         * gst/net/gstnettimeprovider.c:
18550         * gst/net/gstnettimeprovider.h:
18551         * libs/gst/Makefile.am:
18552         * libs/gst/base/Makefile.am:
18553         * libs/gst/base/gstbasetransform.c:
18554         * libs/gst/check/Makefile.am:
18555         * plugins/elements/Makefile.am:
18556         * po/POTFILES.in:
18557           CVS surgery + support to move base, check, and net out of gst
18558           and into libs/gst
18559
18560 2005-11-29  Andy Wingo  <wingo@pobox.com>
18561
18562         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
18563
18564         * gst/gststructure.h (struct _GstStructure): Only one pointer of
18565         padding.
18566
18567         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
18568
18569         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
18570
18571         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
18572
18573         * gst/gstobject.h: (struct _GstObject): Only one pointer of
18574         padding; reduces object size by about 30%. We don't expect
18575         anything else to go into gstobject.
18576
18577         * gst/gstminiobject.h (struct _GstMiniObject)
18578         (struct _GstMiniObjectClass): Only one pointer of padding; the
18579         payload is only a pointer and two ints anyway. For the class there
18580         are only two methods as well.
18581         
18582         * gst/gstelement.h (struct _GstElementClass): Removed
18583         the state_changed signal callback, it is not used.
18584
18585 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18586
18587         * docs/gst/gstreamer.types:
18588           fix includes, though they are a little dinky
18589
18590 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18591
18592         * check/Makefile.am:
18593           look in the right place for elements, a lot more chance of
18594           success
18595         * gst/Makefile.am:
18596           remove indexers and elements subdirs
18597         * plugins/Makefile.am:
18598           make indexers conditional
18599
18600 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18601
18602         * Makefile.am:
18603         * configure.ac:
18604         * plugins/elements/Makefile.am:
18605         * plugins/elements/gstcapsfilter.c:
18606         * plugins/elements/gstfilesink.c:
18607         * plugins/elements/gstfilesrc.c:
18608         * plugins/elements/gstidentity.c:
18609         * plugins/indexers/Makefile.am:
18610           do CVS surgery and related build fixery to move elements
18611           and indexers in a new gstreamer/plugins directory, out of the
18612           gst/ directory
18613
18614 2005-11-29  Andy Wingo  <wingo@pobox.com>
18615
18616         * check/Makefile.am:
18617         * pkgconfig/gstreamer-net-uninstalled.pc.in:
18618         * pkgconfig/gstreamer-net.pc.in:
18619         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
18620         #322257.
18621
18622 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18623
18624         * tools/Makefile.am:
18625         * tools/gst-complete.1.in:
18626         * tools/gst-complete.c:
18627         * tools/gst-compprep.1.in:
18628         * tools/gst-compprep.c:
18629           removing -compprep and -complete
18630
18631 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18632
18633         * gst/gstevent.c: (gst_event_new_new_segment),
18634         (gst_event_parse_new_segment):
18635         * gst/gstevent.h:
18636           fix #320529 - clean up new_segment API and structure.
18637           Let's hope everyone was using the methods, and not the structure.
18638
18639 2005-11-29  Edward Hervey  <edward@fluendo.com>
18640
18641         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18642         (gst_base_sink_event), (gst_base_sink_do_sync),
18643         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18644         Properly handle non GST_FORMAT_TIME segment
18645         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18646         Properly handle non GST_FORMAT_TIME segment
18647         * gst/gstsegment.c:
18648         This function is valid if the accumulator is 0 and the format
18649         is different from the requested format.
18650         
18651 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
18652
18653         * docs/gst/gstreamer-sections.txt:
18654         Add gst_query_new_seeking and gst_query_parse_seeking to the
18655         docs.
18656
18657 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
18658
18659         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
18660           Treat a pad alloc with new caps the same as if we were not
18661           negotiated, in order to allow a changing upstream output
18662           to produce a new format of data.
18663
18664 2005-11-29  Edward Hervey  <edward@fluendo.com>
18665
18666         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18667         (gst_base_transform_event), (gst_base_transform_eventfunc):
18668         The event virtual method is now properly implemented, with a default
18669         handler
18670         Sub classes should call the parent_class event method. They should
18671         return FALSE if they had a problem handling the given event, or don't
18672         want GstBaseTransform to send that even downstream
18673         * gst/elements/gstidentity.c: (gst_identity_class_init),
18674         (gst_identity_init), (gst_identity_event),
18675         (gst_identity_transform_ip), (gst_identity_set_property),
18676         (gst_identity_get_property):
18677         * gst/elements/gstidentity.h:
18678         Added the single-segment boolean property.
18679         If set to TRUE, it will output a single segment of data, starting from
18680         0, will eat up all incoming newsegment, and modify the timestamp of the
18681         buffers accordingly
18682
18683 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
18684
18685         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
18686           Don't ref NULL target pad (#322751). Improve docs.
18687
18688 2005-11-29  Michael Smith  <msmith@fluendo.com>
18689
18690         * gst/gstregistryxml.c: (load_plugin):
18691           Don't crash if we failed to load a feature from a plugin. 
18692
18693 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18694
18695         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18696         (GST_START_TEST):
18697           use more check API and less GLib API
18698
18699 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18700
18701         * Makefile.am:
18702           don't run checks if we don't have check
18703         * common/check.mak:
18704           remove the registry when running make torture
18705         * docs/gst/gstreamer-sections.txt:
18706           remove second multiply
18707         * gst/gstqueue.c: (gst_queue_loop):
18708           fix a compile warning when disabling debug
18709
18710 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
18711
18712         * gst/gstinfo.h:
18713         Hey! Let's print the pad name if the pointer != NULL instead
18714         of when it == NULL :-)
18715
18716 2005-11-28  Wim Taymans  <wim@fluendo.com>
18717
18718         * check/gst/gstutils.c: (GST_START_TEST):
18719         Updated check, add some scaling accuracy checking code.
18720
18721         * gst/gstutils.c: (gst_util_div128_64),
18722         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
18723         (gst_util_uint64_scale_int):
18724         Fix 6 times faster division code. Optimize for common 
18725         1/1 and less common X/1 cases.
18726
18727 2005-11-28  Wim Taymans  <wim@fluendo.com>
18728
18729         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18730         More checks.
18731
18732         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
18733         (do_linear_regression), (gst_clock_add_observation):
18734         Cleanups.
18735         Release lock when the clock cannot be slaved.
18736         Catch the case where the regression returned an invalid denominator.
18737
18738         * gst/gstutils.c: (gst_util_div128_64_iterate),
18739         (gst_util_div128_64), (gst_util_uint64_scale_int64),
18740         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
18741         Add protentially more performant non-iterative 128/64 divide function
18742         that unfortunatly does not work yet.
18743         Shortcut the trivial 0/X = 0 case.
18744         Remove the warnings on overflow.
18745
18746 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18747
18748         * gst/gstplugin.c: (gst_plugin_register_func):
18749           everything causing a plugin not to load should be at least a WARNING
18750
18751 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
18752
18753         * docs/random/ensonic/dparams.txt:
18754           some TODOs for the next dev cycle
18755         * libs/gst/controller/gstcontroller.c:
18756         (gst_controlled_property_set_interpolation_mode),
18757         (gst_controlled_property_new):
18758         * libs/gst/controller/gstcontroller.h:
18759           use base type to assign acccessor functions
18760
18761 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
18762
18763         * check/Makefile.am:
18764         Oops, that should have been top_srcdir
18765
18766 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
18767
18768         * check/Makefile.am:
18769         * check/elements/fdsrc.c: (GST_START_TEST):
18770         Use a cmdline define to specify the location of a file to use for
18771         testing, to avoid breaking distcheck.
18772
18773 2005-11-28  Andy Wingo  <wingo@pobox.com>
18774
18775         * gst/gstpad.c (fixate_value): Use array functions for arrays.
18776
18777 2005-11-28  Edward Hervey  <edward@fluendo.com>
18778
18779         * tools/gst-launch.c: (main):
18780         Clarify the output strings, makes it easier to translate.
18781         Fixes #322626
18782
18783 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18784
18785         * gst/Makefile.am:
18786           don't try and build net if we don't even have <sys/socket.h>
18787
18788 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
18789
18790         * check/Makefile.am:
18791         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
18792         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
18793           Add tests for fdsrc seekability
18794
18795         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
18796         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
18797         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
18798         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
18799         * gst/elements/gstfdsrc.h:
18800           fdsrc should not be a 'live' source.
18801           Implement seeking on seekable fd's.
18802
18803         * gst/gstquery.c: (gst_query_new_seeking),
18804         (gst_query_parse_seeking):
18805         * gst/gstquery.h:
18806           Implement SEEKING query functions: 
18807             *_new_seeking and *_parse_seeking
18808
18809 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
18810
18811         * gst/gstelement.c: (gst_element_dispose):
18812           don't loop forever
18813
18814         * gst/gstiterator.c:
18815         * gst/gststructure.c:
18816           doc fixes
18817
18818         * libs/gst/controller/gstcontroller.c:
18819         (gst_controlled_property_set_interpolation_mode):
18820         * libs/gst/controller/gstcontroller.h:
18821         * libs/gst/controller/gstinterpolation.c:
18822         (interpolate_none_get_enum_value_array):
18823           support controlling enums
18824
18825 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
18826
18827         * gst/gstvalue.c:
18828           Improve documentation for gst_value_union().
18829
18830         * gst/gstvalue.h:
18831           Change return value for union, intersect and subtract functions
18832           from gint to gboolean.
18833
18834 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
18835
18836         * gst/gstvalue.c: (gst_value_serialize_any_list),
18837         (gst_value_transform_any_list_string),
18838         (gst_value_deserialize_list), (gst_value_deserialize_array),
18839         (gst_value_set_int_range), (gst_value_deserialize_int_range),
18840         (gst_value_set_double_range), (gst_value_deserialize_double_range),
18841         (gst_value_set_fraction_range_full),
18842         (gst_value_deserialize_fraction_range),
18843         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
18844         (gst_value_deserialize_boolean),
18845         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
18846         (gst_value_serialize_float), (gst_value_deserialize_float),
18847         (gst_string_wrap), (gst_value_deserialize_string),
18848         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
18849         (gst_value_union_int_range_int_range),
18850         (gst_value_intersect_int_range_int_range),
18851         (gst_value_intersect_double_range_double_range),
18852         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
18853         (gst_value_subtract_int_range_int_range),
18854         (gst_value_subtract_double_double_range),
18855         (gst_value_subtract_double_range_double_range),
18856         (gst_value_deserialize_fraction):
18857         * gst/gstvalue.h:
18858           Use gint, gdouble and gchar in our API instead of int, double and
18859           char (and make usage in gstvalue.c more consistent).
18860
18861 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18862
18863         * check/Makefile.am:
18864         * libs/gst/controller/Makefile.am:
18865         * libs/gst/dataprotocol/Makefile.am:
18866           fix up Makefile.am and remove GST_ENABLE_NEW
18867
18868 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18869
18870         * configure.ac:
18871         * gst/Makefile.am:
18872         * gst/base/Makefile.am:
18873         * gst/check/Makefile.am:
18874         * gst/elements/Makefile.am:
18875         * gst/net/Makefile.am:
18876           update LDFLAGS use some more
18877
18878 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18879
18880         * common/m4/gst-doc.m4:
18881           Fixes #312589
18882
18883 2005-11-26  Edward Hervey  <edward@fluendo.com>
18884
18885         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
18886         This shouldn't issue a g_warning since it returns NULL if it
18887         couldn't find the plugin, and all functions using this behave
18888         properly on a NULL return. Switching to a GST_WARNING.
18889
18890 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
18891
18892         * gst/gstbin.c: (gst_bin_handle_message_func):
18893         Don't leak clock messages.
18894
18895 2005-11-25  Wim Taymans  <wim@fluendo.com>
18896
18897         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18898         (gst_util_uint64_scale_int):
18899         Optimisations, remove unneeded vars.
18900
18901 2005-11-25  Wim Taymans  <wim@fluendo.com>
18902
18903         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18904         Added more checks for the high precision uint64 cases.
18905
18906         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18907         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
18908         Implement high precision (guint64 * guint64) / guint64.
18909
18910 2005-11-24  Wim Taymans  <wim@fluendo.com>
18911
18912         * gst/base/gstbasesrc.c: (gst_base_src_query):
18913         Fix wrong percentage query.
18914
18915         * gst/gstutils.c: (gst_util_uint64_scale),
18916         (gst_util_uint64_scale_int):
18917         Add some more common cases that can be handled 
18918         efficiently to _scale.
18919
18920 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18921
18922         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
18923         (gst_mini_object_suite):
18924           don't use check calls from threads; check probably isn't
18925           threadsafe and using a lock to make it threadsafe would
18926           defeat the purpose of this check
18927         * gst/check/gstcheck.c:
18928         * gst/check/gstcheck.h:
18929           use GST_DEBUG some more
18930
18931 2005-11-24  Wim Taymans  <wim@fluendo.com>
18932
18933         * gst/gstutils.c: (gst_util_uint64_scale),
18934         (gst_util_uint64_scale_int):
18935         Chain trivial case to _scale_int.
18936
18937 2005-11-24  Wim Taymans  <wim@fluendo.com>
18938
18939         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18940         Added test for scaling.
18941
18942         * gst/gstclock.h:
18943         Small doc fix.
18944
18945         * gst/gstutils.c: (gst_util_uint64_scale_int):
18946         Implemented high precision scaling code.
18947
18948 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
18949
18950         * gst/gstinfo.h:
18951           do not crash on pad==NULL
18952
18953 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18954
18955         Patch by: Stefan Kost
18956
18957         * common/gtk-doc.mak:
18958         * docs/gst/Makefile.am:
18959         * docs/libs/Makefile.am:
18960           Fix distcheck issues for the libraries docs build
18961           Closes #319599.
18962
18963 2005-11-24  Michael Smith <msmith@fluendo.com>
18964
18965         * docs/manual/basics-helloworld.xml:
18966           Fix bug #315027: memory leak in example code in docs.
18967
18968 2005-11-24  Michael Smith <msmith@fluendo.com>
18969
18970         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18971           Unlock the PREROLL_LOCK in a failure case.
18972
18973 2005-11-24  Wim Taymans  <wim@fluendo.com>
18974
18975         * docs/gst/gstreamer-sections.txt:
18976         * gst/base/gstadapter.h:
18977         * gst/base/gstbasesink.h:
18978         * gst/base/gstbasesrc.h:
18979         * gst/base/gstbasetransform.h:
18980         * gst/base/gstpushsrc.h:
18981         * gst/elements/gstfakesink.h:
18982         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
18983         * gst/elements/gstfakesrc.h:
18984         * gst/elements/gstfilesink.h:
18985         * gst/elements/gstfilesrc.h:
18986         * gst/gst.c:
18987         * gst/gstbin.c:
18988         * gst/gstbuffer.c: (_gst_buffer_copy):
18989         * gst/gstbus.h:
18990         * gst/gstcaps.c:
18991         * gst/gstchildproxy.c:
18992         * gst/gstclock.c:
18993         * gst/gstelement.c:
18994         * gst/gstelementfactory.c:
18995         * gst/gstelementfactory.h:
18996         * gst/gstevent.c:
18997         * gst/gstghostpad.h:
18998         * gst/gstindex.h:
18999         * gst/gstinterface.h:
19000         * gst/gstminiobject.c:
19001         * gst/gstminiobject.h:
19002         * gst/gstpad.c:
19003         * gst/gstpad.h:
19004         * gst/gstpadtemplate.h:
19005         * gst/gstpipeline.h:
19006         * gst/gstpluginfeature.h:
19007         * gst/gstquery.h:
19008         * gst/gstqueue.h:
19009         * gst/gsttaglist.c:
19010         * gst/gsttaglist.h:
19011         * gst/gsttagsetter.c:
19012         * gst/gsttagsetter.h:
19013         * gst/gsttrace.c:
19014         * gst/gsttrace.h:
19015         * gst/gsttypefind.h:
19016         * gst/gsturi.h:
19017         * gst/gstvalue.c:
19018         * gst/net/gstnetclientclock.c:
19019         * gst/net/gstnetclientclock.h:
19020         * gst/net/gstnettimepacket.c:
19021         * gst/net/gstnettimeprovider.c:
19022         * gst/net/gstnettimeprovider.h:
19023         Doc fixes.
19024
19025 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19026
19027         * configure.ac: back to HEAD
19028
19029 === release 0.9.6 ===
19030
19031 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
19032
19033         * configure.ac:
19034           releasing 0.9.6, "Always On Time"
19035
19036 2005-11-23  Wim Taymans  <wim@fluendo.com>
19037
19038         * docs/gst/gstreamer-sections.txt:
19039         * gst/glib-compat.c:
19040         * gst/gsttagsetter.c:
19041         * gst/gstvalue.c:
19042         * gst/net/gstnetclientclock.c:
19043         * gst/net/gstnettimepacket.h:
19044         Doc updates.
19045
19046 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19047
19048         * docs/faq/using.xml:
19049         * docs/libs/tmpl/gstcontrol.sgml:
19050         * docs/manual/advanced-dparams.xml:
19051         * docs/manual/appendix-checklist.xml:
19052         * docs/manual/basics-elements.xml:
19053         * docs/pwg/other-source.xml:
19054         * docs/random/moving-plugins:
19055         * gst/gstpad.c:
19056         * tools/gst-launch.1.in:
19057           remove mentions of sinesrc
19058
19059 2005-11-23  Michael Smith <msmith@fluendo.com>
19060
19061         * docs/gst/gstreamer-sections.txt:
19062           Update for new API and API changes.
19063         * gst/gstobject.h:
19064           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
19065         * gst/gstvalue.c:
19066           Documentation typo fix.
19067         * gst/net/gstnettimepacket.c:
19068           Documentation fixes for arguments.
19069
19070 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
19071
19072         * gst/gststructure.c: (gst_structure_get_fraction),
19073         (gst_structure_parse_value),
19074         (gst_structure_fixate_field_nearest_fraction):
19075         * gst/gststructure.h:
19076         * gst/gstutils.c: (gst_util_uint64_scale_int):
19077         * gst/gstutils.h:
19078         * scripts/update-funcnames:
19079         API Changes. 
19080         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
19081         Make gst_structure_fixate_field_nearest_fraction take a numerator
19082         and denominator argument instead of a GValue
19083         add gst_structure_get_fraction helper function.
19084
19085 2005-11-23  Wim Taymans  <wim@fluendo.com>
19086
19087         * docs/design/part-TODO.txt:
19088         Update TODO.
19089
19090         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
19091         * gst/net/gstnetclientclock.h:
19092         Use parent fields for timeout and window_size.
19093
19094 2005-11-23  Andy Wingo  <wingo@pobox.com>
19095
19096         * check/net/gstnetclientclock.c (test_functioning): Adjust to
19097         rate_num/rate_denom change.
19098
19099         * gst/net/gstnetclientclock.c
19100         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
19101         OBJECT_LOCK. Don't call add_observation with the lock.
19102
19103         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
19104         fraction.
19105         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
19106         rate fraction.
19107         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
19108         deal with rate as a fraction whose numerator and denominator are
19109         GstClockTime values.
19110         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
19111         master; the other fields are protected by the SLAVE_LOCK.
19112         (do_linear_regression): Note that this must be called with the
19113         SLAVE_LOCK.
19114         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
19115         OBJECT_LOCK. Call set_calibration instead of touching the
19116         variables directly.
19117         (gst_clock_set_property, gst_clock_get_property): Protect
19118         master/slave parameters with the SLAVE_LOCK.
19119
19120         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
19121         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
19122         note that all of the instance variables that add_observation and
19123         the set_master functions use are protected by that lock and not
19124         the OBJECT_LOCK.
19125         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
19126
19127         * gst/gstclock.c (gst_clock_add_observation): No longer requires
19128         the caller to take the object lock.
19129
19130 2005-11-23  Wim Taymans  <wim@fluendo.com>
19131
19132         * gst/gsterror.c: (_gst_core_errors_init):
19133         * gst/gsterror.h:
19134         Add error for clock stuff.
19135
19136         * gst/gstpipeline.c: (gst_pipeline_change_state),
19137         (gst_pipeline_set_clock):
19138         Post clock error when clock cannot be used in a pipeline.
19139
19140 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
19141
19142         * docs/gst/gstreamer-sections.txt:
19143           make two symbols from gstinfo private for the docs
19144         * gst/base/gstcollectpads.h:
19145         * gst/gstutils.c:
19146           fix doc typos, update docs
19147
19148 2005-11-22  Wim Taymans  <wim@fluendo.com>
19149
19150         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19151         (gst_base_sink_wait), (gst_base_sink_do_sync),
19152         (gst_base_sink_handle_event):
19153         * gst/base/gstbasesink.h:
19154         No need to store the clock, the parent element class already
19155         has it.
19156
19157         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
19158         Updates for clock_set returning a gboolean
19159
19160         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
19161         (gst_clock_id_wait_async), (gst_clock_class_init),
19162         (gst_clock_init), (gst_clock_finalize),
19163         (gst_clock_get_internal_time), (gst_clock_get_time),
19164         (gst_clock_slave_callback), (gst_clock_set_master),
19165         (gst_clock_get_master), (do_linear_regression),
19166         (gst_clock_add_observation), (gst_clock_set_property),
19167         (gst_clock_get_property):
19168         * gst/gstclock.h:
19169         Implement master/slave. When setting a clock as a slave, a
19170         periodic timeout is scheduled to sample master and slave times.
19171         Then the slave clock is recalibrated to match offset and rate
19172         of the master clock.
19173         Update logging a bit.
19174         Add flag so that a clock can state that is cannot be slaved to
19175         another clock.
19176
19177         * gst/gstelement.c: (gst_element_set_clock):
19178         * gst/gstelement.h:
19179         The set clock returns a gboolean for when an element cannot
19180         deal with the selected clock in the pipeline. 
19181
19182         * gst/gstpipeline.c: (gst_pipeline_change_state),
19183         (gst_pipeline_set_clock):
19184         * gst/gstpipeline.h:
19185         Handle the case where the selected clock cannot be set on
19186         the pipeline.
19187
19188         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
19189         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
19190         (gst_net_client_clock_set_property),
19191         (gst_net_client_clock_get_property),
19192         (gst_net_client_clock_observe_times):
19193         * gst/net/gstnetclientclock.h:
19194         Use regression code in GstClock parent, remove duplicated
19195         functionality.
19196
19197 2005-11-22  Michael Smith <msmith@fluendo.com>
19198
19199         * gst/gstutils.c: (gst_util_clock_time_scale):
19200         * gst/gstutils.h:
19201         * docs/gst/gstreamer-sections.txt:
19202           Rename method to have extra underscore.
19203
19204 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19205
19206         * gst/elements/Makefile.am:
19207         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
19208         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19209         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19210         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
19211         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
19212         * gst/elements/gstfakesrc.h:
19213         * gst/gstqueue.c: (queue_leaky_get_type):
19214           correctly fix GEnumValues so that nick is the short lowercase
19215           dashed tag
19216         * tools/gst-inspect.c: (print_element_properties_info):
19217           also show the nick, since it's useful to use from parse_launch
19218           syntax
19219           Fixes #322139
19220
19221 2005-11-22  Michael Smith <msmith@fluendo.com>
19222
19223         * gst/gstutils.c: (gst_util_clocktime_scale):
19224         * gst/gstutils.h:
19225         * docs/gst/gstreamer-sections.txt:
19226           Add util method for scaling a clocktime by a fraction. Useful 
19227           implementation is left as an exercise for the reader.
19228
19229 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19230
19231         * gst/gstvalue.c: (gst_value_collect_fraction_range):
19232         If needed, allocate storage in the destination value during
19233         collection.
19234
19235 2005-11-22  Edward Hervey  <edward@fluendo.com>
19236
19237         * docs/gst/gstreamer-sections.txt:
19238         * gst/Makefile.am:
19239         * gst/gst.h:
19240         * gst/gsturitype.c:
19241         * gst/gsturitype.h:
19242         * gst/gstutils.c: (gst_util_set_object_arg):
19243         * tools/gst-compprep.c: (main):
19244         * tools/gst-inspect.c: (print_element_properties_info):
19245         Removed GstURI, closes bug #321061
19246
19247 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19248
19249         * check/gst/gststructure.c: (GST_START_TEST):
19250         * gst/gststructure.c: (gst_structure_parse_value):
19251           Oops, broke automatic string type parsing.
19252           Add a test to catch it in future.
19253
19254 2005-11-22  Andy Wingo  <wingo@pobox.com>
19255
19256         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
19257         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
19258         Actually rename the function implementations. Grr.
19259
19260 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19261
19262         * check/gst/capslist.h:
19263           Comment test cases
19264         * check/gst/gststructure.c: (GST_START_TEST),
19265         (gst_structure_suite):
19266           Test automatic value type detection in gst_structure_from_string.
19267         * gst/gststructure.c: (gst_structure_parse_value):
19268           Add fraction as a type we try and guess automatically in
19269           caps/structure strings.
19270
19271 2005-11-22  Andy Wingo  <wingo@pobox.com>
19272
19273         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
19274
19275         * gst/gsttagsetter.h:
19276         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
19277         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
19278         (gst_tag_setter_add_tag_valist)
19279         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
19280         _add_values, _add_valist, and _add_valist_values. Since this is an
19281         interface the function suffixes should be more explicit so
19282         language binding don't end up with element.add_valist ->
19283         gst_tag_setter_add_valist, for example. Fixes #322069.
19284
19285 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19286
19287         * check/gst/gstcaps.c: (GST_START_TEST):
19288           Extend caps string tests to check that a caps to string
19289           conversion is reversible and produces the same caps.
19290
19291         * gst/gststructure.c: (gst_structure_value_get_generic_type):
19292           Output "fraction" as the generic type fraction range, so caps
19293           serialisation and deserialisation works.
19294         * check/gst/capslist.h:
19295         * gst/gstvalue.c: (gst_value_deserialize_fraction):
19296           Support 'MIN' and 'MAX' for deserialising fractions.
19297
19298 2005-11-22  Andy Wingo  <wingo@pobox.com>
19299
19300         * gst/gstevent.h (gst_event_new_new_segment)
19301         (gst_event_parse_new_segment, gst_event_new_buffer_size)
19302         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
19303         Renamed from *_newsegment, *_buffersize, *_notarget.
19304
19305         * scripts/update-funcnames: New script, performs the changes
19306         listed above.
19307
19308 2005-11-22  Wim Taymans  <wim@fluendo.com>
19309
19310         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19311         Make sure the GstFlowReturn is returned.
19312
19313         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
19314         (gst_bus_add_signal_watch):
19315         * gst/gstbus.h:
19316         add gst_bus_add_signal_watch_full.
19317
19318         * gst/gstplugin.c: (gst_plugin_load_file):
19319         Small style cleanup.
19320
19321 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19322
19323         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
19324           Block the fakesrc srcpad when we send an event, to avoid
19325           contention on the stream_lock causing random test failures.
19326
19327 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19328
19329         * check/gst/gstvalue.c: (GST_START_TEST):
19330         * gst/gstvalue.c: (gst_value_fraction_subtract):
19331           Fix subtraction.
19332
19333 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
19334
19335         * gst/gst.h:
19336           include "gstchildproxy.h"
19337         * gst/gstchildproxy.h:
19338         * libs/gst/controller/gstcontroller.h:
19339           use G_GNUC_NULL_TERMINATED
19340
19341 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19342
19343         * check/gst/capslist.h:
19344         * check/gst/gstcaps.c: (GST_START_TEST):
19345         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19346         * gst/gststructure.c: (gst_structure_parse_range),
19347         (gst_structure_fixate_field_nearest_fraction):
19348         * gst/gststructure.h:
19349         * gst/gstvalue.c: (gst_value_init_fraction_range),
19350         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
19351         (gst_value_collect_fraction_range),
19352         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
19353         (gst_value_set_fraction_range_full),
19354         (gst_value_get_fraction_range_min),
19355         (gst_value_get_fraction_range_max),
19356         (gst_value_serialize_fraction_range),
19357         (gst_value_transform_fraction_range_string),
19358         (gst_value_compare_fraction_range),
19359         (gst_value_deserialize_fraction_range),
19360         (gst_value_intersect_fraction_fraction_range),
19361         (gst_value_intersect_fraction_range_fraction_range),
19362         (gst_value_subtract_fraction_fraction_range),
19363         (gst_value_subtract_fraction_range_fraction),
19364         (gst_value_subtract_fraction_range_fraction_range),
19365         (gst_value_collect_fraction), (gst_value_fraction_multiply),
19366         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
19367         (gst_value_transform_string_fraction), (_gst_value_initialize):
19368         * gst/gstvalue.h:
19369           Implement fraction ranges and extend GstFraction to support
19370           arithmetic subtraction, as well as deserialization from integer
19371           strings such as "100"
19372           Add a testsuite as for int and double range set operations
19373
19374 2005-11-21  Andy Wingo  <wingo@pobox.com>
19375
19376         * gst/gsttaglist.h: 
19377         * gst/gstcaps.h: 
19378         * gst/gststructure.h: Add glib-compat.h.
19379
19380 2005-11-21  Wim Taymans  <wim@fluendo.com>
19381
19382         * gst/gstbin.c: (gst_bin_change_state_func):
19383         Fix for #321595
19384
19385 2005-11-21  Wim Taymans  <wim@fluendo.com>
19386
19387         * gst/gstsegment.h:
19388         And add a nice define too.
19389
19390 2005-11-21  Wim Taymans  <wim@fluendo.com>
19391
19392         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
19393         (gst_segment_new), (gst_segment_free), (gst_segment_init),
19394         (gst_segment_set_duration), (gst_segment_set_last_stop),
19395         (gst_segment_set_seek), (gst_segment_set_newsegment),
19396         (gst_segment_to_stream_time), (gst_segment_to_running_time),
19397         (gst_segment_clip):
19398         * gst/gstsegment.h:
19399         Make binding friendly.
19400
19401 2005-11-21  Andy Wingo  <wingo@pobox.com>
19402
19403         * gst/gsttagsetter.h: 
19404         * gst/gsttaglist.h: 
19405         * gst/gststructure.h: 
19406         * gst/gstcaps.h: 
19407         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
19408         #319940.
19409
19410         * gst/gsterror.c (_gst_core_errors_init):
19411         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
19412         category.
19413
19414         * gst/Makefile.am (gst_headers): Add glib-compat.h.
19415         (noinst_HEADERS): noinst the -private.
19416
19417 2005-11-21  Michael Smith <msmith@fluendo.com>
19418
19419         * gst/gstplugin.h:
19420         * gst/gstregistry.h:
19421           Remove unimplemented declarations for which we can see no sensible
19422           use.
19423
19424 2005-11-21  Andy Wingo  <wingo@pobox.com>
19425
19426         * gst/gst.h: Include glib-compat.h.
19427
19428         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
19429
19430         * gst/glib-compat.c: Include the public and the private header.
19431
19432         * gst/glib-compat-private.h: Copied here from glib-compat.h.
19433
19434         * gst/gstvalue.c: 
19435         * gst/gstpad.c: 
19436         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
19437
19438         * check/gst/gstevent.c (create_custom_events): Check that
19439         FLUSH_STOP is serialized.
19440
19441         * check/elements/identity.c (event_func): 
19442         * check/elements/fakesrc.c (event_func): No stream lock, the core
19443         takes it.
19444
19445         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
19446         stream lock taking, yay.
19447
19448         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
19449         ensure that core takes the stream lock.
19450
19451         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
19452         lock name change.
19453
19454         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
19455         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
19456         it already. For the flush start we do take it though so we get the
19457         right preroll state change messages.
19458
19459         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
19460         the stream lock here, the core does it for us.
19461
19462         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
19463         GST_STREAM_GET_LOCK.
19464         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
19465         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
19466         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
19467         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
19468         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
19469         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
19470
19471         * gst/gstpad.c: Update for stream lock name change.
19472
19473         * gst/base/gstbasesink.c: Update for preroll lock name change.
19474
19475 2005-11-21  Wim Taymans  <wim@fluendo.com>
19476
19477         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
19478         (gst_clock_get_master):
19479         * gst/gstclock.h:
19480         * gst/gstsystemclock.c: (gst_system_clock_init):
19481         Convert Clock flags to object flags.
19482         Added methods to manage master/slave clocks.
19483
19484 2005-11-21  Wim Taymans  <wim@fluendo.com>
19485
19486         * check/gst/gstsegment.c: (GST_START_TEST):
19487         * docs/design/part-TODO.txt:
19488         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19489         (gst_base_sink_event), (gst_base_sink_do_sync),
19490         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
19491         (gst_base_sink_query), (gst_base_sink_change_state):
19492         * gst/base/gstbasesink.h:
19493         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
19494         (gst_base_src_default_newsegment),
19495         (gst_base_src_configure_segment), (gst_base_src_do_seek),
19496         (gst_base_src_get_range), (gst_base_src_loop),
19497         (gst_base_src_change_state):
19498         * gst/base/gstbasesrc.h:
19499         * gst/base/gstbasetransform.c:
19500         (gst_base_transform_prepare_output_buf),
19501         (gst_base_transform_event), (gst_base_transform_change_state):
19502         * gst/base/gstbasetransform.h:
19503         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
19504         (gst_collect_pads_event):
19505         * gst/base/gstcollectpads.h:
19506         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
19507         (gst_fake_src_create):
19508         * gst/elements/gstfakesrc.h:
19509         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19510         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
19511         (gst_segment_set_last_stop), (gst_segment_set_seek),
19512         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
19513         (gst_segment_to_running_time), (gst_segment_clip):
19514         * gst/gstsegment.h:
19515         More segment updates, replace code in plugins with segment
19516         helper functions.
19517
19518 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
19519
19520         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
19521         Don't ignore sscanf results
19522
19523 2005-11-21  Andy Wingo  <wingo@pobox.com>
19524
19525         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
19526
19527         * *.h:
19528         * *.c: Ran scripts/update-macros. Oh yes.
19529
19530         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
19531         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
19532         GST_GET_LOCK, etc.
19533
19534         * scripts/update-macros: New script. Run it on your files to
19535         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
19536         well.
19537
19538 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
19539
19540         * docs/gst/Makefile.am:
19541         * docs/gst/gstreamer-docs.sgml:
19542         * docs/gst/gstreamer-sections.txt:
19543         * docs/gst/gstreamer.types:
19544         * gst/gstinfo.h:
19545           more docs fixes, add new api to the docs
19546
19547 2005-11-21  Andy Wingo  <wingo@pobox.com>
19548
19549         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
19550         state_broadcast call.
19551
19552         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
19553
19554 2005-11-21  Julien MOUTTE  <julien@moutte.net>
19555
19556         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
19557         function calls for arrays.
19558
19559 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
19560
19561         * docs/random/ensonic/media-device-daemon.txt:
19562           wild idea, can this be done?
19563         * docs/gst/gstreamer-sections.txt:
19564         * gst/gsterror.h:
19565         * gst/gstfilter.c:
19566         * gst/gstfilter.h:
19567         * gst/gstplugin.h:
19568         * gst/gstpluginfeature.c:
19569         * gst/gsttrace.c:
19570         * gst/gstvalue.c:
19571         * gst/gstvalue.h:
19572           doc fixes and additions
19573
19574 2005-11-21  Andy Wingo  <wingo@pobox.com>
19575
19576         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
19577         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
19578         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
19579         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
19580         private to the basesrc implementation.
19581
19582         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
19583         behalf of event function if necessary. It should no longer be
19584         necessary to take the stream lock in pad's event functions. Fixes
19585         #320299.
19586
19587 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
19588         * docs/gst/gstreamer-sections.txt:
19589         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
19590         (gst_structure_fixate_field_nearest_double),
19591         (gst_structure_fixate_field_boolean):
19592         * gst/gststructure.h:
19593         * win32/common/libgstreamer.def:
19594         * win32/gstreamer.def:
19595
19596         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
19597         (#322027)
19598
19599 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
19600
19601         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
19602         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
19603         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
19604         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
19605         (gst_fdsrc_uri_handler_init):
19606         * gst/elements/gstfdsrc.h:
19607           Port fd:// URI handler from 0.8 to fdsrc
19608
19609 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19610
19611         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
19612         (gst_value_serialize_fourcc):
19613         * gst/gstvalue.h:
19614           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
19615           consistent with our other format defines (#320324).
19616
19617 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19618
19619         * gst/gstvalue.c: (gst_value_is_fixed):
19620           Revert previous commit. Value lists are by definition
19621           not fixed, as they are a list of possible values.
19622
19623 2005-11-21  Andy Wingo  <wingo@pobox.com>
19624
19625         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
19626         during the stable series if we need it. Fixes #319178.
19627
19628         * gst/gstevent.c (gst_event_new_filler): Removed.
19629
19630         * check/gst/gstevent.c: Update comment about filler events.
19631
19632 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19633
19634         * gst/gstvalue.c: (gst_value_is_fixed):
19635           Should handle both value arrays and value lists.
19636
19637 2005-11-21  Andy Wingo  <wingo@pobox.com>
19638
19639         patch by: Alessandro Dessina <alessandro nnva org>
19640
19641         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
19642         functions to access arrays. Fixes #321962.
19643
19644 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19645
19646         * docs/gst/gstreamer.types:
19647           gst_collectpads_get_type => gst_collect_pads_get_type.
19648           
19649         * gst/base/gstbasetransform.c:
19650           Remove unused SIGNAL_HANDOFF enum.
19651
19652 2005-11-21  Andy Wingo  <wingo@pobox.com>
19653
19654         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
19655         the event type (upstream, downstream, serialized). Renamed
19656         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
19657         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
19658         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
19659
19660         * gst/gstevent.c: Update for new CUSTOM event names.
19661
19662         * check/gst/gstevent.c: Update check for new CUSTOM event names.
19663
19664         * gst/gstevent.h:
19665         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
19666         bug #319392.
19667
19668 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19669
19670         * docs/gst/gstreamer-sections.txt:
19671         * win32/common/libgstbase.def:
19672         * win32/libgstbase.def:
19673         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
19674         (gst_collect_pads_class_init), (gst_collect_pads_init),
19675         (gst_collect_pads_finalize), (gst_collect_pads_new),
19676         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
19677         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
19678         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
19679         (gst_collect_pads_start), (gst_collect_pads_stop),
19680         (gst_collect_pads_peek), (gst_collect_pads_pop),
19681         (gst_collect_pads_available), (gst_collect_pads_read),
19682         (gst_collect_pads_flush), (gst_collect_pads_event),
19683         (gst_collect_pads_chain):
19684         * gst/base/gstcollectpads.h:
19685           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
19686           unimplemented functions as unimplemented. Add padding to
19687           GstCollectData. (#320766, #320423)
19688
19689 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19690
19691         * gst/gstmessage.c:
19692           Improve docs for DURATION message (usage of duration parameter)
19693           (#320113)
19694
19695 2005-11-20  Wim Taymans  <wim@fluendo.com>
19696
19697         * check/Makefile.am:
19698         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
19699         (main):
19700         * gst/Makefile.am:
19701         * gst/gst.h:
19702         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
19703         (gst_segment_set_seek), (gst_segment_set_newsegment),
19704         (gst_segment_to_stream_time), (gst_segment_to_running_time),
19705         (gst_segment_clip):
19706         * gst/gstsegment.h:
19707         Added segment helper structure and methods. Not fully implemented
19708         yet.
19709         Added segment check.
19710
19711 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
19712
19713         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19714           Add a deserialisation test for fractions
19715         * examples/metadata/read-metadata.c: (message_loop),
19716         (make_pipeline), (main):
19717           Fix up metadata reading sample.
19718         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19719           Debug format fix
19720         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19721           Don't try and fixate empty caps
19722         * gst/gst_private.h:
19723           Wrap in G_BEGIN_DECLS/G_END_DECLS
19724         * gst/gstvalue.c: (gst_value_collect_fraction),
19725         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
19726         (gst_value_transform_string_fraction),
19727         (gst_value_compare_fraction):
19728           Add some extra guards to ensure that we don't end up 
19729           with an invalid denominator of 0 in a gstfraction and
19730           that fractions always get reduced.
19731
19732 2005-11-20  Wim Taymans  <wim@fluendo.com>
19733
19734         * docs/gst/gstreamer-sections.txt:
19735         * gst/gstbuffer.h:
19736         * gst/gstelement.c:
19737         * gst/gstformat.c:
19738         * gst/gstformat.h:
19739         * gst/gstindex.h:
19740         * gst/gstquery.c:
19741         * gst/gstquery.h:
19742         * gst/gstvalue.c:
19743         Doc fixes.
19744
19745 2005-11-20  Wim Taymans  <wim@fluendo.com>
19746
19747         * docs/design/part-TODO.txt:
19748         * gst/gstcaps.h:
19749         Make a proper enum of the flag.
19750
19751 2005-11-19  Wim Taymans  <wim@fluendo.com>
19752
19753         * docs/design/part-TODO.txt:
19754         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
19755         (gst_format_to_quark), (gst_format_register):
19756         * gst/gstformat.h:
19757         * gst/gstquery.c: (_gst_query_initialize),
19758         (gst_query_type_get_name), (gst_query_type_to_quark),
19759         (gst_query_type_register):
19760         * gst/gstquery.h:
19761         Add type to quark and type to string conversions.
19762
19763 2005-11-19  Andy Wingo  <wingo@pobox.com>
19764
19765         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
19766         #320097.
19767
19768 2005-11-19  Wim Taymans  <wim@fluendo.com>
19769
19770         * docs/design/part-TODO.txt:
19771         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
19772         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
19773         (gst_bin_handle_message_func):
19774         * gst/gstbin.h:
19775         Make message handling overridable.
19776
19777 2005-11-19  Andy Wingo  <wingo@pobox.com>
19778
19779         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
19780
19781         * gst/gstclock.h:
19782         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
19783         be a GstClockTime.
19784         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
19785         is a GstClockTime. Fixes #321710.
19786
19787         * gst/gstclock.h (GstClock): Remove offset property. Add
19788         internal_calibration and external_calibration. Fix padding. Pad
19789         also by GstClockTime so we don't run into problems.
19790
19791         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
19792         (gst_clock_get_rate_offset): Remove.
19793         (gst_clock_set_time_adjust): Remove. Fixes #321712.
19794
19795         * gst/gstutils.h:
19796         * gst/gstutils.c (g_static_rec_cond_wait)
19797         (g_static_rec_cond_timed_wait): Removed, no longer needed.
19798
19799         * gst/gstbin.c: Remove terrible continue_state prototype.
19800
19801         * gst/gstelement.h (gst_element_continue_state): Make public.
19802
19803         * gst/gstelement.h:
19804         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
19805         by continue_state. Fixes #319389.
19806
19807         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
19808         Really fixes #168438. However I don't see anywhere where the
19809         filter function is called... stupid GStreamer...
19810         
19811         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
19812         don't have a dispose function, so it won't get called when the
19813         object is unreffed, but oh well!
19814
19815         * gst/gstindex.c (gst_index_set_filter_full): New API function,
19816         allows a destroy function to be set so user_data can be freed.
19817         Fixes #168438.
19818         (gst_index_set_filter): Call gst_index_set_filter_full.
19819
19820         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
19821
19822         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
19823         string should produce an error, given the lack of a way to
19824         represent NULL strings. Fixes #165650.
19825         
19826         * gst/gstvalue.h: 
19827         * gst/gstvalue.c (gst_value_array_append_value) 
19828         (gst_value_array_prepend_value, gst_value_array_get_size) 
19829         (gst_value_array_get_value): New API, copied from
19830         gst_value_list_*, only operates on arrays.
19831         (gst_value_list_append_value, gst_value_list_prepend_value) 
19832         (gst_value_list_concat, gst_value_list_get_size) 
19833         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
19834
19835         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
19836         init_list, because it works on both.
19837         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
19838         (gst_value_copy_list_or_array): Renamed from copy_list.
19839         (gst_value_free_list_or_array): Renamed from free_list.
19840         (gst_value_collect_list_or_array): Renamed from collect_list.
19841         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
19842         (gst_value_list_or_array_peek_pointer): Renamed from
19843         list_peek_pointer.
19844         (_gst_value_array_value_table, _gst_value_list_value_table):
19845         Update value table functions.
19846         (gst_value_compare_list_or_array): Renamed from compare_list.
19847
19848         * gsttaglist.h: Whoops, foreach function returns void. Also fix
19849         some constness.
19850
19851         * gst/gsttaglist.c:
19852         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
19853         GstTagList*. Fixes #143472.
19854
19855         * gst/gststructure.h: Clarify what the foreach/map functions can
19856         or can't do to their arguments.
19857
19858 2005-11-18  Wim Taymans  <wim@fluendo.com>
19859
19860         * gst/gstclock.c: (gst_clock_set_calibration),
19861         (gst_clock_get_calibration):
19862         Doc and API fixes.
19863         Calibration can be set with internal time equal to current
19864         internal time too.
19865
19866 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19867
19868         * gst/gsterror.c:
19869         * gst/gsterror.h:
19870           document
19871
19872 2005-11-18  Andy Wingo  <wingo@pobox.com>
19873
19874         * configure.ac: 
19875         * pkgconfig/gstreamer-net.pc.in:
19876         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19877         * pkgconfig/Makefile.am: Add net pkgconfig files.
19878
19879 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
19880
19881         * gst/gstcaps.c:
19882         * gst/gstghostpad.c:
19883         * gst/gsttrace.c:
19884         * gst/gstvalue.c:
19885         * gst/gstvalue.h:
19886           docs fixes
19887
19888 2005-11-18  Andy Wingo  <wingo@pobox.com>
19889
19890         * gst/net/gstnetclientclock.c: Turn off debugging.
19891
19892         * check/net/gstnetclientclock.c (test_functioning): Assert that the
19893         times connverge somewhat. Can't make a real test.
19894
19895         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
19896         integer arithmetic. Return the minimum of the domain, which can be
19897         set as "internal" for gst_clock_set_calibration.
19898         (gst_net_client_clock_observe_times): Call _set_calibration.
19899         (gst_net_client_clock_new): Call _set_calibration instead of
19900         rate_offset.
19901
19902         * check/net/gstnetclientclock.c (test_functioning): Use the right
19903         adjustment api.
19904
19905         * gst/gstclock.h:
19906         * gst/gstclock.c (gst_clock_get_calibration) 
19907         (gst_clock_set_calibration): New functions, obsolete the ones I
19908         added yesterday. Doh. Precision issues mean we have to extrapolate
19909         from a point in the more recent past than 1970.
19910         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
19911         obsolete.
19912         (gst_clock_adjust_unlocked): Use the right calibration data.
19913
19914 2005-11-18  Edward Hervey  <edward@fluendo.com>
19915
19916         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
19917         Also reset the ->current_* values in READY->PAUSED
19918
19919 2005-11-18  Andy Wingo  <wingo@pobox.com>
19920
19921         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
19922         Whoops, check the right fd. Also add some debugging.
19923         (gst_net_client_clock_observe_times): Adjust for int64 offset.
19924         (do_linear_regression): Add a crapload of debugging. Subtract off
19925         the minimum values from the input series to discard unneeded bits.
19926         Use only int arithmetic. There is still double arithmetic when
19927         calculating the intercept that needs fixing. Return boolean to
19928         indicate success; FALSE would mean the domain or range is too
19929         great. Still needs fixes.
19930
19931 2005-11-18  Wim Taymans  <wim@fluendo.com>
19932
19933         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
19934         For the current position in stream time, we need to subtract
19935         accumulated time.
19936         
19937         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
19938         Release lock before calling the callback function of async
19939         entries.
19940
19941 2005-11-18  Andy Wingo  <wingo@pobox.com>
19942
19943         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
19944         Port goes all the way to MAXUINT16.
19945
19946         * gst/net/gstnettimeprovider.c: Make the port range the same as
19947         for the kernel: 0 assigns, otherwise ports are less than
19948         MAXUINT16.
19949
19950         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
19951         port change.
19952
19953         * check/net/gstnetclientclock.c (test_functioning): Add the start
19954         of another test. 
19955
19956 2005-11-18  Wim Taymans  <wim@fluendo.com>
19957
19958         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19959         (gst_bin_remove_func), (bin_bus_handler):
19960         * gst/gstbin.h:
19961         Removing a clock provider from a bin, triggers a clock lost message
19962         so that a new clock will be selected.
19963         Adding a clock to a bin triggers a clock provider message.
19964         Make sure we reselect a clock when we received a clock lost message.
19965         Keep a reference to the element that provided the clock.
19966
19967 2005-11-18  Andy Wingo  <wingo@pobox.com>
19968
19969         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
19970         the clock initially so it produces values around the base time.
19971         (gst_net_client_clock_class_init): Typo fix.
19972         (gst_net_client_clock_thread): Add note on when the socket gets
19973         closed.
19974
19975 2005-11-17  Wim Taymans  <wim@fluendo.com>
19976
19977         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
19978         Free remote and local time arrays.
19979
19980 2005-11-17  Wim Taymans  <wim@fluendo.com>
19981
19982         * gst/net/gstnetclientclock.c: (do_linear_regression),
19983         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
19984         Fix compilation, uninitialized vars and a forgotten continue.
19985
19986 2005-11-17  Andy Wingo  <wingo@pobox.com>
19987
19988         * check/Makefile.am (check_PROGRAMS): 
19989         * check/net/gstnetclientclock.c: Add a most minimal test for the
19990         net client clock. More to come later.
19991
19992         * gst/net/gstnet.h: 
19993         * gst/net/Makefile.am: Add netclientclock.
19994
19995         * gst/net/gstnetclientclock.h:
19996         * gst/net/gstnetclientclock.c: New files, implement an untested
19997         GstClock that takes its time from a network time provider.
19998         Implements the algorithm in network-clock.scm.
19999
20000         * tests/network-clock.scm (*window-size*): Rename from
20001         *queue-length*.
20002         * tests/network-clock.scm (network-time): 
20003         * tests/network-clock-utils.scm (q-push): Update callers.
20004
20005 2005-11-17  Wim Taymans  <wim@fluendo.com>
20006
20007         * gst/gstbin.c: (gst_bin_provide_clock_func),
20008         (gst_bin_sort_iterator_new):
20009         And unref the child too..
20010
20011 2005-11-17  Wim Taymans  <wim@fluendo.com>
20012
20013         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
20014         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
20015         Refactor the sort iterator so it can be used while holding the
20016         LOCK too.
20017         Make clock selection select a clock closest to the source.
20018
20019 2005-11-17  Michael Smith <msmith@fluendo.com>
20020
20021         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
20022         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
20023         * gst/gstclock.h:
20024           Anonymous structs are a gcc (and some other compilers) extension, so
20025           don't use them. Since this is only for ABI-compatibility, and our
20026           API/ABI freeze is over in a few days, this whole thing will only
20027           last a few days, so don't bother trying to think up a meaningful
20028           name for the struct.
20029
20030 2005-11-17  Andy Wingo  <wingo@pobox.com>
20031
20032         * gst/gstclock.h (GstClock): Add rate and offset properties,
20033         preserving ABI stability. Add rate/offset accessors. Will file bug
20034         for the freeze break.
20035
20036         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
20037         and offset, trying to keep precision and avoiding
20038         underflow/overflow.
20039         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
20040         functions. Make gst_clock_set_time_adjust obsolete.
20041         (gst_clock_set_time_adjust): Note that this function is obsolete.
20042         Will file bug soon.
20043
20044         * gst/base/gstbasetransform.h: Make the ABI-stability hack
20045         greppable by using GST_PADDING-1+1.
20046
20047 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
20048
20049         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20050
20051         * gst/gstmessage.c: (gst_message_parse_clock_lost):
20052           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
20053
20054         * gst/gstpadtemplate.h:
20055         * gst/gstpluginfeature.h:
20056           Don't use c++ style comments in headers (#321638).
20057
20058 2005-11-16  Andy Wingo  <wingo@pobox.com>
20059
20060         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
20061         buffer.
20062
20063         * check/net/gstnettimeprovider.c: Check to see that the time
20064         provider actually provides times. Works, yo!
20065
20066 2005-11-16  Wim Taymans  <wim@fluendo.com>
20067
20068         * check/Makefile.am:
20069         Enable more tests.
20070
20071         * check/elements/fakesrc.c: (GST_START_TEST):
20072         Set element to NULL before disposing it.
20073
20074 2005-11-16  Andy Wingo  <wingo@pobox.com>
20075
20076         * gst/net/Makefile.am:
20077         * gst/net/gstnet.h:
20078         * gst/net/gstnettimeprovider.c: 
20079         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
20080         provider, include it from gstnet.h, and add it to the build.
20081
20082         * gst/net/gstnettimepacket.h: 
20083         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
20084         sending and receiving.
20085
20086 2005-11-16  Wim Taymans  <wim@fluendo.com>
20087
20088         * check/Makefile.am:
20089         Enable valgrind check.
20090
20091         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
20092         (gst_fake_src_alloc_buffer):
20093         Fix memleak.
20094
20095 2005-11-16  Wim Taymans  <wim@fluendo.com>
20096
20097         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
20098         Call parent finalize too.
20099
20100 2005-11-16  Wim Taymans  <wim@fluendo.com>
20101
20102         * check/Makefile.am:
20103         Enable valgrind check that should work fine now.
20104
20105         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20106         * gst/gstqueue.c: (gst_queue_init):
20107         Fix memleaks in pad allocation.
20108
20109 2005-11-16  Andy Wingo  <wingo@pobox.com>
20110
20111         * gst/net/Makefile.am:
20112         * gst/net/gstnet.h: New part of core to hold network elements and
20113         objects. Put in core because it exposes API that applications want
20114         to use. The library is named libgstnet-tempname right now because
20115         of the existing libgstnet in gst-plugins-base. Solution is
20116         probably to rename the one in plugins-base; will file a bug for
20117         the freeze break.
20118
20119         * gst/net/gstnettimeprovider.c: 
20120         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
20121         get_time call over the network.
20122
20123         * configure.ac: 
20124         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
20125
20126         * check/Makefile.am:
20127         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
20128         get additions shortly.
20129
20130 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20131
20132         * gst/gstpad.c: (gst_pad_new_from_static_template):
20133         * gst/gstpad.h:
20134           add gst_pad_new_from_static_template functions
20135         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
20136         (gst_check_setup_sink_pad):
20137         * gst/elements/gsttee.c: (gst_tee_init):
20138           and use them
20139
20140 2005-11-16  Wim Taymans  <wim@fluendo.com>
20141
20142         * gst/gstpad.c: (gst_pad_pause_task):
20143         Removed warning, it's not really an error either.
20144
20145 2005-11-16  Wim Taymans  <wim@fluendo.com>
20146
20147         * gst/base/gstbasetransform.c:
20148         (gst_base_transform_prepare_output_buf),
20149         (gst_base_transform_event):
20150         Check if the caps are NULL, this can happen if the element
20151         is shutting down and the pad caps are set to NULL.
20152
20153 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20154
20155         * gst/elements/gsttee.c: (gst_tee_init):
20156           fix pad template leak in tee
20157
20158 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20159
20160         * gst/glib-compat.c: (g_value_dup_gst_object):
20161         * gst/glib-compat.h:
20162         * gst/gstpad.c: (gst_pad_set_property):
20163           use gst_object_ref when setting the pad template; this will
20164           trigger the pad template leaks on GLib 2.6 and the slaves
20165
20166 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20167
20168         * gst/glib-compat.c: (gst_flags_get_first_value):
20169         * gst/glib-compat.h:
20170         * gst/gstregistryxml.c:
20171           remove functions copied from GLib 2.6
20172
20173 2005-11-16  Michael Smith <msmith@fluendo.com>
20174
20175         * gst/Makefile.am:
20176           Don't link against VALGRIND_LIBS. That was always the wrong thing to
20177           do, but only breaks with newer valgrind versions. We're not a
20178           valgrind tool, we have no link-time dependencies on libcoregrind.
20179
20180 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20181
20182         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20183           some debug changes
20184         * gst/gstmessage.h:
20185           typo fixes
20186
20187 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20188
20189         * gst/base/gstbasesrc.c: (gst_base_src_init):
20190         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20191         * gst/gstqueue.c: (gst_queue_init):
20192         * gst/gstregistryxml.c: (load_feature):
20193           Revert all these unrefs, they don't even pass make check !
20194
20195 2005-11-15  Johan Dahlin  <johan@gnome.org>
20196
20197         * gst/base/gstbasesrc.c: (gst_base_src_init):
20198         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20199         * gst/gstqueue.c: (gst_queue_init): 
20200         Free pad templates, fixes a couple of leaks.
20201
20202 2005-11-15  Daniel Fischer  <dan at f3c dot com>
20203
20204         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20205
20206         * gst/gstpad.c: (gst_pad_get_property):
20207           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
20208           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
20209           (#321452)
20210
20211 2005-11-15  Wim Taymans  <wim@fluendo.com>
20212
20213         * gst/gstevent.c:
20214         Small doc update.
20215
20216 2005-11-15  Andy Wingo  <wingo@pobox.com>
20217
20218         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
20219
20220         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
20221         using GST_CLOCK_TIME_NONE to disable base time management.
20222         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
20223         time if it was NONE before.
20224         (gst_pipeline_change_state): Only munge the base time if
20225         stream_time != GST_CLOCK_TIME_NONE.
20226
20227         * check/gst/gstpipeline.c (test_base_time): Punt around the
20228         problem of the probe not being called, because that's not the
20229         issue I'm looking at. Add a check that setting stream_time to NONE
20230         disables base time management.
20231         
20232 2005-11-15  Wim Taymans  <wim@fluendo.com>
20233
20234         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20235         segment_stop == -1 at startup.
20236
20237         * gst/base/gstbasetransform.c: (gst_base_transform_event),
20238         (gst_base_transform_change_state):
20239         Init segment values at start.
20240
20241 2005-11-15  Wim Taymans  <wim@fluendo.com>
20242
20243         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20244         0 segment values are 0 in any format.
20245
20246         * gst/base/gstbasetransform.c: (gst_base_transform_event):
20247         * gst/base/gstbasetransform.h:
20248         Parse newsegment correctly in basetransform
20249
20250         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20251         Sync to clock using updated segment values.
20252
20253 2005-11-15  Andy Wingo  <wingo@pobox.com>
20254
20255         * check/gst/gstpipeline.c (test_base_time): Add check that the
20256         base time and stream time are reset correctly.
20257
20258 2005-11-15  Wim Taymans  <wim@fluendo.com>
20259
20260         * docs/design/part-TODO.txt:
20261         Some more TODO items.
20262
20263 2005-11-15  Andy Wingo  <wingo@pobox.com>
20264
20265         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
20266         error if the user selected "no clock" as the clocking method.
20267
20268         * check/gst/gstpipeline.c (test_base_time): New test for buffer
20269         timestamps with live capture.
20270
20271         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
20272         is 0 but we are a live source, timestamp the buffers using the
20273         element's clock.
20274
20275 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
20276
20277         * docs/gst/gstreamer-sections.txt:
20278         * gst/gsterror.c:
20279         * gst/gstghostpad.c:
20280         * gst/gstobject.h:
20281         * gst/gstxml.c:
20282           more section docs
20283
20284 2005-11-14  Wim Taymans  <wim@fluendo.com>
20285
20286         * common/gst.supp:
20287           add suppressions from Wim's Debian machine
20288
20289 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
20290
20291         * common/gst.supp:
20292           add suppressions from Andy's AMD64 Ubuntu machine
20293
20294 2005-11-14  Andy Wingo  <wingo@pobox.com>
20295
20296         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
20297         STATE_LOCK not necessary. Fixes #311489.
20298
20299         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
20300         #305291.
20301
20302         * gst/gstindex.c (gst_index_add_object): Note in the docs that
20303         this function is not implemented.
20304
20305 2005-11-14  Julien MOUTTE  <julien@moutte.net>
20306
20307         * gst/base/gstbasetransform.c:
20308         (gst_base_transform_prepare_output_buf):
20309         Ref the source pad caps while we need them.
20310         Fixes (#321386)
20311
20312 2005-11-11  Wim Taymans  <wim@fluendo.com>
20313
20314         * docs/gst/gstreamer-sections.txt:
20315         Added some docs for GstCollectData.
20316
20317         * gst/base/gstadapter.c:
20318         Some small code example fix.
20319
20320         * gst/base/gstcollectpads.c:
20321         * gst/base/gstcollectpads.h:
20322         Document some more.
20323
20324 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20325
20326         * configure.ac: back to HEAD
20327
20328 === release 0.9.5 ===
20329
20330 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
20331
20332         * configure.ac:
20333           releasing 0.9.5, "Bike Lunch Day"
20334
20335 2005-11-11  Wim Taymans  <wim@fluendo.com>
20336
20337         * gst/gstbuffer.c: (_gst_buffer_copy):
20338         Copy more flags.
20339
20340         * gst/gstcaps.c: (gst_caps_is_equal):
20341         Fix some docs.
20342         Make _is_equal fast in the trivial cases.
20343
20344         * gst/gstminiobject.c:
20345         * gst/gstminiobject.h:
20346         More docs. Spifify .h file.
20347
20348         * gst/gstutils.c:
20349         Small doc update.
20350
20351 2005-11-11  Wim Taymans  <wim@fluendo.com>
20352
20353         * gst/base/gstbasetransform.c:
20354         (gst_base_transform_prepare_output_buf),
20355         (gst_base_transform_handle_buffer):
20356         Small cleanups.
20357         If we're processing a buffer and need to allocate an output
20358         buffer, we cannot accept a format change. If we did get a 
20359         format change, we have to alloc a buffer ourselves of the 
20360         right size.
20361
20362 2005-11-11  Wim Taymans  <wim@fluendo.com>
20363
20364         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
20365         While checking the flag for reentrancy in the gstcaps function
20366         is nice to detect recursive invocations, it also makes it 
20367         impossible to call getcaps from multiple threads, which must be
20368         possible. So, checking for recursive calls has to go.
20369
20370 2005-11-11  Michael Smith <msmith@fluendo.com>
20371
20372         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20373           Don't sync on buffers that fall partially outside our current
20374           segment. Prevents an assertion failure/abort playing some files.
20375
20376 2005-11-10  Andy Wingo  <wingo@pobox.com>
20377
20378         * check/gst/gstbin.c (test_message_state_changed_children): Style
20379         fix..
20380
20381         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
20382         gst_bus_poll with the signal watch. Ensures that poll and a signal
20383         watch see the same messages.
20384
20385         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
20386         a poll and a watch at the same time get the same messages.
20387
20388 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20389
20390         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
20391         * gst/gstcaps.c: (gst_caps_intersect):
20392           Don't call gst_caps_do_simplify - it doesn't respect order of caps
20393           and it's not needed.
20394
20395 2005-11-10  Wim Taymans  <wim@fluendo.com>
20396
20397         * docs/design/part-TODO.txt:
20398         Updated todo.
20399
20400 2005-11-10  Wim Taymans  <wim@fluendo.com>
20401
20402         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20403         * gst/base/gstbasesrc.c: (gst_base_src_wait),
20404         (gst_base_src_do_sync), (gst_base_src_get_range):
20405         Implement clock sync in base class.
20406
20407 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20408
20409         patch by: Tim-Philipp Müller <tim at centricular dot net>
20410
20411         * gst/gststructure.c: (gst_structure_parse_field),
20412         (gst_structure_from_string):
20413           Forward-port a 0.8 patch to handle escaped spaces in structure string,
20414           so that gst_parse_launch() can deal with spaces in filtered link
20415           caps (fixes #164479)
20416         * check/gst/capslist.h:
20417         * check/gst/gststructure.c: (GST_START_TEST):
20418           add unit tests for this change
20419
20420 2005-11-10  Wim Taymans  <wim@fluendo.com>
20421
20422         * docs/gst/gstreamer-sections.txt:
20423         * gst/gstelement.c:
20424         * gst/gstelement.h:
20425         Fix docs, move some STATE macros to private.
20426
20427 2005-11-10  Wim Taymans  <wim@fluendo.com>
20428
20429         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
20430         Added check for bug #317341
20431
20432         * gst/gstbuffer.c:
20433         * gst/gstbuffer.h:
20434         Some more spiffifying.
20435
20436         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
20437         Call peer linkfunction if we are a source pad. Totally fixes
20438         #317341
20439
20440         * gst/gstpad.c:
20441         Update docs, source pads should call the peer linkfunction
20442         so they can atomically perform the pad link.
20443
20444 2005-11-09  Wim Taymans  <wim@fluendo.com>
20445
20446         * gst/gstbuffer.c:
20447         * gst/gstbuffer.h:
20448         Uber-spiffy-spiffify some more.
20449
20450 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
20451
20452         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
20453         * gst/elements/gstfilesink.c: (gst_file_sink_init):
20454         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20455         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
20456         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
20457         * gst/gstpad.c: (gst_pad_init):
20458           Use GST_DEBUG_FUNCPTR() more extensively.
20459
20460 2005-11-09  Wim Taymans  <wim@fluendo.com>
20461
20462         * gst/gstobject.c: (gst_object_class_init):
20463         * gst/gstobject.h:
20464         Documentation fixes.
20465
20466 2005-11-09  Edward Hervey  <edward@fluendo.com>
20467
20468         * gst/gsttypefindfactory.c:
20469         Fix docs.
20470         
20471 2005-11-09  Edward Hervey  <edward@fluendo.com>
20472
20473         * gst/base/gsttypefindhelper.c:
20474         * gst/gsttypefind.c:
20475         * gst/gsttypefind.h:
20476         Fix docs.
20477
20478 2005-11-09  Wim Taymans  <wim@fluendo.com>
20479
20480         * gst/gstiterator.c:
20481         Fix revision data.
20482
20483         * gst/gsttask.c:
20484         * gst/gsttask.h:
20485         Fix docs.
20486
20487 2005-11-09  Wim Taymans  <wim@fluendo.com>
20488
20489         * gst/gstevent.h:
20490         * gst/gsturi.h:
20491         Fix docs.
20492
20493 2005-11-09  Wim Taymans  <wim@fluendo.com>
20494
20495         * docs/gst/gstreamer-sections.txt:
20496         Moved the message async delivery private lock and cond
20497         to the private section.
20498
20499         * gst/gstmessage.c:
20500         * gst/gstmessage.h:
20501         Fixed docs.
20502
20503 2005-11-09  Edward Hervey  <edward@fluendo.com>
20504
20505         * docs/gst/gstreamer-sections.txt:
20506         * gst/gsturi.c:
20507         * gst/gsturi.h:
20508         Document GstURIHandler
20509
20510 2005-11-09  Wim Taymans  <wim@fluendo.com>
20511
20512         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
20513         (gst_iterator_find_custom):
20514         * gst/gstiterator.h:
20515         Fix iterator docs.
20516
20517 2005-11-09  Wim Taymans  <wim@fluendo.com>
20518
20519         * gst/gstbin.h:
20520         Document another field.
20521
20522         * gst/gststructure.c:
20523         * gst/gststructure.h:
20524         Document.
20525
20526 2005-11-09  Wim Taymans  <wim@fluendo.com>
20527
20528         * gst/gstbin.h:
20529         Documented structs.
20530
20531 2005-11-09  Wim Taymans  <wim@fluendo.com>
20532
20533         * docs/gst/gstreamer-sections.txt:
20534         Added some new macros.
20535
20536         * gst/gstclock.c:
20537         * gst/gstclock.h:
20538         * gst/gstobject.h:
20539         Docs updates.
20540
20541 2005-11-09  Wim Taymans  <wim@fluendo.com>
20542
20543         * docs/design/part-TODO.txt:
20544         Some more items for the TODO
20545
20546         * gst/gstcaps.c:
20547         * gst/gstcaps.h:
20548         Document GstCaps.
20549
20550 2005-11-09  Andy Wingo  <wingo@pobox.com>
20551
20552         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
20553         to work on something else now tho...
20554
20555         * gst/base/gstadapter.c: More adapter docs.
20556
20557         * gst/elements/gstfilesink.c (gst_file_sink_start) 
20558         (gst_file_sink_stop): New functions, replace the state change
20559         handler.
20560         (gst_file_sink_class_init): Hook up the start and stop functions.
20561         (gst_file_sink_base_init): Don't set the state change handler any
20562         more. It was a bit ugly too, being set from here...
20563         (gst_file_sink_get_property, gst_file_sink_set_property):
20564         Cleanups...
20565         (gst_file_sink_set_location): More robust check that doesn't call
20566         GST_STATE. Ugggggg.
20567
20568 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
20569
20570         * gst/base/gstbasetransform.c: (gst_base_transform_event):
20571           Hold STREAM_LOCK while pushing newsegment or tag events as well.
20572
20573 2005-11-08  Wim Taymans  <wim@fluendo.com>
20574
20575         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20576         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
20577         (gst_base_sink_chain), (gst_base_sink_change_state):
20578         * gst/base/gstbasesink.h:
20579         * gst/base/gstbasesrc.h:
20580         * gst/gstelement.h:
20581         * gst/gstevent.h:
20582         Avoid excessive typechecking in macros.
20583
20584         * gst/gstminiobject.c: (gst_mini_object_get_type),
20585         (gst_mini_object_init), (gst_mini_object_new),
20586         (gst_mini_object_free):
20587         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
20588         (gst_object_finalize):
20589         Remove cruft code, optimize alloc_trace.
20590
20591 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20592
20593         * docs/faq/gst-uninstalled:
20594           fix up PS1 for systems that try to reset it
20595
20596 2005-11-07  Wim Taymans  <wim@fluendo.com>
20597
20598         * gst/base/gstbasesrc.c: (gst_base_src_init),
20599         (gst_base_src_get_range):
20600         Set the segment_end to -1 initially. Fixed typefind.
20601
20602 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
20603
20604         * gst/base/gstadapter.c:
20605           Debug category should be 'adapter', not 'GstAdapter'.
20606           
20607         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
20608         (gst_collectpads_class_init), (gst_collectpads_init),
20609         (gst_collectpads_peek), (gst_collectpads_pop),
20610         (gst_collectpads_event), (gst_collectpads_chain):
20611           Add debug category and some debugging output. Use boilerplate
20612           macros. Remove some extraneous words from docs.
20613
20614 2005-11-05  Andy Wingo  <wingo@pobox.com>
20615
20616         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
20617         macro.
20618
20619 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
20620
20621         * docs/gst/gstreamer-sections.txt:
20622         * gst/gstcaps.h:
20623         * gst/gstinfo.c:
20624         * gst/gstminiobject.h:
20625         * gst/gstobject.h:
20626         * gst/gstutils.h:
20627           more docs added
20628
20629 2005-11-04  Wim Taymans  <wim@fluendo.com>
20630
20631         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20632         Small update to stop at the configured segment_end
20633         position.
20634
20635 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
20636
20637         * gst/gstregistry.c:
20638         * gst/gstregistry.h:
20639           added missing docs
20640
20641 2005-11-04  Edward Hervey  <edward@fluendo.com>
20642
20643         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20644         Check if we are doing a segment seek and have arrived at the
20645         end of that segment.
20646
20647 2005-11-04  Wim Taymans  <wim@fluendo.com>
20648
20649         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
20650         Don't leak a mutex unlock in case of an error.
20651
20652         * gst/gstbus.h:
20653         Doc fixes.
20654
20655 2005-11-04  Wim Taymans  <wim@fluendo.com>
20656
20657         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
20658         (gst_bus_post):
20659         Get the context to wake up only once.
20660
20661 2005-11-03  Wim Taymans  <wim@fluendo.com>
20662
20663         * check/states/sinks.c: (GST_START_TEST):
20664         Uncomment fixed check.
20665
20666         * docs/design/part-TODO.txt:
20667         Updated TODO.
20668
20669         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20670         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
20671         (gst_base_sink_get_position):
20672         If we are going to PLAYING, post the right pending state
20673         when we post the intermediate paused message.
20674
20675         * gst/gstelement.c: (gst_element_continue_state),
20676         (gst_element_set_state_func), (gst_element_change_state):
20677         Don't post state changes that were between the same state
20678         and were not ASYNC.
20679
20680 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
20681
20682         * docs/gst/gstreamer-sections.txt:
20683         * gst/gstcaps.h:
20684         * gst/gstinfo.c:
20685         * gst/gstminiobject.h:
20686         * gst/gstobject.h:
20687         * gst/gstutils.h:
20688           more docs and doc style fixes
20689
20690 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
20691
20692         * docs/gst/gstreamer-sections.txt:
20693         * gst/gstelement.c:
20694         * gst/gstminiobject.c:
20695         doc fixes
20696
20697 2005-11-03  Andy Wingo  <wingo@pobox.com>
20698
20699         * check/states/sinks.c (test_livesrc_sink): Add checks that the
20700         state-changed messages actually have the right order and the right
20701         values.
20702
20703 2005-11-03  Wim Taymans  <wim@fluendo.com>
20704
20705         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
20706         Added some more checks. Specifically the case where NO_PREROLL
20707         elements are in the pipeline.
20708
20709         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20710         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
20711         (gst_base_sink_get_position):
20712         Post READY->PAUSED state change messages too.
20713         Fix bug where VOID was posted as pending state...
20714
20715         * gst/gstbin.c: (gst_bin_recalc_state):
20716         use _element_continue_state() to continue the state change.
20717
20718         * gst/gstelement.c: (gst_element_continue_state),
20719         (gst_element_commit_state), (gst_element_set_state_func),
20720         (gst_element_change_state), (gst_element_change_state_func):
20721         Lots of state change cleanups, assign the STATE_RETURN in
20722         a new continue_state() function that also propagates the
20723         last return value from a state change to the app.
20724         Update some debug statements with proper category.
20725
20726 2005-11-03  Wim Taymans  <wim@fluendo.com>
20727
20728         * docs/design/part-events.txt:
20729         * docs/design/part-gstpipeline.txt:
20730         * docs/design/part-messages.txt:
20731         * docs/design/part-overview.txt:
20732         * docs/design/part-seeking.txt:
20733         * docs/design/part-states.txt:
20734         * docs/design/part-trickmodes.txt:
20735         * docs/manual/advanced-position.xml:
20736         Small docs updates.
20737
20738         * gst/gstobject.h:
20739         People think !! is ugly, this looks better.
20740
20741         * gst/gstpad.c: (gst_pad_set_blocked_async):
20742         Remove !! since it's fixed elsewhere now.
20743
20744 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
20745
20746         * gst/gstminiobject.h:
20747         * gst/gstobject.h:
20748           Add !! to _FLAG_IS_SET macros to make the result boolean.
20749
20750 2005-11-03  Edward Hervey  <edward@fluendo.com>
20751
20752         * gst/gstpad.c: (gst_pad_set_blocked_async):
20753         comparing a flag and a gboolean rarely returns coherent results...
20754         Added two characters (!!) to make that work correctly.
20755         
20756 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
20757
20758         * gst/gstbus.c: (gst_bus_class_init):
20759           Fix some typos.
20760           
20761         * gst/gstqueue.c: (gst_queue_loop):
20762           Don't assume a miniobject that isn't a buffer is an
20763           event (it could be that there is a refcounting
20764           problem somewhere and the pointer is stale and
20765           refers to an already destroyed miniobject).
20766
20767 2005-11-03  Julien MOUTTE  <julien@moutte.net>
20768
20769         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
20770
20771 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
20772
20773         * docs/manual/advanced-position.xml:
20774           Update seek example and explanations to current 0.9 API.
20775
20776         * gst/elements/gsttypefindelement.c:
20777         (gst_type_find_element_activate):
20778           Remove FIXME comment now that the found caps
20779           are unreffed.
20780
20781 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20782
20783         * gst/gstregistryxml.c: (load_feature):
20784           Add another GST_STR_NULL instance
20785
20786 2005-11-02  Edward Hervey  <edward@fluendo.com>
20787
20788         * gst/gstpad.c: (handle_pad_block):
20789         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
20790         
20791 2005-11-02  Wim Taymans  <wim@fluendo.com>
20792
20793         * gst/gstbin.c:
20794         Fix typo in docs.
20795
20796         * gst/gstelement.c: (gst_element_commit_state):
20797         Remove unused value.
20798
20799         * gst/gstiterator.c:
20800         Mention that the returned element is reffed in the docs.
20801
20802 2005-11-02  Wim Taymans  <wim@fluendo.com>
20803
20804         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
20805         (gst_pad_push), (gst_pad_push_event):
20806         Unlock blocked pads when they are flushed.
20807
20808 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20809
20810         * docs/README:
20811         * docs/gst/gstreamer-sections.txt:
20812         * gst/gstbin.c:
20813           doc updates
20814         * gst/gstregistry.c: (gst_registry_scan_path_level):
20815           fix for a nasty little missed situation where an installed plug-in
20816           which was in the cache did not get overridden by an uninstalled one
20817           which was earlier in the plugin path because the newly created plugin
20818           for the uninstalled one (not in the registry) didn't get its
20819           ->registered set to TRUE
20820
20821 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
20822
20823         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
20824         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
20825         (gst_collectpads_is_active), (gst_collectpads_collect),
20826         (gst_collectpads_collect_range), (gst_collectpads_start),
20827         (gst_collectpads_stop), (gst_collectpads_peek),
20828         (gst_collectpads_pop), (gst_collectpads_available),
20829         (gst_collectpads_read), (gst_collectpads_flush):
20830           Guard public API with assertions.
20831         
20832         * gst/gstpad.c:
20833           Fix docs for gst_pad_set_link_function().
20834
20835 2005-11-02  Johan Dahlin  <johan@gnome.org>
20836
20837         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
20838         Unref found_caps after we used it.
20839
20840 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
20841
20842         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
20843           Don't try to ref NULL.
20844
20845 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20846
20847         * win32/common/config.h.in:
20848           provide a GST_FUNCTION that just gives a string for now
20849
20850 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20851
20852         * win32/common/gstenumtypes.c: (register_gst_object_flags),
20853         (gst_object_flags_get_type), (register_gst_bin_flags),
20854         (gst_bin_flags_get_type), (register_gst_buffer_flag),
20855         (gst_buffer_flag_get_type), (register_gst_bus_flags),
20856         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
20857         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
20858         (gst_clock_return_get_type), (register_gst_clock_entry_type),
20859         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
20860         (gst_clock_flags_get_type), (register_gst_state),
20861         (gst_state_get_type), (register_gst_state_change_return),
20862         (gst_state_change_return_get_type), (register_gst_state_change),
20863         (gst_state_change_get_type), (register_gst_element_flags),
20864         (gst_element_flags_get_type), (register_gst_core_error),
20865         (gst_core_error_get_type), (register_gst_library_error),
20866         (gst_library_error_get_type), (register_gst_resource_error),
20867         (gst_resource_error_get_type), (register_gst_stream_error),
20868         (gst_stream_error_get_type), (register_gst_event_type),
20869         (gst_event_type_get_type), (register_gst_seek_type),
20870         (gst_seek_type_get_type), (register_gst_seek_flags),
20871         (gst_seek_flags_get_type), (register_gst_format),
20872         (gst_format_get_type), (register_gst_index_certainty),
20873         (gst_index_certainty_get_type), (register_gst_index_entry_type),
20874         (gst_index_entry_type_get_type),
20875         (register_gst_index_lookup_method),
20876         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
20877         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
20878         (gst_index_resolver_method_get_type), (register_gst_index_flags),
20879         (gst_index_flags_get_type), (register_gst_debug_level),
20880         (gst_debug_level_get_type), (register_gst_debug_color_flags),
20881         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
20882         (gst_iterator_result_get_type), (register_gst_iterator_item),
20883         (gst_iterator_item_get_type), (register_gst_message_type),
20884         (gst_message_type_get_type), (register_gst_mini_object_flags),
20885         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
20886         (gst_pad_link_return_get_type), (register_gst_flow_return),
20887         (gst_flow_return_get_type), (register_gst_activate_mode),
20888         (gst_activate_mode_get_type), (register_gst_pad_direction),
20889         (gst_pad_direction_get_type), (register_gst_pad_flags),
20890         (gst_pad_flags_get_type), (register_gst_pad_presence),
20891         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
20892         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
20893         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
20894         (gst_plugin_error_get_type), (register_gst_plugin_flags),
20895         (gst_plugin_flags_get_type), (register_gst_rank),
20896         (gst_rank_get_type), (register_gst_query_type),
20897         (gst_query_type_get_type), (register_gst_tag_merge_mode),
20898         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
20899         (gst_tag_flag_get_type), (register_gst_task_state),
20900         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
20901         (gst_alloc_trace_flags_get_type),
20902         (register_gst_type_find_probability),
20903         (gst_type_find_probability_get_type), (register_gst_uri_type),
20904         (gst_uri_type_get_type), (register_gst_parse_error),
20905         (gst_parse_error_get_type):
20906         * win32/common/gstversion.h:
20907           update win32 copies
20908
20909 2005-11-01  Luca Ognibene  <luogni@tin.it>
20910
20911         * gst/gst.c:
20912           fix docs. popt is dead, long live GOption.
20913
20914 2005-10-31  Wim Taymans  <wim@fluendo.com>
20915
20916         * gst/gstbuffer.h:
20917         Small doc fix.
20918
20919 2005-10-31  Andy Wingo  <wingo@pobox.com>
20920
20921         * Boo!
20922
20923         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
20924
20925         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
20926         need to serialize property notifications on GLib 2.8. GLib 2.6 has
20927         the possibility of deadlocks here if code calling notify() or
20928         set() has a lock that can be taken in another notify handler (ABBA
20929         with class lock and e.g. python GIL state lock).
20930
20931 2005-10-28  Julien MOUTTE  <julien@moutte.net>
20932
20933         * gst/gstbus.c: Doc updates.
20934
20935 2005-10-28  Wim Taymans  <wim@fluendo.com>
20936
20937         * docs/design/part-TODO.txt:
20938         * gst/gstiterator.c:
20939         * gst/gstsystemclock.c:
20940         * gst/gstsystemclock.h:
20941         Doc updates.
20942
20943 2005-10-28  Edward Hervey  <edward@fluendo.com>
20944
20945         * docs/gst/gstreamer-docs.sgml:
20946         * docs/gst/gstreamer-sections.txt:
20947         the GstURIType documentation page is private, it only defines GstURIType
20948         which should be defined in the GstURIHandler page
20949         
20950 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20951
20952         * gst/gstbin.c: (gst_bin_class_init):
20953         * gst/gstbin.h:
20954         * gst/gstutils.c:
20955         Documentation updates.
20956
20957 2005-10-28  Wim Taymans  <wim@fluendo.com>
20958
20959         * docs/gst/gstreamer-sections.txt:
20960         * gst/gstclock.c:
20961         * gst/gstclock.h:
20962         Documented the clocks.
20963
20964 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
20965
20966         * docs/gst/gstreamer-sections.txt:
20967           move some macros to private sections
20968         * gst/gstminiobject.c:
20969         * gst/gstminiobject.h:
20970           add descriptions provided by ds and some more
20971         * gst/gstpad.h:
20972           mark macro as to be removed
20973
20974 2005-10-28  Wim Taymans  <wim@fluendo.com>
20975
20976         * docs/design/part-TODO.txt:
20977         Add an item to TODO.
20978
20979         * gst/gstiterator.c: (gst_iterator_fold),
20980         (gst_iterator_find_custom):
20981         * gst/gstiterator.h:
20982         Add iterator docs.
20983
20984 2005-10-28  Wim Taymans  <wim@fluendo.com>
20985
20986         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20987         (gst_base_transform_init):
20988         Don't leak class.
20989
20990         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
20991         An EOS event marks the queue as completely filled.
20992
20993 2005-10-27  Wim Taymans  <wim@fluendo.com>
20994
20995         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20996         (gst_base_sink_do_sync), (gst_base_sink_get_position):
20997         Some more debugging.
20998
20999         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
21000         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
21001         (gst_base_transform_event), (gst_base_transform_getrange),
21002         (gst_base_transform_chain):
21003         * gst/base/gstbasetransform.h:
21004         Fix debugging,
21005         Protect transform and concurrent buffer alloc with a new lock.
21006         Try not to break ABI/API.
21007
21008 2005-10-27  Wim Taymans  <wim@fluendo.com>
21009
21010         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21011         (gst_base_src_init), (gst_base_src_query),
21012         (gst_base_src_default_newsegment),
21013         (gst_base_src_configure_segment), (gst_base_src_do_seek),
21014         (gst_base_src_send_event), (gst_base_src_event_handler),
21015         (gst_base_src_pad_get_range), (gst_base_src_loop),
21016         (gst_base_src_unlock), (gst_base_src_default_negotiate),
21017         (gst_base_src_start), (gst_base_src_deactivate),
21018         (gst_base_src_activate_push), (gst_base_src_change_state):
21019         Move some stuff around and cleanup things.
21020
21021 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
21022
21023         * gst/base/gstbasesrc.c: (gst_base_src_query):
21024           Add missing break statements.
21025
21026 2005-10-27  Wim Taymans  <wim@fluendo.com>
21027
21028         * check/gst/gstbin.c: (GST_START_TEST):
21029         An extra refcount is taken in basesrc.
21030
21031         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
21032         (gst_base_src_get_range), (gst_base_src_pad_get_range),
21033         (gst_base_src_loop):
21034         Small cleanups, check for flushing after being unlocked from the 
21035         LIVE_LOCK. take refcounts correctly (not yet everywhere).
21036         Don't send out EOS when going to READY.
21037
21038 2005-10-27  Wim Taymans  <wim@fluendo.com>
21039
21040         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21041         (gst_base_sink_get_position):
21042         Some more debug.
21043
21044         * gst/gstbin.c: (message_check), (bin_replace_message),
21045         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21046         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21047         (bin_query_duration_init), (bin_query_duration_fold),
21048         (bin_query_duration_done), (bin_query_generic_fold),
21049         (gst_bin_query):
21050         * tools/gst-launch.c: (main):
21051         Remove old option.
21052
21053 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
21054
21055         * examples/controller/audio-example.c: (main):
21056         * examples/queue/queue.c: (event_loop):
21057         * gst/base/gstbasetransform.h:
21058         * gst/gstelement.c: (gst_element_send_event):
21059         * gst/gstevent.h:
21060         * gst/gstpad.c: (gst_pad_send_event):
21061           fixing examples
21062           fixing docs typos
21063           changing log priority in error situations
21064
21065 2005-10-25  Wim Taymans  <wim@fluendo.com>
21066
21067         * gst/gstbin.c: (message_check), (bin_replace_message),
21068         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21069         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21070         (bin_query_duration_init), (bin_query_duration_fold),
21071         (bin_query_duration_done), (bin_query_generic_fold),
21072         (gst_bin_query):
21073         Some doc and debug updates.
21074         Cache previously requested query DURATION for speed. invalidate
21075         cached duration if element posts a DURATION message.
21076
21077 2005-10-25  Wim Taymans  <wim@fluendo.com>
21078
21079         * docs/design/part-TODO.txt:
21080         Update TODO.
21081
21082         * gst/gstbin.c: (message_check), (bin_replace_message),
21083         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21084         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21085         (bin_query_duration_init), (bin_query_duration_fold),
21086         (bin_query_duration_done), (bin_query_generic_fold),
21087         (gst_bin_query):
21088         Handle SEGMENT_START/DONE messages correctly.
21089         More evolved query algorithm that handles duration queries
21090         correctly.
21091
21092         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
21093         (gst_element_get_state_func), (gst_element_abort_state),
21094         (gst_element_commit_state), (gst_element_lost_state):
21095         Some more debugging.
21096
21097         * gst/gstmessage.h:
21098         Added doc.
21099
21100 2005-10-25  Wim Taymans  <wim@fluendo.com>
21101
21102         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21103         Don't use invalid stream_time.
21104
21105         * gst/gstevent.c: (gst_event_new_newsegment):
21106         stream_time in newsegment cannot be undefined.
21107
21108 2005-10-24  Wim Taymans  <wim@fluendo.com>
21109
21110         * gst/gstbus.c:
21111         Doc fix.
21112
21113         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21114         (gst_queue_loop):
21115         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
21116
21117 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
21118
21119         * docs/libs/tmpl/gstdparam.sgml:
21120         * docs/libs/tmpl/gstdplinint.sgml:
21121         * docs/libs/tmpl/gstdpman.sgml:
21122         * docs/libs/tmpl/gstdpsmooth.sgml:
21123         * docs/libs/tmpl/gstunitconvert.sgml:
21124           these are obsolete
21125
21126 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21127
21128         * configure.ac:
21129           back to HEAD
21130
21131 === release 0.9.4 ===
21132
21133 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21134
21135         * configure.ac:
21136           releasing 0.9.4, "Tyrannosaurus Rex"
21137
21138 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
21139
21140         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
21141         (gst_file_sink_get_current_offset):
21142           Use fseeko() and ftello() if available. When falling back on
21143           lseek() to get the current offset, fflush() first to make sure
21144           everything is up-to-date and we get the right offset.
21145
21146 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21147
21148         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21149         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21150         * gst/gsterror.c: (_gst_stream_errors_init):
21151         * gst/gsterror.h:
21152         * gst/gstqueue.c: (gst_queue_loop):
21153         * po/POTFILES.in:
21154           remove prematurely added error category and clean up the instances
21155
21156 2005-10-21  Wim Taymans  <wim@fluendo.com>
21157
21158         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21159         (gst_base_sink_get_position), (gst_base_sink_query),
21160         (gst_base_sink_change_state):
21161         Simply set the right flag when going to playing, that's all
21162         we need to do instead of calling a function inside the object
21163         lock (that could take the lock as well and deadlock)
21164
21165 2005-10-21  Wim Taymans  <wim@fluendo.com>
21166
21167         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
21168         (gst_base_src_loop):
21169         Don't warn, the peer element knows what to do best when
21170         the seek failed, it might try something else.
21171
21172 2005-10-21  Wim Taymans  <wim@fluendo.com>
21173
21174         * gst/base/gstbasesrc.c: (gst_base_src_init),
21175         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21176         Fix seeking.
21177
21178 2005-10-21  Wim Taymans  <wim@fluendo.com>
21179
21180         * docs/design/part-segments.txt:
21181         More docs.
21182
21183         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
21184         Correctly set caps, even on the subbufer.
21185
21186 2005-10-21  Wim Taymans  <wim@fluendo.com>
21187
21188         * docs/gst/gstreamer-docs.sgml:
21189         * docs/gst/gstreamer-sections.txt:
21190         * gst/gstelement.h:
21191         * gst/gstevent.c:
21192         * gst/gstevent.h:
21193         * gst/gstmessage.h:
21194         * gst/gstpad.h:
21195         * gst/gstparse.h:
21196         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
21197         * gst/gsttask.h:
21198         * gst/gstutils.c:
21199         * gst/gstutils.h:
21200         And 2% more doc coverage.
21201
21202 2005-10-21  Andy Wingo  <wingo@pobox.com>
21203
21204         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
21205         position reporting.
21206
21207 2005-10-20  Wim Taymans  <wim@fluendo.com>
21208
21209         * gst/gsterror.c: (gst_error_get_message):
21210         * gst/gstparse.h:
21211         * gst/gstquery.h:
21212         * gst/gststructure.c:
21213         * gst/gsttrace.c:
21214         * gst/gstutils.c:
21215         More docs.
21216
21217 2005-10-20  Wim Taymans  <wim@fluendo.com>
21218
21219         * gst/gstbuffer.h:
21220         * gst/gstpad.c:
21221         * gst/gstparse.c:
21222         Another 1% more coverage.
21223
21224 2005-10-20  Wim Taymans  <wim@fluendo.com>
21225
21226         * docs/gst/gstreamer-sections.txt:
21227         * gst/gstelement.c: (gst_element_get_state_func),
21228         (gst_element_abort_state), (gst_element_commit_state),
21229         (gst_element_lost_state):
21230         * gst/gstevent.h:
21231         * gst/gstquery.c: (gst_query_set_position),
21232         (gst_query_parse_position), (gst_query_set_duration),
21233         (gst_query_parse_duration), (gst_query_new_convert):
21234         * gst/gstutils.c:
21235         Yay! 1% more docs coverage.
21236
21237 2005-10-20  Wim Taymans  <wim@fluendo.com>
21238
21239         * gst/gstpad.h:
21240         * gst/gstquery.c: (gst_query_set_position),
21241         (gst_query_parse_position), (gst_query_set_duration),
21242         (gst_query_parse_duration), (gst_query_new_convert):
21243         * gst/gstquery.h:
21244         * gst/gstutils.c: (gst_element_query_convert):
21245         * gst/gstutils.h:
21246         Docs and consistency fixes.
21247
21248 2005-10-20  Wim Taymans  <wim@fluendo.com>
21249
21250         * gst/gsttask.c:
21251         * gst/gsttask.h:
21252         More docs.
21253
21254 2005-10-20  Wim Taymans  <wim@fluendo.com>
21255
21256         * gst/gstbin.c: (message_check), (bin_replace_message),
21257         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21258         (update_degree), (gst_bin_sort_iterator_next),
21259         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
21260         Reworked the message handling a bit, cache the messages instead of
21261         only the senders. alows us to do more in the future.
21262
21263 2005-10-20  Wim Taymans  <wim@fluendo.com>
21264
21265         * docs/design/part-TODO.txt:
21266         Update TODO
21267
21268         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
21269         (gst_base_sink_query):
21270         Don't use clock time to report position when in EOS.
21271
21272 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
21273
21274         * tools/gst-inspect.c: (print_interfaces),
21275         (print_element_properties_info), (print_element_info):
21276           Fix interface output with gst-inspect -a; don't print
21277           newlines after double/float properties.
21278
21279 2005-10-20  Wim Taymans  <wim@fluendo.com>
21280
21281         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
21282         (gst_base_sink_query):
21283         Speed up current position calculation.
21284
21285         * gst/base/gstbasesrc.c: (gst_base_src_query),
21286         (gst_base_src_default_newsegment):
21287         Correctly set stream position in newsegment.
21288
21289         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
21290         (update_degree), (gst_bin_sort_iterator_next),
21291         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
21292         * gst/gstmessage.c: (gst_message_new_custom):
21293         Clean up debugging info
21294
21295         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
21296         (gst_queue_loop), (gst_queue_handle_src_query):
21297         Pause task faster.
21298
21299 2005-10-19  Wim Taymans  <wim@fluendo.com>
21300
21301         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21302         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
21303         Fix query handling again.
21304
21305 2005-10-19  Wim Taymans  <wim@fluendo.com>
21306
21307         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21308         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
21309         * gst/base/gstbasesrc.c: (gst_base_src_query):
21310         * gst/elements/gstfilesink.c: (gst_file_sink_query):
21311         * gst/elements/gsttypefindelement.c:
21312         (gst_type_find_handle_src_query), (find_element_get_length),
21313         (gst_type_find_element_activate):
21314         API change fix.
21315
21316         * gst/gstquery.c: (gst_query_new_position),
21317         (gst_query_set_position), (gst_query_parse_position),
21318         (gst_query_new_duration), (gst_query_set_duration),
21319         (gst_query_parse_duration), (gst_query_set_segment),
21320         (gst_query_parse_segment):
21321         * gst/gstquery.h:
21322         Bundling query position/duration is not a good idea since duration
21323         does not change much and we don't want to recalculate it for every
21324         position query, so they are separated again..
21325         Base value in segment query is not needed.
21326
21327         * gst/gstqueue.c: (gst_queue_handle_src_query):
21328         * gst/gstutils.c: (gst_element_query_position),
21329         (gst_element_query_duration), (gst_pad_query_position),
21330         (gst_pad_query_duration):
21331         * gst/gstutils.h:
21332         Updates for query API change.
21333         Added some docs here and there.
21334
21335 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21336
21337         * check/gst/gstbin.c: (GST_START_TEST):
21338         * check/gst/gstghostpad.c: (GST_START_TEST):
21339         * check/pipelines/cleanup.c: (GST_START_TEST):
21340           wait on thread to die so we can check refcount correctly
21341
21342 2005-10-18  Wim Taymans  <wim@fluendo.com>
21343
21344         * check/pipelines/stress.c: (GST_START_TEST):
21345         Make check a little more time consuming.
21346
21347 2005-10-18  Wim Taymans  <wim@fluendo.com>
21348
21349         * check/Makefile.am:
21350         * check/pipelines/stress.c: (GST_START_TEST),
21351         (simple_launch_lines_suite), (main):
21352         Small state change torture test.
21353
21354         * docs/design/part-states.txt:
21355         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21356         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
21357         (gst_base_sink_change_state):
21358         Never take state lock from streaming thread, clean up ugly
21359         hacks. Unfortunatly core does not yet support nice ways to
21360         async commit state.
21361         
21362         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
21363         (bin_bus_handler):
21364         Start state recalc if a STATE_DIRTY message is posted, but only
21365         on the toplevel bin.
21366
21367         * gst/gstelement.c: (gst_element_sync_state_with_parent),
21368         (gst_element_get_state_func), (gst_element_abort_state),
21369         (gst_element_commit_state), (gst_element_lost_state),
21370         (gst_element_set_state_func), (gst_element_change_state):
21371         * gst/gstelement.h:
21372         State variables are now protected with the LOCK, the state
21373         lock is only used to serialize _set_state().
21374
21375 2005-10-18  Wim Taymans  <wim@fluendo.com>
21376
21377         * check/gst/gstbin.c: (GST_START_TEST):
21378         * check/gst/gstmessage.c: (GST_START_TEST):
21379         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21380         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
21381         (bin_bus_handler):
21382         * gst/gstelement.c: (gst_element_abort_state),
21383         (gst_element_commit_state), (gst_element_lost_state):
21384         * gst/gstmessage.c: (gst_message_new_state_changed),
21385         (gst_message_new_state_dirty), (gst_message_new_segment_start),
21386         (gst_message_new_segment_done), (gst_message_new_duration),
21387         (gst_message_parse_state_changed),
21388         (gst_message_parse_segment_start),
21389         (gst_message_parse_segment_done), (gst_message_parse_duration):
21390         * gst/gstmessage.h:
21391         * tools/gst-launch.c: (event_loop):
21392         Seriously, this is better than a previous commit as we only need
21393         to notify the fact that an element changed state in a streaming
21394         thread, marking the state of the parents dirty, hence the 
21395         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
21396         message.
21397
21398 2005-10-18  Wim Taymans  <wim@fluendo.com>
21399
21400         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
21401         (gst_bin_recalc_func):
21402         * gst/gstelement.c: (gst_element_set_clock),
21403         (gst_element_abort_state), (gst_element_lost_state):
21404         Cleanups, prepare for state change fixes.
21405
21406 2005-10-18  Wim Taymans  <wim@fluendo.com>
21407
21408         * gst/gstbin.h:
21409         * gst/gstelement.c: (gst_element_class_init),
21410         (gst_element_set_state), (gst_element_set_state_func):
21411         * gst/gstelement.h:
21412         Pending ABI changes.
21413         GThreadPool in GstBinClass to monitor async state changes.
21414         state_cookie in GstElement to detect concurrent gst/set state.
21415         set_state is now virtual too in case a very complicated element
21416         has to be constructed.
21417
21418 2005-10-18  Wim Taymans  <wim@fluendo.com>
21419
21420         * check/gst/gstbin.c: (GST_START_TEST):
21421         * check/gst/gstmessage.c: (GST_START_TEST):
21422         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21423         * gst/gstbin.c: (bin_bus_handler):
21424         * gst/gstelement.c: (gst_element_commit_state),
21425         (gst_element_lost_state):
21426         * gst/gstmessage.c: (gst_message_new_state_changed),
21427         (gst_message_new_segment_start), (gst_message_new_segment_done),
21428         (gst_message_new_duration), (gst_message_parse_state_changed),
21429         (gst_message_parse_segment_start),
21430         (gst_message_parse_segment_done), (gst_message_parse_duration):
21431         * gst/gstmessage.h:
21432         * tools/gst-launch.c: (event_loop):
21433         Make messages future proof.
21434         state-change gets a flag if it was a message comming from the
21435         streaming thread.
21436         segment-start/stop can also be specified in other formats.
21437         A message to notify an app that a pipeline changed playback 
21438         duration.
21439         Also fix a GstMessage leak in -launch
21440
21441 2005-10-18  Andy Wingo  <wingo@pobox.com>
21442
21443         * gst/gstelement.c (gst_element_dispose): More helpful message.
21444
21445 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21446
21447         reviewed by: <delete if not using a buddy>
21448
21449         * common/gtk-doc.mak:
21450
21451 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21452
21453         * gst/gstregistry.c: (gst_registry_scan_path_level):
21454           unref a plug-in we get that was already initialized
21455
21456 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
21457
21458         * docs/gst/gstreamer-sections.txt:
21459         * docs/libs/gstreamer-libs-sections.txt:
21460         * gst/gstelement.h:
21461           add new api entries
21462           hide internal macro
21463
21464 2005-10-17  Andy Wingo  <wingo@pobox.com>
21465
21466         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
21467         cleanup.
21468
21469         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
21470
21471         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
21472
21473         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
21474         (gst_element_get_state_func): Better debug message.
21475         (gst_element_commit_state): s/INFO/DEBUG/.
21476         (gst_element_lost_state, gst_element_change_state): 
21477
21478         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
21479         (gst_message_new_custom): s/INFO/LOG/.
21480
21481 2005-10-17  Michael Smith <msmith@fluendo.com>
21482
21483         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21484           Check if end time is valid using end time, not start time.
21485
21486 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
21487
21488         * check/gst-libs/controller.c: (GST_START_TEST),
21489         (gst_controller_suite):
21490         * libs/gst/controller/gstcontroller.c:
21491         (gst_controlled_property_set_interpolation_mode):
21492         * libs/gst/controller/gstcontroller.h:
21493         * libs/gst/controller/gstinterpolation.c:
21494         * testsuite/controller/.cvsignore:
21495         * testsuite/controller/Makefile.am:
21496         * testsuite/controller/interpolator.c:
21497           merge controller testsuites
21498           fix broken tests
21499           remove mem-chunk from docs
21500
21501 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21502
21503         * gst/gstmemchunk.c:
21504         * gst/gstmemchunk.h:
21505         * gst/gsttrashstack.c:
21506         * gst/gsttrashstack.h:
21507           out.  get out.  you're fired.  to the Attic !
21508
21509 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21510
21511         * gst/gstcaps.c: (gst_caps_intersect):
21512           fix signedness issues in a (hopefully) correct way
21513         * gst/gstelement.c: (gst_element_pads_activate):
21514           some debugging
21515         * gst/gstobject.c: (gst_object_set_parent):
21516           some debugging
21517
21518 2005-10-17  Julien MOUTTE  <julien@moutte.net>
21519
21520         * gst/gstvalue.h: Fix prototypes.
21521
21522 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21523
21524         * docs/gst/gstreamer-sections.txt:
21525         * gst/gst.c: (gst_version_string):
21526         * gst/gst.h:
21527         * gst/gstversion.h.in:
21528         * win32/common/libgstreamer.def:
21529           add gst_version_string ()
21530
21531 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21532
21533         * configure.ac:
21534           clean up further
21535         * gst/gst.c: (init_post):
21536         * win32/common/config.h.in:
21537           it's PLUGINDIR now
21538         * gst/gstcaps.c: (gst_caps_intersect):
21539           use gint64, the range could be bigger than a guint
21540
21541 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21542
21543         * gst/gstclock.h:
21544           document potential problem in 2038
21545
21546 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21547
21548         * gst/gstcaps.c: (gst_caps_intersect):
21549           Fix guint j diving under 0
21550
21551 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21552
21553         * configure.ac:
21554         * win32/common/config.h:
21555         * win32/common/config.h.in:
21556           check for process.h, declares getpid() on Windows
21557         * gst/gstinfo.c:
21558           include process.h if we have it
21559         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
21560         * gst/gstmemchunk.h:
21561           fix signedness issues
21562         * win32/common/libgstreamer.def:
21563           fix get_type's
21564
21565 2005-10-16  Julien MOUTTE  <julien@moutte.net>
21566
21567         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
21568         fix. Because of unsigned ints, caps intersection was going nuts and
21569         trying to access structures with G_MAXUINT index. That fixes
21570         videotestsrc ! ffmpegcolorspace ! fakesink
21571         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
21572         consistency.
21573
21574 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21575
21576         * configure.ac:
21577           use the gettext macro
21578         * gst/elements/gstelements.c:
21579         * gst/gst.c:
21580         * gst/indexers/gstindexers.c:
21581           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
21582         * win32/common/config.h:
21583           updated config.h
21584         * win32/common/config.h.in:
21585           add the template to generate config.h
21586         * win32/common/gstenumtypes.c:
21587         * win32/common/gstversion.h:
21588           updated copies
21589
21590 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21591
21592         * gst/gst.c: (gst_version):
21593         * gst/gstversion.h.in:
21594           add the nano
21595
21596 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
21597
21598         * gst/gstevent.h:
21599           Oops, add missing closing bracket.
21600
21601 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21602
21603         * configure.ac:
21604           use common m4's for argument checking
21605
21606 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
21607
21608         * docs/gst/gstreamer-sections.txt:
21609         * gst/gstevent.h:
21610           Add GST_EVENT_TYPE_NAME() macro.
21611
21612 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21613
21614         * gst/gstinfo.c:
21615         * gst/gstpluginfeature.c:
21616         * gst/gsttask.c:
21617           privatize more symbols
21618
21619 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21620
21621         * configure.ac:
21622           add srcdir, builddir includes to GST_ALL_CFLAGS, since
21623           everything that uses GStreamer API should have the includes
21624
21625 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21626
21627         * docs/gst/gstreamer-sections.txt:
21628         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
21629         * gst/gstvalue.h:
21630           give each value a _get_type, removes the DATA exports
21631
21632 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21633
21634         * gst/gst.c:
21635         * gst/gst.h:
21636           remove _gst_registry_auto_load, not used anymore
21637         * gst/gstbin.c: (gst_bin_get_type):
21638         * gst/gstbin.h:
21639         * gst/gstelement.c: (gst_element_get_type):
21640         * gst/gstelement.h:
21641         * gst/gstobject.c: (gst_object_get_type):
21642         * gst/gstobject.h:
21643         * gst/gstpad.c: (gst_pad_get_type):
21644         * gst/gstpad.h:
21645           make _get_type functions similar, fixes data export from library
21646
21647 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21648
21649         * configure.ac:
21650           correctly make conditionals
21651         * gst/elements/Makefile.am:
21652         * gst/elements/gstelements.c:
21653           fix typo causing fdsrc not to build
21654
21655 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21656
21657         * testsuite/Makefile.am:
21658         * testsuite/bytestream/.cvsignore:
21659         * testsuite/bytestream/Makefile.am:
21660         * testsuite/bytestream/filepadsink.c:
21661         * testsuite/bytestream/gstbstest.c:
21662         * testsuite/bytestream/test1.c:
21663         * testsuite/bytestream/testfile1:
21664         * testsuite/caps/normalisation.c:
21665         * testsuite/caps/random.c: (main):
21666         * testsuite/cleanup/.cvsignore:
21667         * testsuite/cleanup/Makefile.am:
21668         * testsuite/cleanup/cleanup1.c:
21669         * testsuite/cleanup/cleanup2.c:
21670         * testsuite/cleanup/cleanup3.c:
21671         * testsuite/cleanup/cleanup4.c:
21672         * testsuite/cleanup/cleanup5.c:
21673         * testsuite/controller/interpolator.c:
21674         * testsuite/debug/printf_extension.c: (main):
21675         * testsuite/elements/tee.c:
21676         * testsuite/negotiation/.cvsignore:
21677         * testsuite/negotiation/Makefile.am:
21678         * testsuite/negotiation/pad_link.c:
21679         * testsuite/pad/Makefile.am:
21680         * testsuite/pad/chainnopull.c:
21681         * testsuite/pad/getnopush.c:
21682         * testsuite/pad/link.c:
21683         * testsuite/refcounting/sched.c: (create_pipeline):
21684         * testsuite/registry/Makefile.am:
21685         * testsuite/registry/gst-print-formats.c:
21686         * testsuite/schedulers/.cvsignore:
21687         * testsuite/schedulers/142183-2.c:
21688         * testsuite/schedulers/142183.c:
21689         * testsuite/schedulers/143777-2.c:
21690         * testsuite/schedulers/143777.c:
21691         * testsuite/schedulers/147713.c:
21692         * testsuite/schedulers/147819.c:
21693         * testsuite/schedulers/147894-2.c:
21694         * testsuite/schedulers/147894.c:
21695         * testsuite/schedulers/Makefile.am:
21696         * testsuite/schedulers/group_link.c:
21697         * testsuite/schedulers/queue_link.c:
21698         * testsuite/schedulers/relink.c:
21699         * testsuite/schedulers/unlink.c:
21700         * testsuite/schedulers/unref.c:
21701         * testsuite/schedulers/useless_iteration.c:
21702         * testsuite/states/bin.c:
21703           clean out/remove some stuff from the testsuite directories
21704
21705 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21706
21707         * configure.ac:
21708           check for some headers
21709         * gst/elements/Makefile.am:
21710         * gst/elements/gstelements.c:
21711           don't compile fdsrc without sys/socket.h
21712         * gst/indexers/Makefile.am:
21713         * gst/indexers/gstindexers.c: (plugin_init):
21714           don't compile fileindex without mmap
21715
21716 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21717
21718         * configure.ac:
21719           reorganize
21720           clean up
21721           document more
21722           remove cruft
21723         * check/Makefile.am:
21724         * docs/gst/Makefile.am:
21725         * examples/helloworld/Makefile.am:
21726         * gst/Makefile.am:
21727         * gst/base/Makefile.am:
21728         * gst/check/Makefile.am:
21729         * gst/elements/Makefile.am:
21730         * gst/indexers/Makefile.am:
21731         * gst/parse/Makefile.am:
21732         * libs/gst/controller/Makefile.am:
21733         * libs/gst/dataprotocol/Makefile.am:
21734         * examples/helloworld/helloworld.c: (event_loop):
21735           compile fixes, though it's not being compiled currently
21736
21737 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
21738
21739         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
21740           Add some simple tests for the new taglist date API.
21741
21742 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
21743
21744         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
21745         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
21746           Beautify 'last-message' output: print 'none' for buffer timestamps
21747           and durations if none is set; improve alignment with next messages.
21748
21749 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
21750
21751         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
21752         * gst/gstpluginfeature.h:
21753         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
21754         * gst/gstregistry.h:
21755         * docs/gst/gstreamer-sections.txt:
21756           Add new API to check plugin feature version requirements.
21757
21758         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
21759           Some basic tests for the above.         
21760
21761 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21762
21763         * gst/gststructure.c: (gst_structure_to_string):
21764           guard against NULL printf - happens when for example
21765           a message structure with GstClock gets serialized
21766
21767 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
21768
21769         * gst/base/gstcollectpads.c: (gst_collectpads_event):
21770           Fix presumable copy'n'pasto.
21771
21772 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21773
21774         * gst/elements/gstfakesrc.h:
21775         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
21776         * gst/elements/gsttypefindelement.c:
21777           fix some signedness
21778         * gst/elements/gstfilesink.c: (gst_file_sink_render):
21779           I wonder if this could actually write +2GB files before
21780
21781 2005-10-13  Andy Wingo  <wingo@pobox.com>
21782
21783         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
21784         Fix Timmeke Waymans bug.
21785         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
21786         string of the proper length to gst_caps_from_string. There's a
21787         potential for, before this fix, that this could cause someone
21788         connecting over the network to cause a segfault if the payload is
21789         not NUL-terminated.
21790
21791 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
21792
21793         * docs/design/draft-push-pull.txt:
21794         * docs/design/part-overview.txt:
21795         * docs/random/TODO-pre-0.9:
21796         * docs/random/old/ChangeLog.gstreamer:
21797         * gst/base/gstpushsrc.c:
21798         * gst/gstclock.c:
21799           fixed typos
21800
21801 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21802
21803         * gst/glib-compat.c: (gst_flags_get_first_value):
21804         * gst/glib-compat.h:
21805         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
21806         (gst_value_compare_double), (gst_value_serialize_flags):
21807           GLib 2.6 g_flags_get_first_value has a bug that triggers an
21808           infinite loop
21809
21810 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21811
21812         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21813         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21814           fix up debugging
21815         * tools/gst-launch.c: (event_loop):
21816           print out clock nicely
21817
21818 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
21819
21820         * docs/gst/gstreamer-sections.txt:
21821         * gst/gsttaglist.h:
21822         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
21823         (gst_tag_list_get_date_index):
21824           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
21825           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
21826
21827 2005-10-13  Julien MOUTTE  <julien@moutte.net>
21828
21829         * gst/base/gstcollectpads.c: (gst_collectpads_event),
21830         (gst_collectpads_chain):
21831         * gst/base/gstcollectpads.h: Handle newsegment and store informations
21832         in CollectData.
21833
21834 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
21835
21836         * docs/gst/gstreamer-sections.txt:
21837         * gst/gst.c:
21838         * gst/gsterror.h:
21839         * tools/gst-inspect.c: (main):
21840         * tools/gst-launch.c: (main):
21841         * tools/gst-run.c: (main):
21842         * tools/gst-xmlinspect.c: (main):
21843           fix GOption context leaks
21844           doc fixes
21845
21846 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21847
21848         * gst/gstbus.c:
21849           use HAVE_UNISTD_H
21850         * win32/common/config.h:
21851           update config
21852         * win32/vs6/grammar.dsp:
21853         * win32/vs6/libgstelements.dsp:
21854         * win32/vs6/libgstreamer.dsp:
21855           update vs6 files
21856
21857 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21858
21859         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21860         * gst/base/gstbasesrc.c: (gst_base_src_query):
21861           fix more guint64<->gdouble conversions
21862
21863 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21864
21865         * Makefile.am:
21866           add win32-update target
21867         * win32/common/gstconfig.h:
21868         * win32/common/gstenumtypes.c:
21869         * win32/common/gstenumtypes.h:
21870         * win32/common/gstversion.h:
21871           add files that visual studio can't generate
21872
21873 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21874
21875         * Makefile.am:
21876           add a win32-update target
21877         * configure.ac:
21878
21879 2005-10-12  Wim Taymans  <wim@fluendo.com>
21880
21881         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21882         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
21883         * gst/gstelement.c: (gst_element_commit_state),
21884         (gst_element_set_state):
21885         Protect flags with proper lock.
21886         unref provided cached clock in dispose.
21887
21888 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
21889
21890         * gst/gst.c:
21891         * gst/gstminiobject.h:
21892         * gst/gstpad.h:
21893         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
21894           removed unused flags from miniobject
21895           doc fixes
21896
21897 2005-10-12  Wim Taymans  <wim@fluendo.com>
21898
21899         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
21900         (gst_file_sink_event), (gst_file_sink_render):
21901         Flush before seeking.
21902
21903 2005-10-12  Andy Wingo  <wingo@pobox.com>
21904
21905         * gst/gst.c (gst_init_check): Ignore unknown options, as has
21906         always been the case.
21907
21908 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
21909
21910         * check/gst/gstbin.c: (GST_START_TEST):
21911         * docs/gst/gstreamer-sections.txt:
21912         * gst/base/gstbasesink.c: (gst_base_sink_init):
21913         * gst/base/gstbasesrc.c: (gst_base_src_init),
21914         (gst_base_src_get_range), (gst_base_src_check_get_range),
21915         (gst_base_src_start), (gst_base_src_stop):
21916         * gst/base/gstbasesrc.h:
21917         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
21918         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21919         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
21920         (bin_bus_handler):
21921         * gst/gstbin.h:
21922         * gst/gstbuffer.h:
21923         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
21924         * gst/gstbus.h:
21925         * gst/gstelement.c: (gst_element_is_locked_state),
21926         (gst_element_set_locked_state), (gst_element_commit_state),
21927         (gst_element_set_state):
21928         * gst/gstelement.h:
21929         * gst/gstindex.c: (gst_index_init):
21930         * gst/gstindex.h:
21931         * gst/gstminiobject.h:
21932         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
21933         (gst_object_set_parent):
21934         * gst/gstobject.h:
21935         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
21936         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
21937         * gst/gstpad.h:
21938         * gst/gstpadtemplate.h:
21939         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
21940         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
21941         * gst/gstpipeline.h:
21942         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21943         (gst_file_index_commit):
21944         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
21945         * testsuite/pad/link.c: (gst_test_src_init),
21946         (gst_test_filter_init), (gst_test_sink_init):
21947         * testsuite/states/locked.c: (main):
21948           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
21949           moved bitshift from macro to enum definition
21950
21951 2005-10-12  Wim Taymans  <wim@fluendo.com>
21952
21953         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
21954         * gst/elements/gstfilesink.c: (gst_file_sink_event),
21955         (gst_file_sink_render):
21956         Some more debugging info.
21957
21958 2005-10-12  Wim Taymans  <wim@fluendo.com>
21959
21960         * docs/design/part-states.txt:
21961         * tools/gst-launch.c: (main):
21962         Some doc updates.
21963         Revert non-intentional change.
21964
21965 2005-10-12  Wim Taymans  <wim@fluendo.com>
21966
21967         * check/gst/gstbin.c: (GST_START_TEST):
21968         * check/gst/gstelement.c: (GST_START_TEST):
21969         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
21970         * check/gst/gstghostpad.c: (GST_START_TEST):
21971         * check/gst/gstpipeline.c: (GST_START_TEST):
21972         * check/pipelines/simple_launch_lines.c: (run_pipeline):
21973         * check/states/sinks.c: (GST_START_TEST):
21974         * gst/elements/gsttypefindelement.c: (stop_typefinding):
21975         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21976         (gst_bin_remove_func), (gst_bin_get_state_func),
21977         (gst_bin_recalc_state), (gst_bin_change_state_func),
21978         (bin_bus_handler):
21979         * gst/gstelement.c: (gst_element_get_state_func),
21980         (gst_element_get_state), (gst_element_abort_state),
21981         (gst_element_commit_state), (gst_element_set_state),
21982         (gst_element_change_state), (gst_element_change_state_func):
21983         * gst/gstelement.h:
21984         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
21985         (gst_pipeline_provide_clock_func):
21986         * gst/gstutils.c: (gst_element_link_pads_filtered):
21987         * tools/gst-launch.c: (main):
21988         * tools/gst-typefind.c: (main):
21989         Use GstClockTime in _get_state() instead of GTimeVal.
21990         Remove old code in gstutils.c
21991
21992 2005-10-12  Andy Wingo  <wingo@pobox.com>
21993
21994         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
21995         removed.
21996
21997         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
21998         there is no task. Shouldn't affect any code, as nothing in our
21999         plugins checks this return value.
22000         (gst_pad_stop_task): Also take the stream lock if the pad has no
22001         task. Docs updated.
22002
22003 2005-10-12  Wim Taymans  <wim@fluendo.com>
22004
22005         * gst/gstpad.c: (pre_activate), (post_activate),
22006         (gst_pad_activate_pull), (gst_pad_activate_push):
22007         Cleanup activation code. Reset old state if
22008         activation failed.
22009
22010 2005-10-12  Wim Taymans  <wim@fluendo.com>
22011
22012         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22013         (gst_base_sink_change_state):
22014         No need to prerol after receiving EOS.
22015
22016         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22017         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
22018         * gst/elements/gstidentity.c: (gst_identity_event):
22019         Print events more verbosely.
22020
22021 2005-10-12  Wim Taymans  <wim@fluendo.com>
22022
22023         * check/Makefile.am:
22024         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22025         * check/states/sinks2.c:
22026         Moved sinks2 testcode in sinks check.
22027
22028         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22029         (gst_bin_remove_func), (gst_bin_recalc_state),
22030         (gst_bin_change_state_func), (bin_bus_handler):
22031         Fix potential race condition when _get_state() iterated over an
22032         ASYNC element right before it posted a state completion.
22033
22034         * gst/gstclock.h:
22035         Do proper cast here.
22036
22037         * gst/gstevent.c: (gst_event_new_newsegment),
22038         (gst_event_parse_newsegment):
22039         A playback rate of 0.0 is not allowed.
22040
22041 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22042
22043         * win32/common/config.h:
22044         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
22045         (_trewinddir), (_ttelldir), (_tseekdir):
22046         * win32/common/dirent.h:
22047         * win32/common/gtchar.h:
22048         * win32/common/libgstbase.def:
22049         * win32/common/libgstreamer.def:
22050         * win32/vs6/grammar.dsp:
22051         * win32/vs6/gst_inspect.dsp:
22052         * win32/vs6/gst_launch.dsp:
22053         * win32/vs6/gstreamer.dsw:
22054         * win32/vs6/libgstbase.dsp:
22055         * win32/vs6/libgstelements.dsp:
22056         * win32/vs6/libgstreamer.dsp:
22057           Visual Studio 6 project files, and a new common directory.
22058           Phear.
22059
22060 2005-10-11  Wim Taymans  <wim@fluendo.com>
22061
22062         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22063         (gst_base_sink_do_sync), (gst_base_sink_query),
22064         (gst_base_sink_change_state):
22065         * gst/base/gstbasesink.h:
22066         Correctly parse newsegment info.
22067
22068 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22069
22070         * gst/gst.c: (init_post):
22071           split plugin paths correctly
22072
22073 2005-10-11  Wim Taymans  <wim@fluendo.com>
22074
22075         * check/gst/gstevent.c: (GST_START_TEST):
22076         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22077         (gst_base_sink_change_state):
22078         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
22079         * gst/base/gstbasetransform.c: (gst_base_transform_event):
22080         * gst/elements/gstfilesink.c: (gst_file_sink_event):
22081         * gst/gstevent.c: (gst_event_new_newsegment),
22082         (gst_event_parse_newsegment):
22083         * gst/gstevent.h:
22084         Added extra flag to newsegment for future API freeze.
22085         Updated check and base elements.
22086
22087 2005-10-11  Julien MOUTTE  <julien@moutte.net>
22088
22089         * gst/base/gstcollectpads.c: (gst_collectpads_init),
22090         (gst_collectpads_add_pad), (gst_collectpads_pop),
22091         (gst_collectpads_event), (gst_collectpads_chain):
22092         * gst/base/gstcollectpads.h: Handle EOS correctly.
22093
22094 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22095
22096         * tools/gst-launch.c: (main):
22097           more null protecting
22098
22099 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22100
22101         * gst/gst-i18n-lib.h:
22102           check for ENABLE_NLS, not GETTEXT_PACKAGE
22103         * gst/gstregistry.c: (gst_registry_add_plugin),
22104         (gst_registry_scan_path_level),
22105         (_gst_registry_remove_cache_plugins):
22106           protect possibly NULL strings
22107         * gst/parse/types.h:
22108           config.h already included before
22109         * tools/gst-inspect.c: (main):
22110           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
22111           check for ENABLE_NLS, not GETTEXT_PACKAGE
22112         * tools/gst-launch.c: (main):
22113           check for ENABLE_NLS, not GETTEXT_PACKAGE
22114
22115 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22116
22117         * configure.ac:
22118           if we don't have glib, fail before testing 2.8
22119         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
22120           fix a leak, should fix plugins-base testsuite
22121
22122 2005-10-11  Andy Wingo  <wingo@pobox.com>
22123
22124         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
22125         take the mode we're going to as an arg. Go head and set the mode
22126         and flushing flags now, so that if the activate function starts a
22127         thread all the flags will be in the right state.
22128         (post_activate): Renamed also. Just handle making sure streaming
22129         finishes for the deactivation case, and setting the deactivated
22130         mode.
22131         (gst_pad_set_active): Complain loudly if deactivation fails.
22132         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
22133         (gst_pad_activate_push): Adapt to pre/post_activate changes,
22134         remove the terrible hack.
22135
22136 2005-10-11  Wim Taymans  <wim@fluendo.com>
22137
22138         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22139         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
22140         (gst_bin_recalc_state), (gst_bin_change_state_func),
22141         (gst_bin_dispose), (bin_bus_handler):
22142         * gst/gstbin.h:
22143         Prepare to make current EOS message queue more generic.
22144         Fix some typos.
22145
22146         * gst/gstevent.c: (gst_event_new_newsegment),
22147         (gst_event_parse_newsegment):
22148         * gst/gstevent.h:
22149         Rename base to stream_time.
22150
22151         * gst/gstmessage.h:
22152         Fix typo in docs.
22153
22154 2005-10-11  Wim Taymans  <wim@fluendo.com>
22155
22156         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22157         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
22158         (gst_bin_change_state_func), (bin_bus_handler):
22159         * gst/gstbin.h:
22160         Work on proper clock selection.
22161
22162 2005-10-11  Edward Hervey  <edward@fluendo.com>
22163
22164         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
22165         * libs/gst/controller/gstcontroller.h:
22166         Added GList* version of _remove_properties() in order to be able to wrap
22167         it in bindings.
22168
22169 2005-10-11  Wim Taymans  <wim@fluendo.com>
22170
22171         * docs/design/part-states.txt:
22172         Some more docs.
22173
22174         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
22175         (gst_bin_change_state_func), (bin_bus_handler):
22176         Doc updates. Don't distribute the same clock over and over again.
22177
22178         * gst/gstclock.c:
22179         * gst/gstclock.h:
22180         Doc updates.
22181
22182         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
22183         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
22184         (gst_pad_send_event):
22185         * gst/gstpad.h:
22186         Make probe emission threadsafe again.
22187         Register quarks and move _get_name() from utils.
22188         Doc updates.
22189
22190         * gst/gstpipeline.c: (gst_pipeline_class_init),
22191         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
22192         Only redistribute the clock of it changed.
22193
22194         * gst/gstsystemclock.h:
22195         Doc updates. 
22196
22197         * gst/gstutils.c:
22198         * gst/gstutils.h:
22199         Moved the _flow_get_name() to GstPad.
22200
22201 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22202
22203         * check/gst-libs/gdp.c: (GST_START_TEST):
22204         * check/gst/gstcaps.c: (GST_START_TEST):
22205         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
22206         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
22207         (gst_dp_packet_from_caps):
22208           fix more valgrind warnings before turning up the heat
22209
22210 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22211
22212         * gst/parse/grammar.y:
22213           some cleanup before the hacking
22214
22215 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22216
22217         * gst/base/gstbasesrc.c: (gst_base_src_query):
22218           use conversions
22219         * gst/gstutils.c: (gst_guint64_to_gdouble),
22220         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
22221         * gst/gstutils.h:
22222           externalize, basesrc uses it
22223           obviously the implementation needs testing
22224
22225 2005-10-10  Wim Taymans  <wim@fluendo.com>
22226
22227         * tests/sched/Makefile.am:
22228         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
22229         (make_pipeline3), (make_pipeline4), (print_elem), (main):
22230
22231 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22232
22233         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
22234           apparently converting from guint64 to double is not implemented
22235           on MSVC
22236
22237 2005-10-10  Wim Taymans  <wim@fluendo.com>
22238
22239         * check/Makefile.am:
22240         * check/generic/states.c: (GST_START_TEST):
22241         * check/gst/gstbin.c: (GST_START_TEST):
22242         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
22243         * check/states/sinks.c: (GST_START_TEST):
22244         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
22245         (main):
22246         Check fixes, use API as stated in design docs, remove hacks.
22247
22248         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22249         (gst_base_sink_change_state):
22250         Catch stopping our task while we're shutting down.
22251
22252         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
22253         (gst_bin_remove_func), (gst_bin_get_state_func),
22254         (gst_bin_recalc_state), (gst_bin_change_state_func),
22255         (bin_bus_handler):
22256         * gst/gstbin.h:
22257         * gst/gstelement.c: (gst_element_init),
22258         (gst_element_get_state_func), (gst_element_abort_state),
22259         (gst_element_commit_state), (gst_element_lost_state),
22260         (gst_element_set_state), (gst_element_change_state),
22261         (gst_element_change_state_func):
22262         * gst/gstelement.h:
22263         New state change algorithm (see #318116)
22264
22265         * gst/gstpipeline.c: (gst_pipeline_class_init),
22266         (gst_pipeline_init), (gst_pipeline_set_property),
22267         (gst_pipeline_get_property), (do_pipeline_seek),
22268         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
22269         * gst/gstpipeline.h:
22270         Remove crude state change hacks.
22271
22272         * gst/gstutils.h:
22273         Remove crude hacks.
22274
22275         * tools/gst-launch.c: (main):
22276         Fixes for state change. Needs some more work to fully use the
22277         new stuff.
22278
22279 2005-10-10  Andy Wingo  <wingo@pobox.com>
22280
22281         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
22282
22283         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
22284         this flag, but it's not even in GLib 2.6. Odd. Hack around the
22285         issue.
22286
22287 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
22288
22289         * gst/gstiterator.c: (gst_iterator_new):
22290           Fix my previous commit: GTypes passed to gst_iterator_new()
22291           can be fundamental types.
22292
22293 2005-10-10  Wim Taymans  <wim@fluendo.com>
22294
22295         * gst/gstelement.c: (gst_element_iterate_pad_list),
22296         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
22297         (gst_element_iterate_sink_pads):
22298         Use src/sink pads lists for the respective iterators instead
22299         of filtering.
22300
22301 2005-10-10  Andy Wingo  <wingo@pobox.com>
22302
22303         Merged in popt removal + GOption addition patch from Ronald, bug
22304         #169772.
22305
22306         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
22307         GstElement macros around, remove popt-related symbols, add goption
22308         stuff.
22309
22310         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
22311         
22312         * docs/gst/Makefile.am:
22313         * docs/libs/Makefile.am: No POPT_CFLAGS.
22314         
22315         * examples/manual/Makefile.am:
22316         * docs/manual/basics-init.xml: Doc updates with an example.
22317         
22318         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
22319         (gst_init), (parse_one_option), (parse_goption_arg):
22320         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
22321         bit of hand merging and debugging to get the GOption stuff working
22322         tho.
22323         
22324         * tests/Makefile.am:
22325         * tools/Makefile.am:
22326         * tools/gst-inspect.c: (main):
22327         * tools/gst-launch.c: (main):
22328         * tools/gst-run.c: (main):
22329         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
22330
22331 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
22332
22333         * gst/gstiterator.c: (gst_iterator_new):
22334           Add assertions to make sure passed GType is likely to really
22335           be a GType (as the compiler won't catch it if the size and
22336           GType arguments get mixed up, see #318447).
22337
22338 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
22339
22340         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
22341
22342         * gst/gstbin.c: (gst_bin_iterate_sorted):
22343           Pass GType and size arguments to gst_iterator_new() in the right
22344           order (maybe we should make _new() take the GType as first argument
22345           just like _new_list()?) (#318447).
22346           
22347
22348 2005-10-10  Wim Taymans  <wim@fluendo.com>
22349
22350         * gst/gstelement.c: (gst_element_finalize):
22351         And free the GStaticRecMutex too
22352
22353 2005-10-10  Andy Wingo  <wingo@pobox.com>
22354
22355         * gst/gstelement.c (gst_element_init, gst_element_finalize):
22356         Allocate and free the mutex properly.
22357
22358         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
22359         New macros.
22360         (GstElement): The state_lock is now recursive. Rebuild your
22361         plugins, suckers. Old macros adapted.
22362
22363         * docs/gst/gstreamer-sections.txt: Doc updates.
22364
22365         * gst/gstutils.h:
22366         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
22367         (g_static_rec_cond_wait): Ported from state changes patch, while
22368         we wait on bug #317802 to be solved in a well-distributed GLib.
22369
22370         * gst/gstelement.c (gst_element_change_state_func): Renamed from
22371         gst_element_change_state, variable name changes.
22372         (gst_element_change_state): Split out of gst_element_set_state in
22373         preparation for the state change merge. Doesn't pay attention to
22374         the 'transition' argument.
22375         (gst_element_set_state): Updates, hopefully purely cosmetic.
22376         (gst_element_sync_state_with_parent): MT-safety. Ported from the
22377         state change patch.
22378         (gst_element_get_state_func): Renamed from get_state, cosmetic
22379         changes.
22380
22381 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22382
22383         * gst/elements/gstelements.c:
22384         * win32/GStreamer.vcproj:
22385         * win32/config.h:
22386         * win32/dirent.c: (_tseekdir):
22387         * win32/gst-inspect.vcproj:
22388         * win32/gst-launch.vcproj:
22389         * win32/gstconfig.h:
22390         * win32/gstelements.vcproj:
22391         * win32/gstenumtypes.c: (gst_object_flags_get_type):
22392         * win32/gstreamer.def:
22393         * win32/msvc71.sln:
22394           updates for the win32 build (patch from Sebastien Moutte)
22395
22396 2005-10-10  Andy Wingo  <wingo@pobox.com>
22397
22398         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
22399         gst_bin_get_state, cleaned up (but no logic changes).
22400         (bin_element_is_sink): Comment updates.
22401         (sink_iterator_filter): Remove needless cast.
22402         (gst_bin_iterate_sinks): Doc update.
22403         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
22404         cleaned up (but no logic changes).
22405
22406         * check/states/sinks.c (test_src_sink): Cleanups from the state
22407         change patch.
22408         (test_livesrc_sink): Sync on the state.
22409
22410         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
22411         the state change patch.
22412
22413         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
22414         change patch.
22415
22416         * check/gst/gstbin.c: Merge in some style fixes and additional
22417         checks from Wim's state change patch.
22418
22419 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
22420
22421         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22422         (gst_type_find_helper):
22423           Check whether we have the requested data already in our list of
22424           cached buffers before pulling a new buffer; also make the buffer
22425           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
22426
22427 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22428
22429         * gst/gstcaps.c:
22430         * gst/gstevent.c:
22431           doc updates
22432         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
22433           don't use long long, it's not portable.  Replacing with
22434           gint64 seems to work; let's hope no skeletons fall out of the closet.
22435
22436 2005-10-10  Andy Wingo  <wingo@pobox.com>
22437
22438         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
22439
22440 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
22441
22442         * docs/gst/gstreamer-sections.txt:
22443         * gst/gstevent.c:
22444         * gst/gstevent.h:
22445         * gst/gstinfo.c:
22446         * gst/gstinfo.h:
22447         * gst/gstmessage.c: (gst_message_parse_state_changed):
22448         * gst/gstpad.c:
22449         * gst/gstpad.h:
22450           more docs, fix compilation
22451
22452 2005-10-09  Philippe Khalaf <burger@speedy.org>
22453         * gst/gstmessage.c:
22454           Fixed a few forgotten variables on previous commit
22455
22456 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
22457
22458         * gst/base/gsttypefindhelper.c: (helper_find_peek):
22459           Fix evil typefind crasher: getrange() might return a short
22460           buffer at the end of a file, but gst_type_find_peek() must
22461           either return the full data as requested or NULL, but
22462           never a short buffer.
22463
22464 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22465
22466         * gst/gstmessage.c: (gst_message_new_state_changed),
22467         (gst_message_parse_state_changed):
22468         * gst/gstmessage.h:
22469           don't use "new", it's a C++ keyword
22470
22471 2005-10-08  Wim Taymans  <wim@fluendo.com>
22472
22473         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
22474         * gst/gstelement.c: (gst_element_post_message):
22475         * gst/gstpipeline.c: (gst_pipeline_change_state):
22476         Small docs and debug updates.
22477
22478 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
22479
22480         * docs/gst/gstreamer-sections.txt:
22481         * gst/gstelementfactory.c:
22482         * gst/gstevent.c:
22483         * gst/gsttaglist.c:
22484           more docs
22485
22486 2005-10-08  Wim Taymans  <wim@fluendo.com>
22487
22488         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
22489         (gst_bin_dispose), (bin_bus_handler):
22490         Fix typos, add comments.
22491         Clear EOS list when going to PAUSED from any direction and do it
22492         in a threadsafe way.
22493         Get base time in a threadsafe way too.
22494         Fix confusing debug in the change_state function.
22495         Various other small cleanups.
22496         
22497         * gst/gstelement.c: (gst_element_post_message):
22498         Fix very verbose bus posting code.
22499
22500         * gst/gstpipeline.c: (gst_pipeline_class_init),
22501         (gst_pipeline_set_property), (gst_pipeline_get_property),
22502         (gst_pipeline_change_state):
22503         Small ARG_ -> PROP_ cleanup
22504
22505 2005-10-08  Wim Taymans  <wim@fluendo.com>
22506
22507         * gst/gstbin.c: (is_eos), (bin_bus_handler):
22508         Do a less CPU demanding EOS check because we can.
22509
22510 2005-10-08  Wim Taymans  <wim@fluendo.com>
22511
22512         * libs/gst/dataprotocol/dataprotocol.c:
22513         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
22514         (gst_dp_packet_from_event):
22515         * libs/gst/dataprotocol/dataprotocol.h:
22516         * libs/gst/dataprotocol/dp-private.h:
22517         It's about time we bump the version number.
22518         Since event types don't fit in the guint8 anymore describing
22519         the payload type, make payload type 16 bits wide.
22520
22521 2005-10-08  Wim Taymans  <wim@fluendo.com>
22522
22523         * docs/design/part-TODO.txt:
22524         * docs/design/part-clocks.txt:
22525         * docs/design/part-events.txt:
22526         * docs/design/part-gstbin.txt:
22527         * docs/design/part-gstelement.txt:
22528         * docs/design/part-gstpipeline.txt:
22529         * docs/design/part-live-source.txt:
22530         * docs/design/part-messages.txt:
22531         * docs/design/part-overview.txt:
22532         * docs/design/part-states.txt:
22533         Many doc updates.
22534
22535 2005-10-08  Wim Taymans  <wim@fluendo.com>
22536
22537         * gst/gstevent.c:
22538         * gst/gstevent.h:
22539         Fix event quark registration.
22540         Add some space between events so we can insert them in the
22541         right groups.
22542
22543 2005-10-08  Wim Taymans  <wim@fluendo.com>
22544
22545         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22546         (gst_base_sink_handle_buffer):
22547         Better log message.
22548
22549         * gst/gstbus.h:
22550         * gst/gstelement.h:
22551         More docs.
22552
22553         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22554         (gst_queue_set_property), (gst_queue_get_property):
22555         * gst/gstqueue.h:
22556         Remove old unused properties.
22557
22558 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
22559         * docs/gst/gstreamer-sections.txt:
22560         * gst/gstmessage.c:
22561         * gst/gstmessage.h:
22562         * gst/gstminiobject.c:
22563         * gst/gstminiobject.h:
22564         * gst/gstobject.h:
22565         * gst/gstpad.h:
22566         * gst/gstutils.h:
22567           lots of new docs and doc fixes
22568
22569 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22570
22571         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
22572         * gst/gstplugin.h:
22573         * gst/gstregistry.c: (gst_registry_lookup_locked),
22574         (gst_registry_scan_path_level):
22575         * gst/gstregistryxml.c: (load_plugin):
22576           Only ever load one plugin for a given plugin basename.
22577           This ensures correct overriding of GST_PLUGIN_PATH over
22578           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
22579           system installed plugins.
22580
22581 2005-10-08  Wim Taymans  <wim@fluendo.com>
22582
22583         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22584         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
22585         Prepare for doing QOS.
22586
22587 2005-10-08  Wim Taymans  <wim@fluendo.com>
22588
22589         * check/gst/gstbin.c: (GST_START_TEST):
22590         * check/pipelines/cleanup.c: (GST_START_TEST):
22591         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22592         Allow new clock message too.
22593
22594 2005-10-08  Wim Taymans  <wim@fluendo.com>
22595
22596         * gst/gstmessage.c: (gst_message_new_error),
22597         (gst_message_new_warning), (gst_message_new_tag),
22598         (gst_message_new_state_changed), (gst_message_new_clock_provide),
22599         (gst_message_new_clock_lost), (gst_message_new_new_clock),
22600         (gst_message_new_segment_start), (gst_message_new_segment_done),
22601         (gst_message_parse_state_changed),
22602         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
22603         (gst_message_parse_new_clock):
22604         * gst/gstmessage.h:
22605         Also carry the clock in question.
22606
22607 2005-10-08  Wim Taymans  <wim@fluendo.com>
22608
22609         * gst/gstmessage.c: (gst_message_new_custom),
22610         (gst_message_new_eos), (gst_message_new_error),
22611         (gst_message_new_warning), (gst_message_new_tag),
22612         (gst_message_new_state_changed), (gst_message_new_clock_provide),
22613         (gst_message_new_new_clock), (gst_message_new_segment_start),
22614         (gst_message_new_segment_done), (gst_message_parse_state_changed),
22615         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
22616         * gst/gstmessage.h:
22617         Clean up.
22618         Added clock related messages.
22619
22620         * gst/gstpipeline.c: (gst_pipeline_change_state):
22621         Post message when the clock changed.
22622
22623         * tools/gst-launch.c: (event_loop):
22624         Print new clock.
22625
22626 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
22627
22628         * tools/gst-inspect.c: (print_element_properties_info):
22629           Can't pass NULL strings to g_print() on windows.
22630
22631 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22632
22633         * docs/Makefile.am:
22634         * docs/gst/Makefile.am:
22635         * docs/gst/gstreamer-docs.sgml:
22636         * docs/gst/running.xml:
22637         * docs/version.entities.in:
22638           add a chapter on running GStreamer.
22639           document GST_DEBUG and GST_PLUGIN* env vars
22640
22641 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22642
22643         * Makefile.am:
22644           remove include dir
22645         * configure.ac:
22646           remove PLUGINS_BUILDDIR stuff
22647         * gst/gst.c: (init_post):
22648           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
22649         * idiottest.mak:
22650           remove, it was condescending and not needed
22651
22652 2005-10-08  Wim Taymans  <wim@fluendo.com>
22653
22654         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
22655         (gst_base_sink_handle_object), (gst_base_sink_event),
22656         (gst_base_sink_wait), (gst_base_sink_handle_event),
22657         (gst_base_sink_change_state):
22658         * gst/base/gstbasesink.h:
22659         Repost EOS message while going to PLAYING if still EOS.
22660         Make sure that when receiving a FLUSH_START we don't attempt
22661         to sync on the clock anymore.
22662
22663 2005-10-08  Wim Taymans  <wim@fluendo.com>
22664
22665         * tools/gst-launch.c: (event_loop):
22666         Better message printout.
22667
22668 2005-10-08  Wim Taymans  <wim@fluendo.com>
22669
22670         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
22671         (gst_bin_child_proxy_get_children_count):
22672         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
22673         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
22674         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
22675         (gst_child_proxy_set_valist):
22676         * gst/parse/grammar.y:
22677         Make ChildProxy threadsafe and fix mem leaks.
22678
22679 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22680
22681         * gst/gst.c: (init_post):
22682           debug the GST_PLUGIN_ env vars
22683
22684 2005-10-08  Wim Taymans  <wim@fluendo.com>
22685
22686         * check/gst/gstbin.c: (GST_START_TEST):
22687         * check/gst/gstmessage.c: (GST_START_TEST):
22688         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22689         * gst/gstelement.c: (gst_element_commit_state),
22690         (gst_element_lost_state):
22691         * gst/gstmessage.c: (gst_message_new_state_changed),
22692         (gst_message_parse_state_changed):
22693         * gst/gstmessage.h:
22694         * tools/gst-launch.c: (event_loop):
22695         Added extra field to STATE_CHANGE message with the pending
22696         state, which will be different from the new state soon.
22697
22698 2005-10-08  Wim Taymans  <wim@fluendo.com>
22699
22700         * gst/gstbus.c: (gst_bus_pop):
22701         * gst/gstclock.c:
22702         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
22703         Small cleanups and doc updates.
22704
22705 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22706
22707         * gst/gst.c: (init_pre):
22708         * gst/gstbin.c: (gst_bin_add_func):
22709           log distributing clocks and base time
22710         * gst/gstregistry.c: (gst_registry_add_plugin),
22711         (gst_registry_scan_path_level), (gst_registry_scan_path):
22712           clean up the debugging output a little
22713         * gst/gstutils.c: (gst_element_state_get_name):
22714           warn about a memleak (I've actually seen this be used, though
22715           it was probably a bug)
22716
22717 2005-10-07  Wim Taymans  <wim@fluendo.com>
22718
22719         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22720         (gst_base_src_init), (gst_base_src_default_newsegment),
22721         (gst_base_src_newsegment), (gst_base_src_do_seek),
22722         (gst_base_src_loop), (gst_base_src_start):
22723         * gst/base/gstbasesrc.h:
22724         Make the newsegment event customizable by subclasses.
22725
22726 2005-10-07  Wim Taymans  <wim@fluendo.com>
22727
22728         * gst/gstevent.c: (gst_event_new_buffersize),
22729         (gst_event_parse_buffersize):
22730         * gst/gstevent.h:
22731         New event for future idea.
22732
22733 2005-10-07  Andy Wingo  <wingo@pobox.com>
22734
22735         * gst/gstelement.c (gst_element_post_message): Doc update.
22736
22737         * docs/gst/gstreamer-sections.txt: Update.
22738
22739         * gst/gstmessage.c (gst_message_new_application): Made into a
22740         function like honest API calls.
22741         (gst_message_new_element): New message type.
22742
22743         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
22744
22745         * check/elements/fakesrc.c (test_no_preroll): New check, checks
22746         that setting a live fakesrc to PAUSED returns NO_PREROLL both
22747         times.
22748
22749         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
22750         NO_PREROLL from gst_element_change_state to fall through.
22751
22752 2005-10-07  Wim Taymans  <wim@fluendo.com>
22753
22754         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
22755         (gst_ghost_pad_do_activate_push):
22756         Activating a ghostpad with no internal pad in push mode
22757         is ok.
22758
22759 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22760
22761         * gst/gstobject.h:
22762           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
22763           Fixes compilation on Windows.
22764
22765 2005-10-07  Michael Smith <msmith@fluendo.com>
22766
22767         * tools/gst-inspect.c:
22768           Print out feature and plugin count at the end when printing out
22769           all features.
22770
22771 2005-10-04  Michael Smith <msmith@fluendo.com>
22772
22773         * gst/gsterror.c: (_gst_stream_errors_init):
22774           Add another error string used in a few existing plugins.
22775
22776         * gst/gstplugin.c:
22777         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
22778         * tools/gst-inspect.c: (print_element_info):
22779           When a feature disappears from a plugin (and the feature exists in
22780           the cached registry file), things went horribly wrong. This isn't a
22781           complete fix, we should actually be removing the 'missing' features
22782           from the features list when we load the actual plugin. That's not
22783           yet implemented. 
22784
22785 2005-10-04  Johan Dahlin  <johan@gnome.org>
22786
22787         * check/gst/gstiterator.c: (GST_START_TEST):
22788         * gst/gstbin.c: (gst_bin_iterate_elements),
22789         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
22790         * gst/gstelement.c: (gst_element_iterate_pads):
22791         * gst/gstformat.c: (gst_format_iterate_definitions):
22792         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22793         (gst_iterator_new_list), (gst_iterator_filter):
22794         * gst/gstiterator.h:
22795         * gst/gstquery.c: (gst_query_type_iterate_definitions):
22796         Add a GType to GstIterator, update callsites and tests.
22797
22798 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22799
22800         * gst/gstpad.c: (gst_pad_event_default_dispatch):
22801           give events a chance to be handled by event probes when the pad
22802           is not linked
22803
22804 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22805
22806         * gst/gstevent.c: (gst_event_type_get_name),
22807         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
22808         * gst/gstevent.h:
22809           add string representations for event types
22810
22811 2005-10-06  Wim Taymans  <wim@fluendo.com>
22812
22813         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
22814         Don't use NULL pointers.
22815
22816 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22817
22818         * gst/gst_private.h:
22819         * gst/gstbus.c:
22820         * gst/gstelement.c:
22821         * gst/gstinfo.c:
22822         * gst/gstpluginfeature.c:
22823           widen the debug category in output to fit the biggest one we have
22824           add a bus category and use it
22825           play with the colors
22826           fix up some categories
22827
22828 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22829
22830         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
22831           add push activation of sink ghost pads.
22832           Andye, please verify
22833
22834 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
22835
22836         * gst/gstutils.c: (gst_element_link_pads):
22837           fix a bug in the case where neither element has a pad
22838         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22839           add a test for that case
22840
22841 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
22842
22843         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
22844           emit have-data before checking for peers.  This allows
22845           for probe handlers to connect elements.  This helps autopluggers.
22846         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
22847         (gst_pad_suite):
22848           add six checks, linked/unlinked with no/true/false probe
22849
22850 2005-10-04  Wim Taymans  <wim@fluendo.com>
22851
22852         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
22853         (gst_fake_sink_event), (gst_fake_sink_preroll),
22854         (gst_fake_sink_render), (gst_fake_sink_change_state):
22855         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
22856         (gst_fake_src_get_property), (gst_fake_src_create),
22857         (gst_fake_src_stop):
22858         * gst/elements/gstidentity.c: (gst_identity_stop):
22859         Protect last_message with lock.
22860
22861 2005-10-04  Edward Hervey  <edward@fluendo.com>
22862
22863         * gst/gstformat.h: 
22864         Added precision in the comments for GST_FORMAT_DEFAULT
22865
22866 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
22867
22868         * tools/gst-launch.c: (main):
22869           Don't try to run erroneous pipelines.
22870
22871 2005-10-04  Julien MOUTTE  <julien@moutte.net>
22872
22873         * gst/gstbus.c: We don't need this header.
22874
22875 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22876
22877         * configure.ac:
22878           back to development
22879
22880 === release 0.9.3 ===
22881
22882 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22883
22884         * README:
22885         * configure.ac:
22886           Releasing 0.9.3, "Unregistered"
22887
22888 2005-10-03  Andy Wingo  <wingo@pobox.com>
22889
22890         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
22891         whereby calling a pad's activatepush() function can start a thread
22892         that starts to push or pull before the pad gets the FLUSHING flag
22893         unset. Hack around it by holding the stream lock until the flag is
22894         set. Need to replace this with a proper solution. Together with
22895         the ghost pad fixes, this fixes mp3 playing/tagreading.
22896
22897         * docs/design/part-gstghostpad.txt: Add a note about activation of
22898         proxy pads outside of ghost pads.
22899
22900         * gst/gstghostpad.c: Implement the ghost pad activation design.
22901
22902 2005-10-02  Andy Wingo  <wingo@pobox.com>
22903
22904         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
22905         It is volatile, after all.
22906
22907         * docs/design/part-gstghostpad.txt: Flesh out activation with
22908         ghost pads.
22909
22910         * gst/base/gstbasesrc.c (gst_base_src_init): Use
22911         GST_DEBUG_FUNCPTR.
22912
22913 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
22914
22915         * configure.ac:
22916           Fix (unused) AM_CONDITIONAL tests.
22917
22918 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
22919
22920         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
22921
22922         * gst/gstutils.c: (gst_pad_query_convert):
22923           Add assertion that makes sure src_val is >=0, just like
22924           gst_query_new_convert() has. (#315895)
22925
22926 2005-09-30  Edward Hervey  <edward@fluendo.com>
22927
22928         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
22929         Let's not iterate pads we're not interested in, it avoids getting 
22930         sky-high refcounts on sinkpad.
22931
22932 2005-09-30  Wim Taymans  <wim@fluendo.com>
22933
22934         * gst/gstelement.c: (gst_element_set_state),
22935         (gst_element_change_state):
22936         Small tweak, element in ASYNC remains ASYNC.
22937
22938 2005-09-30  Wim Taymans  <wim@fluendo.com>
22939
22940         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
22941         Only error is an error.
22942
22943         * gst/gstbin.c: (gst_bin_change_state):
22944         Better debugging.
22945
22946         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
22947         Also call pad_block in pad alloc.
22948
22949         * gst/gstutils.c: (gst_flow_get_name):
22950         Better debugging.
22951
22952 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22953
22954         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22955         (gst_base_src_get_range):
22956           Fix documentation typos. Add some more debug info.
22957
22958 2005-09-29  David Schleef  <ds@schleef.org>
22959
22960         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
22961           more end-user friendly.
22962         * tools/gst-inspect.c: (main): Check if command-line argument is
22963           a file and attempt to load that file as a plugin.
22964
22965 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22966
22967         * check/gst/gstbin.c:
22968         * check/states/sinks.c:
22969           fix tests for the new warning
22970         * check/gst/gstpipeline.c:
22971           add a test for pipeline and bus interaction
22972         * gst/gstelement.c:
22973           elements should be NULL if they get disposed; add a warning if not
22974
22975 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22976
22977         * gst/gstobject.c:
22978           for 2.6 refcounting, make debug log more correct by printing
22979           the actual refcounts at the time of swap (Wim)
22980
22981 2005-09-29  Andy Wingo  <wingo@pobox.com>
22982
22983         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
22984         removes signal watches previously added via
22985         gst_bus_add_signal_watch.
22986         (gst_bus_add_signal_watch): Don't return the source id, just store
22987         it on the bus if there wasn't an id already.
22988
22989         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
22990         add_signal_watch and remove_signal_watch.
22991
22992 2005-09-29  Edward Hervey  <edward@fluendo.com>
22993
22994         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
22995         Better if we actually iterate the list :)
22996
22997 2005-09-29  Wim Taymans  <wim@fluendo.com>
22998
22999         * check/gst/gstbin.c: (GST_START_TEST):
23000         Change for new bus API.
23001
23002         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23003         (send_messages), (GST_START_TEST), (gstbus_suite):
23004         Change for new bus signal API.
23005
23006         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
23007         (gst_bus_source_prepare), (gst_bus_source_check),
23008         (gst_bus_create_watch), (gst_bus_add_watch_full),
23009         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
23010         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
23011         * gst/gstbus.h:
23012         Remove support for multiple GSources operating on different
23013         message types as it is too complex and unneeded when using
23014         signals.
23015         Added support for receiving signals from the bus.
23016
23017 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23018
23019         * docs/libs/tmpl/gstdataprotocol.sgml:
23020         * docs/manual/advanced-dataaccess.xml:
23021         * gst/elements/gstcapsfilter.c:
23022         * gst/gstutils.c:
23023           rename filter-caps to caps property
23024
23025 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23026
23027         * gst/gstvalue.c: (gst_value_deserialize_fraction):
23028           More robust fraction string parsing.
23029
23030         * docs/pwg/appendix-porting.xml:
23031           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
23032
23033 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23034
23035         * gst/gstcaps.c: (gst_caps_do_simplify):
23036           Thou shalt not free a structure and then continue using it
23037           in the next loop iteration.
23038
23039         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
23040         (gst_caps_suite):
23041           Add test case for caps simplification.
23042
23043 2005-09-29  Wim Taymans  <wim@fluendo.com>
23044
23045         * check/gst/gstbin.c: (GST_START_TEST):
23046         Oops.
23047
23048 2005-09-29  Wim Taymans  <wim@fluendo.com>
23049
23050         * check/gst/gstbin.c: (GST_START_TEST):
23051         Add bus to bin.
23052
23053         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
23054         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23055         (find_element), (gst_bin_sort_iterator_next),
23056         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23057         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23058         (gst_bin_change_state), (gst_bin_dispose):
23059         A bin does not have a bus, it gets the bus from the parent.
23060
23061         * gst/gstelement.c: (gst_element_requires_clock),
23062         (gst_element_provides_clock), (gst_element_is_indexable),
23063         (gst_element_is_locked_state), (gst_element_change_state),
23064         (gst_element_set_bus_func):
23065         Small cleanups.
23066
23067         * gst/gstpipeline.c: (gst_pipeline_class_init),
23068         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
23069         The pipeline provides a bus.
23070
23071 2005-09-28  Johan Dahlin  <johan@gnome.org>
23072
23073         * gst/gstmessage.c (gst_message_parse_state_changed): Use
23074         gst_structure_get_enum instead of gst_structure_get_int
23075
23076         * gst/gststructure.c (gst_structure_get_enum): Impl.
23077
23078         * gst/gststructure.h (gst_structure_get_enum): Add
23079
23080         * docs/gst/gstreamer-sections.txt: Ditto
23081
23082         * gst/gstmessage.c (gst_message_new_state_changed): Use
23083         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
23084         which does introspection.
23085         Reviewed by Christian Schaller
23086
23087 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
23088
23089         * gst/gstinfo.c: (gst_debug_log_default):
23090           don't do dummy g_strdup()s
23091         * libs/gst/controller/gstcontroller.c:
23092         (on_object_controlled_property_changed),
23093         (gst_controlled_property_new), (gst_controller_new_valist),
23094         (gst_controller_new_list),
23095         (gst_controller_remove_properties_valist), (gst_controller_set),
23096         (gst_controller_get), (gst_controller_sync_values),
23097         (gst_controller_get_value_array), (_gst_controller_class_init),
23098         (gst_controller_get_type):
23099         * libs/gst/controller/gstcontroller.h:
23100         * libs/gst/controller/gstinterpolation.c:
23101         (gst_controlled_property_find_timed_value_node):
23102           convert // to /**/ comments
23103
23104 2005-09-28  Wim Taymans  <wim@fluendo.com>
23105
23106         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
23107         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
23108         (gst_bus_sync_signal_handler):
23109         * gst/gstbus.h:
23110         Added async-message and sync-message signals to the bus.
23111         Added helper BusFunc to emit signals for all posted messages.
23112
23113         * gst/gstmessage.c: (gst_message_type_get_name),
23114         (gst_message_type_to_quark), (gst_message_get_type):
23115         * gst/gstmessage.h:
23116         Register quarks for message names.
23117
23118 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
23119
23120         * docs/libs/gstreamer-libs-sections.txt:
23121         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
23122         (gst_controller_new_list):
23123         * libs/gst/controller/gstcontroller.h:
23124           added another constructor for language bindings
23125
23126 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
23127
23128         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23129           add another check
23130         * gst/gstbus.c:
23131           add some doc
23132         * gst/gstinfo.c: (_gst_debug_init):
23133           slightly more readable color for refcount debugging
23134
23135 2005-09-28  Wim Taymans  <wim@fluendo.com>
23136
23137         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
23138         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23139         (find_element), (gst_bin_sort_iterator_next),
23140         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23141         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23142         (gst_bin_change_state), (gst_bin_dispose):
23143         Small doc fixes. get_clock -> provide_clock.
23144
23145         * gst/gstelement.c: (gst_element_class_init),
23146         (gst_element_provides_clock), (gst_element_provide_clock),
23147         (gst_element_get_clock), (gst_element_commit_state),
23148         (gst_element_lost_state):
23149         * gst/gstelement.h:
23150         Make get/set_clock() symetric. Add provide_clock vmethod since
23151         that is actually what this function does.
23152
23153         * gst/gstpipeline.c: (gst_pipeline_class_init),
23154         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
23155         (gst_pipeline_get_clock):
23156         get_clock -> provide_clock.
23157
23158 2005-09-28  Andy Wingo  <wingo@pobox.com>
23159
23160         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
23161         lieu of real docs...
23162
23163         * gst/elements/gstfdsrc.c: Cleaned up a bit.
23164
23165 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
23166
23167         * gst/elements/gstcapsfilter.c:
23168         * gst/elements/gstfakesink.c:
23169         * gst/elements/gstfakesrc.c:
23170         * gst/elements/gstfdsink.c:
23171         * gst/elements/gstfdsrc.c:
23172         * gst/elements/gstfilesink.c:
23173         * gst/elements/gstfilesrc.c:
23174         * gst/elements/gstidentity.c:
23175         * gst/elements/gsttee.c:
23176         * gst/elements/gsttypefindelement.c:
23177           Make element details static.
23178
23179 2005-09-28  Wim Taymans  <wim@fluendo.com>
23180
23181         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23182         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
23183         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23184         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23185         (gst_bin_change_state), (gst_bin_dispose):
23186         Some documentation updates.
23187         Clean up dispose handlers.
23188
23189         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
23190         * gst/gstpad.c: (gst_pad_dispose):
23191         Clean up dispose handler.
23192
23193         * gst/gstpipeline.c: (gst_pipeline_change_state):
23194         Removed spurious UNLOCK.
23195
23196 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
23197
23198         * docs/gst/gstreamer-sections.txt:
23199         * gst/base/gstbasesrc.h:
23200         * gst/gstelement.h:
23201         * gst/gstevent.h:
23202         * gst/gstobject.h:
23203         * gst/gstpad.h:
23204         * gst/gstpipeline.c:
23205         * gst/gstpipeline.h:
23206         * gst/gstutils.h:
23207         * gst/gstxml.h:
23208           added two new functions to the docs
23209                 documents all undocumented GstXXXFlags
23210                 completed some incomplete docs 
23211
23212 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
23213
23214         * gst/gstbin.c: (gst_bin_dispose):
23215         * gst/gstelement.c: (gst_element_dispose):
23216           remove now useless and leaky resurrection code in dispose
23217         * gst/base/gstbasesrc.c: (gst_base_src_init):
23218         * gst/gstelementfactory.c: (gst_element_factory_create):
23219         * gst/gstobject.c: (gst_object_set_parent):
23220           add some debugging
23221
23222 2005-09-27  Wim Taymans  <wim@fluendo.com>
23223
23224         * docs/design/part-TODO.txt:
23225         Update TODO.
23226
23227         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23228         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
23229         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23230         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23231         (gst_bin_change_state):
23232         * gst/gstelement.h:
23233         Remove element variable, we keep element info in the iterator now.
23234
23235 2005-09-27  Andy Wingo  <wingo@pobox.com>
23236
23237         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
23238         values.
23239
23240 2005-09-27  Wim Taymans  <wim@fluendo.com>
23241
23242         * check/gst/gstbin.c: (GST_START_TEST):
23243         Enable check that works now.
23244
23245         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23246         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
23247         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23248         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23249         (gst_bin_change_state):
23250         * gst/gstbin.h:
23251         Redid the state change algorithm using a topological sort algo.
23252         Handles all cases correctly.
23253         Exposed iterator for state change order.
23254
23255         * gst/gstelement.h:
23256         Temp storage for state changes. Need to get rid of this soon.
23257
23258 2005-09-27  Wim Taymans  <wim@fluendo.com>
23259
23260         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
23261         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
23262         (link_fold_func), (gst_pad_proxy_setcaps):
23263         Leak fixes, the fold functions need to unref the passed object and
23264         _get_parent_*() returns ref to parent.
23265
23266 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
23267
23268         * check/gst/gstbuffer.c: (test_make_writable):
23269           Plug leak in test case and fix 'make check-valgrind'
23270
23271 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
23272
23273         * gst/gstbuffer.c: (gst_subbuffer_init):
23274           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
23275           works correctly in all circumstances (we could have just copied
23276           the parent buffer's readonly flag, but conceptually it seems
23277           cleaner to mark all subbuffers as read-only). (based on patch
23278           by Alessandro Decina, #314710).
23279         
23280         * check/gst/gstbuffer.c: (create_read_only_buffer),
23281         (test_make_writable), (test_subbuffer_make_writable),
23282         (gst_test_suite):
23283           Add some tests for gst_buffer_make_writable().
23284
23285 2005-09-27  Wim Taymans  <wim@fluendo.com>
23286
23287         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
23288         use gst_object_has_ancestor().
23289
23290         * gst/gstobject.c: (gst_object_has_ancestor):
23291         * gst/gstobject.h:
23292         gst_object_has_ancestor() copied from gstbin.c as it is a
23293         useful function.
23294
23295         * tests/instantiate/create.c: (create_all_elements):
23296         * tests/lat.c: (handoff_src), (handoff_sink):
23297         * tests/sched/runxml.c: (main):
23298         * tests/seeking/seeking1.c: (main):
23299         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
23300         (main):
23301         Fix compilation of some tests.
23302
23303 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
23304
23305         * gst/gsterror.h:
23306           Remove comment. GST_TYPE_G_ERROR is here to stay,
23307           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
23308           (#316961, #300610).
23309
23310 2005-09-26  Wim Taymans  <wim@fluendo.com>
23311
23312         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23313         Added check that shows error in state change order.
23314
23315 2005-09-26  Wim Taymans  <wim@fluendo.com>
23316
23317         * gst/gstbin.c: (gst_bin_change_state):
23318         Make state change function use 3 queues again, we were
23319         adding elements in the wrong order.
23320
23321         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
23322         Some debug info,
23323
23324         * gst/gstpad.c: (gst_pad_dispose):
23325         Added some debug info first.
23326
23327 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
23328
23329         * docs/design/draft-push-pull.txt:
23330         * docs/design/part-events.txt:
23331         * docs/design/part-overview.txt:
23332         * docs/design/part-scheduling.txt:
23333           Replace all _pull_region() with _pull_range()
23334           
23335 2005-09-26  Andy Wingo  <wingo@pobox.com>
23336
23337         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
23338
23339         * check/gst-libs/controller.c: Update for controller api change.
23340
23341         * configure.ac: 
23342         * tests/Makefile.am:
23343         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
23344         over by GLib bug 118439.
23345         
23346         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
23347         routines to a function.
23348
23349         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
23350
23351         * libs/gst/controller/gsthelper.c:
23352         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
23353         (gst_object_sync_values): Renamed from sink_values. Ugh.
23354
23355         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
23356
23357         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
23358         Renamed from controller_key, as it is exported.
23359
23360         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
23361
23362 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
23363
23364         * gst/Makefile.am:
23365         * gst/gst.h:
23366         * gst/gstpad.h:
23367         * gst/gstpadtemplate.h:
23368         * gst/gstquery.c:
23369         * gst/gstquery.h:
23370         * gst/gstqueryutils.c:
23371         * gst/gstqueryutils.h:
23372           remove queryutils headers after moving the two used functions
23373           to gstquery.  also fixes build problem for gstsiddec
23374
23375 2005-09-26  Michael Smith <msmith@fluendo.com>
23376
23377         * tools/gst-launch.1.in:
23378         Correct documentation in manpage of debug syntax
23379
23380 2005-09-26  Wim Taymans  <wim@fluendo.com>
23381
23382         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
23383         (gst_base_src_is_seekable), (gst_base_src_change_state):
23384         Some more debugging info.
23385
23386 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
23387
23388         * docs/gst/gstreamer-sections.txt:
23389         * gst/base/gstbasetransform.h:
23390         * gst/gstindex.h:
23391           added more docs
23392
23393 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
23394
23395         * docs/gst/.cvsignore:
23396         * docs/gst/tmpl/.cvsignore:
23397         * docs/gst/tmpl/gstpipeline.sgml:
23398         * docs/gst/tmpl/gstplugin.sgml:
23399         * gst/gstpipeline.c:
23400         * gst/gstplugin.c:
23401         * gst/gstplugin.h:
23402           inlined the last two docs files
23403           removed the tmpl directory from cvs (no more conflicts here!)
23404
23405 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
23406
23407         * docs/gst/gstreamer-sections.txt:
23408         * docs/gst/tmpl/.cvsignore:
23409         * docs/gst/tmpl/gstpad.sgml:
23410         * docs/gst/tmpl/gstpadtemplate.sgml:
23411         * gst/Makefile.am:
23412         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
23413         (gst_pad_finalize), (gst_pad_set_pad_template):
23414         * gst/gstpad.h:
23415         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
23416         (gst_pad_template_class_init), (gst_pad_template_init),
23417         (gst_pad_template_dispose), (name_is_valid),
23418         (gst_static_pad_template_get), (gst_pad_template_new),
23419         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
23420         (gst_pad_template_pad_created):
23421         * gst/gstpadtemplate.h:
23422           inlined two more docs
23423           factored gstpadtemplate out of gstpad
23424
23425 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
23426
23427         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
23428         (test_children_state_change_order_semi_sink):
23429           Fix test case: we can't rely on a fixed state change order when
23430           going from READY => PAUSED because the sink might commit its 
23431           new state first when the first buffer created by the source 
23432           reaches the sink before the source has finished its change state.
23433           (Test case still fails at times, see #316856, comment 5 onwards)
23434
23435 2005-09-24  Wim Taymans  <wim@fluendo.com>
23436
23437         * docs/design/part-events.txt:
23438         * docs/design/part-gstbus.txt:
23439         * docs/design/part-gstpipeline.txt:
23440         * docs/design/part-messages.txt:
23441         * docs/design/part-overview.txt:
23442         * docs/design/part-segments.txt:
23443         * gst/gstbin.c:
23444         * gst/gstbuffer.c:
23445         * gst/gstclock.c:
23446         * gst/gstelement.c:
23447         * gst/gstevent.c:
23448         * gst/gstfilter.c:
23449         * gst/gstiterator.c:
23450         Various documentation updates.
23451
23452 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23453
23454         * gst/gstclock.h:
23455           Well, that's embarassing.  Luckily we weren't using
23456           GST_CLOCK_DIFF anywhere.
23457
23458 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23459
23460         * common/gtk-doc.mak:
23461           don't fail on building XML, FC4 slave shows a bunch of doc
23462           missing bits that I don't get
23463         * gst/gstpad.c:
23464         * gst/gstpipeline.c:
23465         * gst/gststructure.c:
23466           some doc updates
23467
23468 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
23469
23470         * docs/design/part-gstbin.txt:
23471         * docs/design/part-gstbus.txt:
23472         * gst/gstbus.c:
23473           Add blurb about how the bus goes into flushing mode and
23474           drops all messages when its bin goes from READY into NULL 
23475           state.
23476
23477 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23478
23479         * docs/gst/gstreamer-sections.txt:
23480         * gst/gststructure.c: (gst_structure_get_clock_time):
23481         * gst/gststructure.h:
23482           add a method to get a GstClockTime out of a structure
23483
23484 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
23485
23486         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
23487         (test_children_state_change_order_semi_sink), (gst_bin_suite):
23488           Added test to check state change order in bins (can still be made
23489           to fail here under heavy disk load; bails out with 'Push on pad
23490           fakesink:sink0, but it was not activated in push mode').
23491
23492         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
23493           Fix state change order when there is only a semi sink (#316856)
23494
23495         * gst/gstbus.c: (gst_bus_class_init):
23496           Use _class_peek_parent(), not _class_ref(); fix docs to say
23497           'default main context' instead of 'mainloop' where that is
23498           what's meant.
23499
23500         * gst/gstelement.c: (gst_element_commit_state),
23501         (gst_element_set_state):
23502           Fix typos in debug messages
23503
23504 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23505
23506         * docs/README:
23507         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
23508         * gst/gstpluginfeature.c:
23509         * gst/gstutils.c:
23510           various doc updates
23511         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23512           change an assert into an error until it gets fixed properly
23513
23514 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
23515
23516         * docs/gst/gstreamer-sections.txt:
23517         * docs/gst/tmpl/.cvsignore:
23518         * docs/gst/tmpl/gstelement.sgml:
23519         * docs/gst/tmpl/gstinfo.sgml:
23520         * docs/gst/tmpl/gstobject.sgml:
23521         * gst/gstelement.c:
23522         * gst/gstelement.h:
23523         * gst/gstinfo.c:
23524         * gst/gstinfo.h:
23525         * gst/gstobject.c: (gst_object_class_init):
23526         * gst/gstobject.h:
23527           inlined 3 more biiiig doc files and added some missing docs on the fly
23528
23529 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23530
23531         * check/gst/.cvsignore:
23532         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
23533         * gst/gstregistryxml.c: (load_plugin),
23534         (gst_registry_xml_save_plugin):
23535           put back source in registry.  add checks for find_plugin.
23536         * testsuite/states/bin.c: (assert_state), (empty_bin),
23537         (test_adding_one_element), (main):
23538         * testsuite/states/locked.c: (main):
23539           some compile/run fixes
23540
23541 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23542
23543         * check/gst/gstvalue.c: (GST_START_TEST):
23544           fix leaks in the test itself
23545
23546 2005-09-22  Wim Taymans  <wim@fluendo.com>
23547
23548         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23549         (gst_base_sink_send_event), (gst_base_sink_peer_query),
23550         (gst_base_sink_query):
23551         Prepare for more accurate position reporting and query
23552         handling.
23553
23554         * gst/gstelement.c: (gst_element_send_event),
23555         (gst_element_set_state):
23556         Add some comment.
23557
23558 2005-09-22  Wim Taymans  <wim@fluendo.com>
23559
23560         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
23561         (gst_query_parse_segment):
23562         * gst/gstquery.h:
23563         More documentation.
23564         Add segment query for future use.
23565
23566 2005-09-22  Wim Taymans  <wim@fluendo.com>
23567
23568         * gst/gstbin.c: (gst_bin_add_func):
23569         Some more debug info.
23570
23571         * gst/gstelement.c: (gst_element_send_event):
23572         Simplify send_event
23573
23574         * gst/gstelement.h:
23575         Don't know how flags got broken.
23576
23577         * gst/gstquery.h:
23578         Added new query.
23579
23580 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
23581
23582         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
23583           Add simplistic test suite for GST_TYPE_DATE serialisation and
23584           deserialisation.
23585
23586 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
23587
23588         * docs/gst/gstreamer-sections.txt:
23589         * gst/gststructure.c: (gst_structure_set_valist),
23590         (gst_structure_get_date):
23591         * gst/gststructure.h:
23592         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
23593         (gst_date_copy), (gst_value_compare_date),
23594         (gst_value_serialize_date), (gst_value_deserialize_date),
23595         (gst_value_transform_date_string),
23596         (gst_value_transform_string_date), (_gst_value_initialize):
23597         * gst/gstvalue.h:
23598           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
23599           bunch of utility functions along with a hack that checks that
23600           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
23601           is required. Part of the grand scheme in #170777.
23602
23603 2005-09-22  Andy Wingo  <wingo@pobox.com>
23604
23605         * gst/gstconfig.h.in: Psych out gtk-doc.
23606
23607         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
23608
23609         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
23610
23611         * tools/gst-inspect.c (print_element_list): Plug some
23612         inconsequential leaks.
23613
23614         * gst/gstregistry.c (gst_registry_get_default): Doc.
23615
23616         * check/gst/gstplugin.c: 
23617         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
23618         * gst/gstelementfactory.c (gst_element_factory_create): 
23619         * gst/gstindexfactory.c (gst_index_factory_create): Update for
23620         refcount changes.
23621
23622         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
23623         (gst_plugin_feature_load): Doc, don't eat refs.
23624
23625         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
23626         (gst_plugin_list_free): Doc.
23627         (gst_plugin_load_file): Doc updates.
23628
23629         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
23630         accessors returning refcounted objects, return a ref.
23631
23632         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
23633         accessor for caps. IDEMPOTENCE. Oh yes.
23634
23635 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
23636
23637         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23638
23639         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
23640         (_gst_debug_register_funcptr):
23641           Add mutex to serialise access to the hash table with
23642           the function pointer => function name string mapping;
23643           make that hash table static scope (#316809).
23644
23645         * gst/registries/.cvsignore:
23646           Remove left-over file.
23647
23648 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
23649
23650         * docs/pwg/appendix-porting.xml:
23651           And something about newsegment events and caps-on-buffers to
23652           the porting guide (feel free to improve).
23653
23654 2005-09-21  Andy Wingo  <wingo@pobox.com>
23655
23656         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
23657         data and event probes on the same pad.
23658         (test_buffer_probe_once): Test that removing probes from within
23659         the probe functions works.
23660
23661 2005-09-21  Andy Wingo  <wingo@pobox.com>
23662
23663         * check/gst/gstutils.c: New file.
23664         (test_buffer_probe_n_times): A simple buffer probe test. More to
23665         come, foolios.
23666
23667         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
23668         have-data::buffer, not have-data.
23669         (gst_pad_add_event_probe): Likewise for have-data::event.
23670         (gst_pad_add_data_probe): More docs. The part about 'resolving the
23671         peer' isn't quite right yet though.
23672         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
23673         (gst_pad_remove_data_probe): Change to take the guint handler_id
23674         as their arg, not the function+data, which is more glib-like.
23675
23676         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
23677         the signal emission to indicate if the data is a buffer or an
23678         event.
23679         (gst_pad_get_type): Initialize buffer and event quarks.
23680         (gst_pad_class_init): have-data is now a detailed signal, yes it
23681         is.
23682
23683 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
23684
23685         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
23686         * gst/gstutils.c: (gst_util_set_value_from_string),
23687         (gst_util_set_object_arg):
23688           Don't put functional code in g_return_if_fail() or
23689           g_return_val_if_fail() statements, otherwise things will 
23690           break when G_DISABLE_CHECKS is defined during compilation.
23691
23692 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23693
23694         * docs/gst/tmpl/.cvsignore:
23695         * docs/gst/tmpl/gstvalue.sgml:
23696         * gst/gstvalue.c:
23697         * gst/gstvalue.h:
23698           inlied another one and added  some obvious docs
23699
23700 2005-09-21  Wim Taymans  <wim@fluendo.com>
23701
23702         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
23703         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
23704         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
23705         (gst_fdsrc_get_property), (gst_fdsrc_create):
23706         * gst/elements/gstfdsrc.h:
23707         Properly implement fdsrc. Removed signal and timeout,
23708         better implemented somewhere else.
23709
23710 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23711
23712         * docs/gst/tmpl/.cvsignore:
23713         * docs/gst/tmpl/gstimplementsinterface.sgml:
23714         * gst/gstinterface.c:
23715           inlined more docs
23716
23717 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23718
23719         * docs/gst/gstreamer-sections.txt:
23720         * docs/gst/tmpl/.cvsignore:
23721         * docs/gst/tmpl/gstenumtypes.sgml:
23722           remove obsolete doc file
23723
23724 2005-09-21  David Schleef  <ds@schleef.org>
23725
23726         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
23727         little beer, fix a little leak.
23728
23729 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23730
23731         * docs/gst/gstreamer-docs.sgml:
23732         * docs/gst/gstreamer-sections.txt:
23733         * docs/gst/tmpl/.cvsignore:
23734         * gst/Makefile.am:
23735         * gst/gst.h:
23736         * gst/gstbin.c:
23737         * gst/gstelement.h:
23738         * gst/gstindex.c: (gst_index_class_init):
23739         * gst/gstindex.h:
23740         * gst/gstindexfactory.c: (gst_index_factory_get_type),
23741         (gst_index_factory_class_init), (gst_index_factory_init),
23742         (gst_index_factory_finalize), (gst_index_factory_new),
23743         (gst_index_factory_destroy), (gst_index_factory_find),
23744         (gst_index_factory_create), (gst_index_factory_make):
23745         * gst/gstindexfactory.h:
23746         * gst/gstpluginfeature.c:
23747         * gst/gstpluginfeature.h:
23748         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23749           more docs inlined, splitted gstindex.{c,h}
23750
23751 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23752
23753         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23754           fix a leak
23755
23756 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
23757
23758         * gst/elements/gstfilesink.c: (gst_file_sink_init):
23759           Set sync to FALSE by default.
23760
23761 2005-09-20  Wim Taymans  <wim@fluendo.com>
23762
23763         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23764         (gst_base_sink_init):
23765         Make sync property settable from subclass.
23766
23767         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
23768         (gst_fake_sink_change_state):
23769         Set sync to FALSE by default.
23770
23771 2005-09-20  Wim Taymans  <wim@fluendo.com>
23772
23773         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
23774         * tools/gst-launch.c: (main):
23775         The timeout handler should have lower priority than the source
23776         so we don't timeout before popping a message with 0 timeout.
23777         Dump error messages after failed state change.
23778
23779 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
23780
23781         * tools/gst-inspect.c: (print_element_properties_info):
23782           Fix two typos.
23783
23784 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23785
23786         * check/gst/gstevent.c:
23787         * gst/elements/gstfakesink.c:
23788         * gst/elements/gstfakesink.h:
23789           remove the sync property from fakesink.
23790           has the side effect of setting sync TRUE
23791           for fakesink, which is a change.  Anyone who knows how
23792           to fix this nicely in a GObject-y way, feel free.
23793
23794 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23795
23796         * docs/gst/gstreamer-docs.sgml:
23797           remove probe refsection
23798
23799 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23800
23801         * check/Makefile.am:
23802           disable valgrinding the controller test again
23803         * docs/gst/gstreamer-sections.txt:
23804           update for api-changes
23805
23806 2005-09-20  Wim Taymans  <wim@fluendo.com>
23807
23808         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23809         (gst_base_sink_set_property), (gst_base_sink_get_property),
23810         (gst_base_sink_do_sync):
23811         * gst/base/gstbasesink.h:
23812         Added sync property to basesink to disable clock sync.
23813
23814 2005-09-20  Andy Wingo  <wingo@pobox.com>
23815
23816         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
23817         eating the caller's refcount.
23818
23819         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
23820         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
23821         refcount.
23822
23823         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
23824         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
23825         of GLib 2.8 public, so we can know which refcount to check in
23826         tests.
23827
23828         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
23829         (gst_object_init): Only set the gst refcount if we're going ahead
23830         with the refcount hack.
23831
23832 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23833
23834         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
23835         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23836           more leaks plumbed, added more debug-logging
23837         * gst/gstmacros.h:
23838           whitespace fix
23839
23840 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23841
23842         * gst/gstmessage.c:
23843           remove include of gstmemchunk.h
23844
23845 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23846
23847         * gst/gstclock.c: (_gst_clock_id_free):
23848           Commit from the Political Party For More Atomic CVS Commits,
23849           so that people don't waste too much of their day fishing
23850           out obvious leaks out of massive commits.
23851           Oh, and fix a pretty damn obvious leak in the memchunk
23852           removal code.
23853
23854 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23855
23856         * check/Makefile.am:
23857         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
23858           plug mem-leak, re-add to valgrindable tests
23859
23860 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23861
23862         * gst/gstplugin.h:
23863           unbreak the build for those who have chronic arthritis
23864           and typing "make check" is just too taxing on the hands
23865
23866 2005-09-20  Andy Wingo  <wingo@pobox.com>
23867
23868         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
23869         really want it out, you should fix plugins at the same time.
23870
23871 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
23872
23873         * configure.ac:
23874         * docs/gst/gstreamer-sections.txt:
23875         * gst/gstobject.c:
23876           added missing symbols to api docs
23877           disable ref-count hack if we have glib >= 2.8
23878
23879 2005-09-19  David Schleef  <ds@schleef.org>
23880
23881         * docs/gst/Makefile.am: Ignore a few more internal headers
23882         * docs/gst/gstreamer-docs.sgml: Remove old sections
23883         * docs/gst/gstreamer-sections.txt: Remove old sections
23884         * docs/gst/tmpl/gstobject.sgml: update
23885         * docs/gst/tmpl/gstplugin.sgml: update
23886         * docs/gst/tmpl/gstpluginfeature.sgml: update
23887         * docs/random/ds/0.9-suggested-changes: update.
23888         * gst/Makefile.am: remove memchunk and trashstack, since they're
23889           not used.
23890         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
23891         * gst/gst.h: don't include some headers
23892         * gst/gstchildproxy.c: add gstmarshal.h
23893         * gst/gstclock.c: Don't use memchunks
23894         * gst/gstminiobject.c: Add some docs
23895         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
23896         * gst/gstobject.h: same
23897         * gst/gstplugin.c: include gstmacros.h
23898         * gst/gstplugin.h: don't include gstmacros.h, since it's private
23899         * gst/gstquery.c: don't use memchunks
23900         * gst/gstregistry.c: rename gst_registry_deinit()
23901         * gst/gstregistry.h: same
23902
23903 2005-09-19  David Schleef  <ds@schleef.org>
23904
23905         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
23906         * docs/libs/gstreamer-libs-sections.txt:
23907         * docs/libs/tmpl/gstgetbits.sgml:
23908         * docs/libs/tmpl/gstputbits.sgml:
23909
23910 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
23911
23912         * win32/gstenumtypes.c:
23913         * win32/gstenumtypes.h:
23914           Update.
23915
23916 2005-09-19  Wim Taymans  <wim@fluendo.com>
23917
23918         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
23919         Automatically PAUSE and RESUME a pipeline when a flushing seek
23920         is performed.
23921
23922 2005-09-19  Andy Wingo  <wingo@pobox.com>
23923
23924         * gst/gstregistry.h: Spacing fixen.
23925
23926 2005-09-19  Wim Taymans  <wim@fluendo.com>
23927
23928         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
23929         Handle state change failure more correctly.
23930
23931 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23932
23933         * check/Makefile.am:
23934         * check/pipelines/cleanup.c: (run_pipeline):
23935         * check/pipelines/simple_launch_lines.c: (run_pipeline),
23936         (GST_START_TEST):
23937           enable cleanup again after fixing the leak
23938         * docs/README:
23939           some more info on docs
23940
23941 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23942
23943         * check/Makefile.am:
23944           re-enable tests now that leaks are plugged
23945         * check/gst/gst.c:
23946         * check/gst/gstbin.c:
23947         * check/gst/gstpipeline.c:
23948           add some more tests while fixing leaks
23949         * common/check.mak:
23950           make sure binaries are uptodate when valgrinding/gdbing
23951         * gst/gst.c:
23952         * gst/gstelementfactory.c:
23953           remove a ref too many, and add a FIXME for when we get
23954           round to disposing of classes
23955         * gst/gstplugin.c:
23956           fix the refcounting when loading a plugin from a file and
23957           the code pretends that the pointer is the same even though
23958           of course it can change
23959         * gst/gstpluginfeature.c:
23960           unref plugins marked cached (a bit confusing as a name)
23961           as the docs state should be done
23962           various doc additions to explain refcounting
23963         * gst/gstregistry.c:
23964         * gst/gstregistryxml.c:
23965           debugging
23966
23967 2005-09-19  Wim Taymans  <wim@fluendo.com>
23968
23969         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
23970         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23971         (send_messages), (GST_START_TEST), (gstbus_suite):
23972         * check/gst/gstpipeline.c: (GST_START_TEST):
23973         * check/pipelines/cleanup.c: (run_pipeline):
23974         * check/pipelines/simple_launch_lines.c: (run_pipeline),
23975         (GST_START_TEST):
23976         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
23977         (gst_bus_source_check), (gst_bus_source_dispatch),
23978         (gst_bus_create_watch), (gst_bus_add_watch_full),
23979         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
23980         * gst/gstbus.h:
23981         * tools/gst-launch.c: (event_loop):
23982         * tools/gst-md5sum.c: (event_loop):
23983         GstBusHandler -> GstBusFunc, return value has the same meaning as
23984         any other GSource (FALSE == remove source).
23985         _add_watch() and _add_watch_full() now take a MessageType mask to
23986         only handle specific types of messages.
23987         _poll() returns the GstMessage instead of the message type to avoid
23988         race conditions.
23989         _have_pending() takes a MessageType mask now too.
23990         Added testsuite for multiple bus watches.
23991         Fix testsuites and applications for new bus API.
23992
23993 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23994
23995         * check/Makefile.am:
23996           mark a bunch of the tests as to fix until we fix them
23997
23998 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23999
24000         * common/check.mak:
24001           use GST_PLUGIN settings for valgrind tests as well, so we're
24002           valgrinding the correct thing
24003         * gst/gst.c: (init_post):
24004           plug another leak
24005
24006 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24007
24008         * gst/gst.c: (init_post), (gst_deinit):
24009         * gst/gstelementfactory.c: (gst_element_factory_class_init),
24010         (gst_element_factory_finalize), (gst_element_factory_cleanup):
24011         * gst/gstindex.c: (gst_index_factory_class_init),
24012         (gst_index_factory_finalize):
24013         * gst/gstobject.c: (gst_object_dispose):
24014         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
24015         (gst_plugin_load_file), (gst_plugin_desc_free):
24016         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
24017         (gst_plugin_feature_finalize):
24018         * gst/gstregistry.c: (gst_registry_class_init),
24019         (gst_registry_init), (gst_registry_finalize),
24020         (gst_registry_get_default), (gst_registry_deinit):
24021         * gst/gstregistry.h:
24022         * gst/gstregistryxml.c: (load_feature), (load_plugin):
24023           various cleanups and memleak plugging.  make valgrind is happy now.
24024
24025 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24026
24027         * common/check.mak:
24028           add a check-valgrind target
24029
24030 2005-09-18  David Schleef  <ds@schleef.org>
24031
24032         * tools/gst-inspect.c: Revert the GOption code.
24033
24034 2005-09-17  David Schleef  <ds@schleef.org>
24035
24036         * check/Makefile.am: Fix environment variables.
24037         * check/gst/gstplugin.c: Fix for API changes.
24038         * tools/gst-inspect.c: Fix for API changes.
24039         * tools/gst-xmlinspect.c: Fix for API changes.
24040         * gst/gstelementfactory.c:
24041         * gst/gstplugin.c:
24042         * gst/gstplugin.h:
24043         * gst/gstpluginfeature.c:
24044         * gst/gstpluginfeature.h:
24045         * gst/gstregistry.c:
24046         * gst/gstregistry.h:
24047         * gst/gstregistryxml.c:
24048         * gst/gsttypefind.c:
24049         * gst/gsttypefindfactory.c:
24050         * gst/indexers/gstfileindex.c:
24051         * gst/indexers/gstmemindex.c:
24052         * gst/schedulers/Makefile.am:
24053           Change registry to keep track of both plugins and features,
24054           removing the feature tracking from plugins themselves.
24055
24056 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
24057
24058         * check/Makefile.am:
24059         * tools/gst-register.1.in:
24060           remove gst-register
24061
24062 2005-09-15  David Schleef  <ds@schleef.org>
24063
24064         * check/gst/gstplugin.c:
24065         * gst/gstelementfactory.c:
24066         * gst/gstplugin.c:
24067         * gst/gstpluginfeature.c:
24068         * gst/gstregistry.c:
24069           Getting tired of debugging.  Disabled all the unreffing of
24070           plugins and features, which fixes the segfaults, but of
24071           course leaks like crazy.  At least playbin works.
24072
24073 2005-09-15  David Schleef  <ds@schleef.org>
24074
24075         * check/gst/gstplugin.c: (register_check_elements),
24076         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
24077         More testing
24078         * gst/elements/gsttypefindelement.c: Fix refcounting.
24079         * gst/gsttypefind.c:
24080         * gst/gsttypefindfactory.c:
24081         * gst/gsttypefindfactory.h:
24082
24083 2005-09-15  David Schleef  <ds@schleef.org>
24084
24085         * gst/gstindex.c: get refcounting correct.
24086         * gst/gstregistry.c: Handle the case where a feature/plugin is
24087           not found.
24088
24089 2005-09-15  David Schleef  <ds@schleef.org>
24090
24091         * check/Makefile.am:
24092         * check/gst/gstplugin.c: Add test
24093         * gst/gstplugin.c: Fix problems noticed by testsuite
24094         * gst/gstplugin.h:
24095         * gst/gstregistry.c: 
24096         * gst/gstregistry.h:
24097
24098 2005-09-15  David Schleef  <ds@schleef.org>
24099
24100         * gst/gstplugin.c: Implement semi-decent recounting and locking
24101           in plugins and plugin features.
24102         * gst/gstplugin.h:
24103         * gst/gstpluginfeature.c:
24104         * gst/gstpluginfeature.h:
24105         * gst/gstregistry.c:
24106
24107 2005-09-15  Michael Smith <msmith@fluendo.com>
24108
24109         * gst/gstregistry.c: (gst_registry_get_feature_list):
24110           Implement this. Makes oggdemux work; decodebin still broken.
24111
24112 2005-09-14  David Schleef  <ds@schleef.org>
24113
24114         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
24115           #316076)
24116         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
24117         * gst/check/Makefile.am:
24118         * libs/gst/controller/Makefile.am:
24119         * libs/gst/dataprotocol/Makefile.am:
24120
24121 2005-09-14  David Schleef  <ds@schleef.org>
24122
24123         * configure.ac: Remove getbits library.  Nothing uses it, and
24124           it should be in something like liboil if someone did want
24125           to use it.
24126         * libs/gst/Makefile.am:
24127         * libs/gst/getbits/Makefile.am:
24128         * libs/gst/getbits/gbtest.c:
24129         * libs/gst/getbits/getbits.c:
24130         * libs/gst/getbits/getbits.h:
24131         * libs/gst/getbits/gstgetbits_generic.c:
24132         * libs/gst/getbits/gstgetbits_i386.s:
24133         * libs/gst/getbits/gstgetbits_inl.h:
24134
24135 2005-09-14  David Schleef  <ds@schleef.org>
24136
24137         * gst/Makefile.am: Dist glib-compat.h
24138
24139 2005-09-14  David Schleef  <ds@schleef.org>
24140
24141         * configure.ac: Remove gst/registries, since it's no longer used.
24142         * gst/registries/Makefile.am:
24143         * gst/registries/gstlibxmlregistry.c:
24144         * gst/registries/gstlibxmlregistry.h:
24145         * gst/registries/gstxmlregistry.c:
24146         * gst/registries/gstxmlregistry.h:
24147         * gst/registries/registrytest.c:
24148
24149 2005-09-14  David Schleef  <ds@schleef.org>
24150
24151         * gst/glib-compat.h:
24152         * gst/gstregistryxml.c:
24153           Convergence is near.  Seriously.
24154
24155 2005-09-14  David Schleef  <ds@schleef.org>
24156
24157         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24158         * gst/glib-compat.h:
24159           Attempt #4 to appease the buildbots.
24160
24161 2005-09-14  David Schleef  <ds@schleef.org>
24162
24163         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24164           Attempt #3.
24165
24166 2005-09-14  David Schleef  <ds@schleef.org>
24167
24168         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24169         Attempt #2.
24170
24171 2005-09-14  David Schleef  <ds@schleef.org>
24172
24173         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
24174           the new functions.
24175
24176 2005-09-14  David Schleef  <ds@schleef.org>
24177
24178         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24179         * gst/glib-compat.h: Add some functions that are in newer versions
24180           of glib than we care to require.
24181         * gst/gstregistryxml.c: Use them.
24182
24183 2005-09-14  David Schleef  <ds@schleef.org>
24184
24185         * po/POTFILES.in: remove gst-register.c
24186
24187 2005-09-14  David Schleef  <ds@schleef.org>
24188
24189         * docs/gst/gstreamer-docs.sgml:
24190         * docs/gst/gstreamer-sections.txt:
24191         * docs/gst/gstreamer.types:
24192         * docs/gst/tmpl/gstelement.sgml:
24193         * docs/gst/tmpl/gstplugin.sgml:
24194         * docs/gst/tmpl/gstpluginfeature.sgml:
24195           Documentation updates for registry changes.
24196
24197 2005-09-14  David Schleef  <ds@schleef.org>
24198
24199         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
24200           because we don't require glib-2.8.
24201
24202 2005-09-14  David Schleef  <ds@schleef.org>
24203
24204         * gst/gstregistryxml.c: Added.  Essentially moved out of the
24205           registries directory.
24206
24207 2005-09-14  David Schleef  <ds@schleef.org>
24208
24209         * check/Makefile.am:
24210         * check/generic/states.c:
24211         * gst/Makefile.am:
24212         * gst/gst.c:
24213         * gst/gst.h:
24214         * gst/gst_private.h:
24215         * gst/gstelementfactory.c:
24216         * gst/gstindex.c:
24217         * gst/gstinfo.c:
24218         * gst/gstplugin.c:
24219         * gst/gstplugin.h:
24220         * gst/gstpluginfeature.c:
24221         * gst/gstpluginfeature.h:
24222         * gst/gstregistry.c:
24223         * gst/gstregistry.h:
24224         * gst/gstregistrypool.c: remove
24225         * gst/gstregistrypool.h: remove
24226         * gst/gsttypefind.c:
24227         * gst/gsttypefindfactory.c:
24228         * gst/gsturi.c:
24229         * tools/Makefile.am:
24230         * tools/gst-compprep.c:
24231         * tools/gst-inspect.c:
24232         * tools/gst-register.c: remove
24233         * tools/gst-xmlinspect.c:
24234           Registry rewrite.  Changes registry from being a file created
24235           by a tool into a simple cache file created automatically by 
24236           libgstreamer.  Removed gst-register (because it's no longer
24237           needed).  Remove registry pools, because we only have one
24238           registry implementation (XML).  Fix up other subsystems as
24239           necessary.
24240
24241 2005-09-13  Michael Smith <msmith@fluendo.com>
24242
24243         * gst/gstconfig.h.in:
24244           Don't Use windows linking attributes for MinGW. Fixes #316157
24245
24246 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
24247
24248         * gst/gstutils.c: (set_state_async_thread_func),
24249         (gst_element_set_state_async):
24250           Apparently people think it's better if this function doesn't
24251           try to set the state to whatever state was asked for on the first
24252           call to this function for any object.  Seriously.
24253
24254 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24255
24256         * check/gst/gstpipeline.c: (GST_START_TEST):
24257         * docs/gst/gstreamer-sections.txt:
24258         * gst/gstutils.c: (set_state_async_thread_func),
24259         (gst_element_set_state_async):
24260         * gst/gstutils.h:
24261           add a "gst_element_set_state_async" method that
24262           sets the state and starts a thread to make sure the state
24263           change completes as best as it can
24264
24265 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24266
24267         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24268           codify design+behaviour in testsuite after discussion
24269
24270 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24271
24272         * docs/gst/tmpl/gstelement.sgml:
24273         * docs/manual/appendix-quotes.xml:
24274           add a quote
24275         * gst/gstelement.c: (gst_element_set_state):
24276           add some debug
24277
24278 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
24279
24280         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
24281         (gst_base_transform_prepare_output_buf),
24282         (gst_base_transform_handle_buffer):
24283         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
24284         (gst_capsfilter_prepare_buf):
24285           Remove the requirement for sub-classes to call the parent
24286           implementation of prepare_output_buffer with a wrapper function.
24287           
24288         * gst/gsttaglist.h:
24289         * gst/gsttagsetter.h:
24290           Fix #define wrapper
24291
24292 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
24293
24294         * docs/gst/gstreamer-sections.txt:
24295           more doc cleanups
24296
24297 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24298
24299         * docs/gst/gstreamer-sections.txt:
24300         * docs/gst/tmpl/gstelement.sgml:
24301         * docs/gst/tmpl/gstplugin.sgml:
24302         * gst/gstminiobject.c:
24303         * gst/gstvalue.h:
24304           docs now stop throwing warnings
24305
24306 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24307
24308         * docs/gst/gstreamer-sections.txt:
24309         * docs/gst/gstreamer.types:
24310         * docs/gst/tmpl/gstpad.sgml:
24311         * docs/gst/tmpl/gsttypes.sgml:
24312         * gst/base/gstadapter.h:
24313         * gst/base/gstbasesink.h:
24314         * gst/base/gstbasesrc.h:
24315         * gst/gstbin.h:
24316         * gst/gstbuffer.h:
24317         * gst/gstbus.h:
24318         * gst/gstcaps.h:
24319         * gst/gstclock.h:
24320         * gst/gstelement.h:
24321         * gst/gstevent.h:
24322         * gst/gstmessage.h:
24323         * gst/gstpad.h:
24324         * gst/gststructure.c:
24325         * gst/registries/gstlibxmlregistry.h:
24326           various documentation fixes
24327
24328 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24329
24330         * docs/gst/gstreamer-sections.txt:
24331         * docs/gst/tmpl/gstvalue.sgml:
24332           rearrange gstvalue section
24333         * gst/gstutils.c: (gst_element_state_get_name):
24334           NONE -> VOID
24335         * gst/gstvalue.c: (_gst_value_initialize):
24336         * gst/gstvalue.h:
24337           doc updates
24338
24339 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
24340
24341         * check/gst-libs/controller.c:
24342           Header include fix.
24343         * gst/base/gstbasetransform.c:
24344         (gst_base_transform_default_prepare_buf),
24345         (gst_base_transform_handle_buffer):
24346         * gst/base/gstbasetransform.h:
24347           Some more basetransform changes and fixes to enable sub-classes
24348           that modify buffer metadata only.
24349         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
24350         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
24351         (gst_capsfilter_prepare_buf):
24352           If the output pad has fixed allowed caps and input buffers 
24353           don't have any, set the fixed caps on outgoing buffers.
24354
24355 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
24356         * check/elements/identity.c: (GST_START_TEST):
24357           Make the error a little clearer when the test fails because
24358           identity made a copy of the buffer.
24359         * docs/gst/gstreamer-sections.txt:
24360           New symbols in gstbasetransform.h
24361         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
24362         (gst_base_transform_init), (gst_base_transform_transform_size),
24363         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24364         (gst_base_transform_default_prepare_buf),
24365         (gst_base_transform_get_unit_size),
24366         (gst_base_transform_buffer_alloc),
24367         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
24368         (gst_base_transform_change_state),
24369         (gst_base_transform_set_passthrough),
24370         (gst_base_transform_set_in_place),
24371         (gst_base_transform_is_in_place):
24372         * gst/base/gstbasetransform.h:
24373           Change BaseTransform to separate in_place operate from same_caps
24374           output. in_place implies that the element can perform the transform
24375           on incoming buffers in-place, even if the caps on the output are
24376           different.
24377           Sub-class elements can now implement special buffer allocation
24378           methods for outgoing buffers if they wish to.
24379           Big documentation addition.
24380         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
24381         * gst/elements/gstelements.c:
24382           Changes for basetransform modifications.
24383         * gst/elements/Makefile.am:
24384         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
24385           Compile fix. Extra debug output.
24386
24387 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24388
24389         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
24390         (gst_pad_suite):
24391           add tests for valid pad naming
24392         * gst/check/gstcheck.c: (gst_check_log_message_func),
24393         (gst_check_log_critical_func):
24394           add ASSERT_WARNING
24395           remove printing of code, it is fragile when the code contains
24396           % and the line number is enough info
24397         * gst/check/gstcheck.h:
24398         * gst/gstpad.c: (gst_pad_template_new):
24399           fix memleaks
24400
24401 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24402
24403         * configure.ac:
24404           say what CHECK flags we use
24405         * docs/libs/gstreamer-libs.types:
24406         * libs/gst/controller/Makefile.am:
24407         * libs/gst/controller/gst-controller.c:
24408         * libs/gst/controller/gst-controller.h:
24409         * libs/gst/controller/gst-helper.c:
24410         * libs/gst/controller/gst-interpolation.c:
24411         * libs/gst/controller/gstcontroller.c:
24412         * libs/gst/controller/gsthelper.c:
24413         * libs/gst/controller/gstinterpolation.c:
24414         * tools/gst-inspect.c: (print_plugin_info):
24415           we don't use dashes in header names
24416
24417 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24418
24419         * check/Makefile.am:
24420         * check/gst/.cvsignore:
24421         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
24422         (gst_pipeline_suite), (main):
24423           adding a test for pipelines and state changes
24424         * gst/gstutils.c: (get_state_func):
24425           add some debugging
24426         * gstreamer.spec.in:
24427           fix up spec file
24428
24429 2005-09-08  Michael Smith <msmith@fluendo.com>
24430
24431         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
24432         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
24433         (gst_file_src_is_seekable), (gst_file_src_get_size),
24434         (gst_file_src_start):
24435         * gst/elements/gstfilesrc.h:
24436           Various fixes for unseekable, unmmapable, and non-normal files, so
24437           that fallback to read() rather than mmap() works.
24438         * gst/gstevent.c: (gst_event_new_newsegment):
24439           Allow newsegment events with segment_start == segment_end, as will
24440           correctly happen if you use filesrc on a zero-size file, for
24441           example.
24442
24443 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
24444
24445         * gst/gstplugin.c: (gst_plugin_load_file):
24446           Call g_module_close when we don't load the module
24447
24448         * gst/registries/gstlibxmlregistry.c:
24449         (gst_xml_registry_get_property):
24450           Port leak fix from 0.8
24451
24452 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
24453
24454         * docs/gst/gstreamer-docs.sgml:
24455         * docs/gst/tmpl/.cvsignore:
24456         * docs/gst/tmpl/gsttrace.sgml:
24457         * docs/gst/tmpl/gsttrashstack.sgml:
24458         * gst/Makefile.am:
24459         * gst/gst.h:
24460         * gst/gstelement.h:
24461         * gst/gstevent.h:
24462         * gst/gstmessage.c:
24463         * gst/gstmessage.h:
24464         * gst/gsttag.c:
24465         * gst/gsttag.h:
24466         * gst/gsttaginterface.c:
24467         * gst/gsttaginterface.h:
24468         * gst/gsttaglist.c:
24469         * gst/gsttaglist.h:
24470         * gst/gsttagsetter.c:
24471         * gst/gsttagsetter.h:
24472         * gst/gsttrace.c:
24473         * gst/gsttrace.h:
24474         * gst/gsttrashstack.c:
24475           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
24476           inlined docs for gsttrace, gsttrashstack
24477
24478 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
24479
24480         * gst/Makefile.am:
24481         * gst/elements/gstbufferstore.h:
24482         * gst/elements/gsttypefindelement.c:
24483         * gst/elements/gsttypefindelement.h:
24484         * gst/gst.h:
24485         * gst/gsttypefind.c:
24486         * gst/gsttypefind.h:
24487         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
24488         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
24489         (gst_type_find_factory_dispose),
24490         (gst_type_find_factory_unload_thyself),
24491         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
24492         (gst_type_find_factory_get_caps),
24493         (gst_type_find_factory_get_extensions),
24494         (gst_type_find_factory_call_function):
24495         * gst/gsttypefindfactory.h:
24496         * gst/registries/gstlibxmlregistry.c:
24497         * gst/registries/gstxmlregistry.c:
24498           splitted gsttypefind into gsttypefind, gsttypefindfactory
24499
24500 2005-09-07  Andy Wingo  <wingo@pobox.com>
24501
24502         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
24503         condition whereby the pad's task function is entered before the
24504         pad_mode variable was set.
24505
24506 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
24507
24508         * gst/gstpad.c: (gst_pad_alloc_buffer):
24509           Catch misbehaving pad_alloc functions that don't
24510           set up caps and do it for them.
24511
24512 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
24513
24514         * check/pipelines/simple_launch_lines.c: (run_pipeline):
24515           test for pipe!=NULL
24516         * docs/gst/tmpl/.cvsignore:
24517         * docs/gst/tmpl/gstmemchunk.sgml:
24518         * docs/gst/tmpl/gstparse.sgml:
24519         * docs/gst/tmpl/gsttaglist.sgml:
24520         * docs/gst/tmpl/gsttagsetter.sgml:
24521         * docs/gst/tmpl/gsttypefind.sgml:
24522         * docs/gst/tmpl/gsttypefindfactory.sgml:
24523         * gst/gstmemchunk.c:
24524         * gst/gstparse.c:
24525         * gst/gsttag.c:
24526         * gst/gsttaginterface.c:
24527         * gst/gsttypefind.c:
24528         * gst/gsttypefind.h:
24529           inlined more docs
24530
24531 === release 0.9.2 ===
24532
24533 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24534
24535         * NEWS:
24536         * RELEASE:
24537         * configure.ac:
24538           releasing 0.9.2, "South"
24539
24540 2005-09-05  Andy Wingo  <wingo@pobox.com>
24541
24542         * gst/registries/gstxmlregistry.h:
24543         * gst/registries/gstxmlregistry.c: Um... resurrect...
24544         
24545         * gst/registries/gstxmlregistry.h:
24546         * gst/registries/gstxmlregistry.c: and update to newer API.
24547         Incidentally they should be a bit faster now that they don't have
24548         to parse the caps.
24549         
24550 2005-09-05  Andy Wingo  <wingo@pobox.com>
24551
24552         * gst/registries/gstxmlregistry.h:
24553         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
24554         replaced by the libxml registry a while back
24555
24556 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24557
24558         * docs/gst/tmpl/gstplugin.sgml:
24559         * gst/elements/gstelements.c:
24560         * gst/gst.c:
24561         * gst/gstplugin.c: (gst_plugin_register_func),
24562         (gst_plugin_desc_copy), (gst_plugin_desc_free),
24563         (gst_plugin_get_source):
24564         * gst/gstplugin.h:
24565         * gst/registries/gstlibxmlregistry.c: (load_plugin),
24566         (gst_xml_registry_save_plugin):
24567         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
24568         (gst_xml_registry_save_plugin):
24569         * tools/gst-inspect.c: (print_plugin_info):
24570           add a "source" plugin description field, to represent the source
24571           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
24572           will set it to PACKAGE, which is automake's idea of the name of
24573           the source project.
24574
24575 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24576
24577         * Makefile.am:
24578         * autogen.sh:
24579         * configure.ac:
24580         * docs/Makefile.am:
24581         * docs/faq/Makefile.am:
24582         * docs/gst/tmpl/gstelement.sgml:
24583         * docs/gst/tmpl/gsttypes.sgml:
24584         * docs/htmlinstall.mak:
24585         * docs/manual/Makefile.am:
24586         * docs/pwg/Makefile.am:
24587           reorganize doc build a little
24588           split out docbook and gtk-doc stuff
24589           have two separate --enable's and enable them through autogen
24590           but disable by default in configure (to be similar to other
24591           projects)
24592         * gstreamer.spec.in:
24593           clean up docs install
24594         * po/af.po:
24595         * po/az.po:
24596         * po/ca.po:
24597         * po/cs.po:
24598         * po/de.po:
24599         * po/en_GB.po:
24600         * po/fr.po:
24601         * po/it.po:
24602         * po/nb.po:
24603         * po/nl.po:
24604         * po/ru.po:
24605         * po/sq.po:
24606         * po/sr.po:
24607         * po/sv.po:
24608         * po/tr.po:
24609         * po/uk.po:
24610         * po/vi.po:
24611           translation updates
24612
24613 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
24614
24615         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
24616           Add comment.
24617           
24618         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24619         (gst_fake_sink_change_state):
24620           Make state change function thread-safe.
24621           
24622         * gst/gstpad.c: (gst_pad_alloc_buffer):
24623           Set offset on generic buffer allocated by fallback.
24624
24625 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
24626
24627         * docs/gst/gstreamer-sections.txt:
24628         * docs/gst/tmpl/gstelement.sgml:
24629         * gst/gstpad.c:
24630         * libs/gst/controller/gst-controller.c:
24631         (gst_controlled_property_set_interpolation_mode),
24632         (gst_controlled_property_new),
24633         (gst_controller_find_controlled_property):
24634          run the wingo-magic script against the docs
24635
24636 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
24637
24638         * docs/gst/gstreamer-docs.sgml:
24639         * docs/gst/gstreamer-sections.txt:
24640         * docs/gst/tmpl/.cvsignore:
24641         * docs/gst/tmpl/gstelementdetails.sgml:
24642         * docs/gst/tmpl/gstelementfactory.sgml:
24643         * gst/gst.c:
24644         * gst/gstbus.c:
24645         * gst/gstelementfactory.c:
24646         * gst/gstelementfactory.h:
24647           merged elementdetails docs into elementfactory docs
24648           inlined both
24649
24650 2005-09-02  Andy Wingo  <wingo@pobox.com>
24651
24652         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
24653         consider this enum an enum and not a flags.
24654
24655 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
24656
24657         * docs/gst/gstreamer-docs.sgml:
24658         * docs/gst/tmpl/.cvsignore:
24659         * docs/gst/tmpl/gstghostpad.sgml:
24660         * docs/gst/tmpl/gstiterator.sgml:
24661         * docs/gst/tmpl/gstmacros.sgml:
24662         * docs/gst/tmpl/gstrealpad.sgml:
24663         * docs/gst/tmpl/gstregistry.sgml:
24664         * docs/gst/tmpl/gstregistrypool.sgml:
24665         * docs/gst/tmpl/gststructure.sgml:
24666         * docs/gst/tmpl/gstsystemclock.sgml:
24667         * docs/gst/tmpl/gsttrace.sgml:
24668         * gst/gstghostpad.c:
24669         * gst/gstmacros.h:
24670         * gst/gstmemchunk.c:
24671         * gst/gstmemchunk.h:
24672         * gst/gstqueue.c:
24673         * gst/gstregistry.c:
24674         * gst/gstregistrypool.c:
24675         * gst/gststructure.c:
24676         * gst/gstsystemclock.c:
24677           more docs inlined
24678
24679 2005-09-02  Andy Wingo  <wingo@pobox.com>
24680
24681         * gst/gstelement.h (GstState): Renamed from GstElementState,
24682         changed to be a normal enum instead of flags.
24683         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
24684         munged to be GST_STATE_CHANGE_*.
24685         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
24686         work with the new state representation.
24687         (GstStateChange): New enumeration of possible state transitions.
24688         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
24689         (GstElementClass::change_state): Pass the GstStateChange along as
24690         an argument. Helps language bindings, so they don't have to use
24691         tricky lock-needing macros like GST_STATE_CHANGE ().
24692
24693         * scripts/update-states (file): New script. Run it on a file to
24694         update it for state naming and API changes. Updates files in
24695         place.
24696
24697         * All files updated for the new API.
24698
24699 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24700
24701         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
24702         * gst/gstutils.c: (gst_util_set_value_from_string),
24703         (gst_util_set_object_arg):
24704           fix a bunch of unchecked return values
24705         * tools/gst-complete.c: (main):
24706         * gstreamer.spec.in:
24707           clean up a little
24708
24709 2005-09-01  Wim Taymans  <wim@fluendo.com>
24710
24711         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24712         (gst_base_sink_event), (gst_base_sink_do_sync),
24713         (gst_base_sink_handle_event):
24714         * gst/base/gstbasesink.h:
24715         Handle newsegments more correctly.
24716
24717         * gst/gstbus.c:
24718         Fix docs.
24719
24720         * gst/gstevent.c: (gst_event_new_newsegment):
24721         A newsegment cannot have a start_time of -1
24722
24723 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
24724
24725         * win32/gstenumtypes.c:
24726         * win32/gstenumtypes.h:
24727           Update
24728
24729 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
24730
24731         * libs/gst/controller/gst-controller.c:
24732         (gst_controlled_property_set_interpolation_mode),
24733         (gst_controlled_property_new):
24734          fixed boolean again
24735
24736 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
24737
24738         * docs/faq/gst-uninstalled:
24739           add -good
24740         * gst/gstevent.c:
24741         * gst/gstevent.h:
24742           remove wrong docs
24743         * gst/gstutils.c: (gst_element_link_filtered):
24744         * gst/gstutils.h:
24745           add gst_element_link_filtered
24746
24747 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
24748
24749         * docs/gst/gstreamer-docs.sgml:
24750         * docs/gst/gstreamer-sections.txt:
24751         * docs/gst/tmpl/.cvsignore:
24752         * docs/gst/tmpl/gsterror.sgml:
24753         * docs/gst/tmpl/gstfilter.sgml:
24754         * docs/gst/tmpl/gsturihandler.sgml:
24755         * docs/gst/tmpl/gsturitype.sgml:
24756         * docs/gst/tmpl/gstutils.sgml:
24757         * docs/gst/tmpl/gstxml.sgml:
24758         * gst/gsterror.c:
24759         * gst/gsterror.h:
24760         * gst/gstfilter.c:
24761         * gst/gsturi.c:
24762         * gst/gsturitype.c:
24763         * gst/gstutils.c:
24764         * gst/gstxml.c:
24765           inlined more docs, fixed double id-ref
24766
24767 2005-08-31  Wim Taymans  <wim@fluendo.com>
24768
24769         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24770         (gst_base_transform_handle_buffer):
24771         Passthrough elements don't need the caps as they don't care.
24772
24773 2005-08-31  Wim Taymans  <wim@fluendo.com>
24774
24775         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24776         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
24777         Don't leak refcounts on buffers.
24778
24779 2005-08-31  Wim Taymans  <wim@fluendo.com>
24780
24781         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
24782         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
24783         (gst_base_transform_chain), (gst_base_transform_change_state):
24784         * gst/base/gstbasetransform.h:
24785         Handle the case where we are not negotiated more gracefully.
24786
24787 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
24788
24789         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
24790         (gst_file_src_map_region):
24791           Set READONLY flag on mmap'ed buffers, otherwise
24792           gst_buffer_make_writable() won't work properly (#314708).
24793
24794 2005-08-31  Wim Taymans  <wim@fluendo.com>
24795
24796         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
24797         passthrough elements can even do inplace on non writable
24798         buffers (as they don't touch them).
24799
24800 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
24801
24802         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
24803         (gst_test_mono_source_set_property),
24804         (gst_test_mono_source_class_init), (GST_START_TEST),
24805         (gst_controller_suite):
24806           more tests (hehe I have the most)
24807         * gst/gstbus.c:
24808           describe popping messages whenusing mulltiple sources
24809         * libs/gst/controller/gst-controller.c:
24810         (gst_controlled_property_set_interpolation_mode),
24811         (gst_controlled_property_new):
24812         * libs/gst/controller/gst-controller.h:
24813         * libs/gst/controller/gst-interpolation.c:
24814           implement boolean properties
24815
24816 2005-08-31  Wim Taymans  <wim@fluendo.com>
24817
24818         * gst/gstminiobject.c: (gst_mini_object_ref):
24819         Cannot assert that the refcount has to be positive
24820         since a disposed object can be resurrected.
24821
24822 2005-08-31  Wim Taymans  <wim@fluendo.com>
24823
24824         * gst/gstpad.c: (gst_pad_init):
24825         Revert change, need to first fix badly behaving 
24826         apps.
24827
24828 2005-08-30  Wim Taymans  <wim@fluendo.com>
24829
24830         * check/elements/fakesrc.c: (setup_fakesrc):
24831         * check/elements/identity.c: (setup_identity):
24832         Activate pads before using them.
24833
24834 2005-08-30  Wim Taymans  <wim@fluendo.com>
24835
24836         * gst/base/gstadapter.c: (gst_adapter_flush):
24837         Flushing out 0 bytes is ok for this function.
24838
24839         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24840         no newsegment gives a warning and sets the start/stop to 
24841         invalid.
24842
24843         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
24844         (gst_base_transform_set_passthrough):
24845         Some debug info.
24846
24847         * gst/gstminiobject.c: (gst_mini_object_ref):
24848         Check refcount here too.
24849
24850         * gst/gstpad.c: (gst_pad_init):
24851         Pads are initially flushing and refusing data.
24852
24853         * gst/gstutils.c: (gst_element_link_pads_filtered):
24854         When adding a capsfilter element make sure it has the
24855         same state as the parent bin.
24856
24857 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24858
24859         * docs/gst/tmpl/.cvsignore:
24860         * docs/gst/tmpl/gstformat.sgml:
24861         * docs/gst/tmpl/gstversion.sgml:
24862         * gst/gstbus.h:
24863         * gst/gstformat.c:
24864         * gst/gstformat.h:
24865         * gst/gstversion.h.in:
24866           more docs and two more inlined
24867
24868 2005-08-30  Wim Taymans  <wim@fluendo.com>
24869
24870         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
24871         Don't sync to clock.
24872
24873 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24874
24875         * docs/gst/gstreamer-sections.txt:
24876           ultral33t func10ns deserve to appear in the docs actually
24877         * docs/gst/tmpl/.cvsignore:
24878         * docs/gst/tmpl/gstcompat.sgml:
24879         * docs/gst/tmpl/gstconfig.sgml:
24880         * gst/check/gstcheck.c:
24881         * gst/gstcompat.h:
24882         * gst/gstconfig.h.in:
24883           inlined more docs
24884
24885 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24886
24887         * docs/gst/tmpl/.cvsignore:
24888         * docs/gst/tmpl/gstquery.sgml:
24889         * docs/gst/tmpl/gstutils.sgml:
24890         * gst/gstquery.c:
24891         * gst/gstquery.h:
24892           inlined and extended docs
24893
24894 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24895
24896         * check/gst-libs/controller.c: (GST_START_TEST),
24897         (gst_controller_suite):
24898           more tests
24899         * docs/gst/tmpl/gstutils.sgml:
24900         * docs/libs/gstreamer-libs-sections.txt:
24901         * docs/libs/tmpl/gstdataprotocol.sgml:
24902           include path fixes
24903         * examples/controller/audio-example.c: (main):
24904           controller example works now
24905         * gst/gstclock.h:
24906           doc fixes
24907         * tools/gst-inspect.c: (print_element_properties_info):
24908           show param spec flags
24909
24910 2005-08-29  Andy Wingo  <wingo@pobox.com>
24911
24912         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
24913
24914 2005-08-28  Andy Wingo  <wingo@pobox.com>
24915
24916         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
24917         as having two arguments instead of just one. Allows superclasses
24918         to access information on subclasses -- see the terrible for() loop
24919         in gtype.c:g_type_create_instance for the reason why. All callers
24920         changed.
24921
24922 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24923
24924         * docs/design/part-messages.txt:
24925           update info
24926         * docs/gst/tmpl/.cvsignore:
24927         * docs/gst/tmpl/gstcaps.sgml:
24928         * docs/gst/tmpl/gstclock.sgml:
24929         * gst/gstbus.c:
24930         * gst/gstcaps.c:
24931         * gst/gstcaps.h:
24932         * gst/gstclock.c:
24933         * gst/gstclock.h:
24934         * gst/gstmessage.c:
24935           added descriptions for bus and message
24936           inline caps and clock docs
24937
24938 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24939
24940         * gst/gstmessage.c:
24941         * gst/gstmessage.h:
24942           doc fixes
24943
24944 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24945
24946         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24947           fix div-by-zero
24948
24949 2005-08-26  Andy Wingo  <wingo@pobox.com>
24950
24951         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
24952         element_set_state's return val.
24953         (test_2_elements): Add test that's been disabled for months.
24954
24955         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
24956         can-activate-pull properties.
24957
24958         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
24959         can-activate-pull properties. Implement is_seekable so fakesrc can
24960         operate in pull mode.
24961
24962         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
24963         properties.
24964         (gst_base_sink_activate, gst_base_sink_activate_pull)
24965         (gst_base_sink_activate_push): Make activation mode choosing work.
24966         Cleanups.
24967         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
24968         is right. Make pull mode work. Post an eos before pausing in pull
24969         mode.
24970         (gst_base_sink_change_state): Pay attention to the core's
24971         change_state() return val.
24972         
24973         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
24974         has-getrange properties. Cleanups.
24975         
24976         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
24977         has_getrange and replace with can_activate_pull and
24978         can_activate_push.
24979
24980         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
24981         locking comments. Remove has_loop, has_chain and replace with
24982         can_activate_pull and can_activate_push.
24983
24984 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
24985
24986         * configure.ac:
24987         * examples/Makefile.am:
24988         * examples/metadata/Makefile.am:
24989         * examples/metadata/read-metadata.c: (message_loop),
24990         (have_pad_handler), (make_pipeline), (print_tag), (main):
24991           Add metadata reading example that loops over a list of filenames,
24992           dumping any tags found.
24993
24994         * gst/gstbus.c: (gst_bus_dispose):
24995         * gst/gstelement.c: (gst_element_dispose):
24996           Release a few potentially-held references in dispose.
24997
24998 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24999
25000         * docs/gst/tmpl/gstminiobject.sgml:
25001           do *not* add tmpl/*.sgml files to CVS!
25002
25003 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25004
25005         * libs/gst/bytestream/.cvsignore:
25006         * libs/gst/bytestream/Makefile.am:
25007         * libs/gst/bytestream/adapter.c:
25008         * libs/gst/bytestream/adapter.h:
25009         * libs/gst/bytestream/bytestream.c:
25010         * libs/gst/bytestream/bytestream.h:
25011         * libs/gst/bytestream/filepad.c:
25012         * libs/gst/bytestream/filepad.h:
25013           removing obsolete files
25014
25015 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25016
25017         * docs/gst/gstreamer-docs.sgml:
25018         * docs/libs/gstreamer-libs-docs.sgml:
25019           disabed additional index entries again, as this makes docs-gen just
25020           slow and they aren't useful yet
25021         * docs/libs/gstreamer-libs-sections.txt:
25022           little -section.txt cleanup for libs
25023
25024 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
25025
25026         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25027         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
25028           fix up some debugging
25029         (gst_base_transform_get_unit_size),
25030         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25031         (gst_base_transform_handle_buffer):
25032         * gst/base/gstbasetransform.h:
25033           handle and store timed NEWSEGMENT events so that subclasses that
25034           calculate time by counting samples have a segment_start time they
25035           need to add to their timestamps - see audioresample
25036
25037 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25038
25039         * gst/gstbin.h:
25040           removed ';' from the end of macro defs
25041         * docs/gst/gstreamer-docs.sgml:
25042         * docs/gst/gstreamer-sections.txt:
25043         * docs/gst/tmpl/.cvsignore:
25044         * gst/gstbus.h:
25045         * gst/gstelement.c: (gst_element_class_init),
25046         (gst_element_set_state), (activate_pads),
25047         (gst_element_save_thyself):
25048         * gst/gstevent.c: (gst_event_new_newsegment):
25049         * gst/gstevent.h:
25050         * gst/gstiterator.c:
25051         * gst/gstiterator.h:
25052         * gst/gstpad.c:
25053         * gst/gstprobe.h:
25054         * gst/gstutils.c: (gst_pad_query_convert):
25055         * gst/gstutils.h:
25056           fixed parameter name mismatches between source, header and docs
25057           added some more docs, resolved the last batch of unused elements in
25058           docs (now someone needs to doc them)
25059
25060 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25061
25062         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
25063         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
25064           don't walk through the plugins backwards.  Where is all this
25065           reversed logic coming from ?
25066
25067 2005-08-25  Wim Taymans  <wim@fluendo.com>
25068
25069         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25070         (gst_base_transform_transform_size),
25071         (gst_base_transform_configure_caps),
25072         (gst_base_transform_get_unit_size),
25073         (gst_base_transform_buffer_alloc),
25074         (gst_base_transform_change_state):
25075         * gst/base/gstbasetransform.h:
25076         Cache caps unit_size.
25077         Make sure we cannot negotiate up and downstream at the
25078         same time.
25079
25080 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25081
25082         * gst/gst.c: (init_pre), (init_post):
25083           register the installed plugin path after the env var
25084         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
25085         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
25086           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
25087           directories, so the tests can prefer uninstalled over installed
25088
25089 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25090
25091         * gst/base/gstbasetransform.h:
25092           comment
25093         * gst/gstpad.c:
25094           add to docs
25095
25096 2005-08-25  Wim Taymans  <wim@fluendo.com>
25097
25098         * gst/gstbin.c: (bin_bus_handler):
25099         Be a bit more conservative about the posted message.
25100         
25101         * gst/gstbus.c: (gst_bus_post):
25102         Some cleanups, warn wrong return values.
25103
25104 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
25105
25106         * check/gst/gstbin.c: (GST_START_TEST):
25107         * gst/gstbin.c: (bin_bus_handler):
25108         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
25109         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
25110         (gst_message_new_warning), (gst_message_new_tag),
25111         (gst_message_new_state_changed), (gst_message_new_segment_start),
25112         (gst_message_new_segment_done), (gst_message_new_custom):
25113         * gst/gstmessage.h:
25114         * tools/gst-launch.c: (event_loop):
25115         * tools/gst-md5sum.c: (event_loop):
25116           Revert unpopular change for GST_MESSAGE_SRC to GObject.
25117
25118 2005-08-25  Wim Taymans  <wim@fluendo.com>
25119
25120         * check/generic/states.c: (GST_START_TEST):
25121         Cleanup can be done at the end.
25122
25123         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
25124         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25125         (gst_task_get_state), (gst_task_start), (gst_task_pause):
25126         Oh boy.. Thanks for finding this, Thomas. 
25127
25128 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
25129
25130         * docs/gst/gstreamer.types:
25131           added missing types
25132
25133 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
25134
25135         * docs/gst/gstreamer-docs.sgml:
25136         * docs/gst/gstreamer-sections.txt:
25137         * docs/gst/tmpl/.cvsignore:
25138         * gst/gstbin.c:
25139         * gst/gstiterator.c:
25140         * gst/gstutils.c:
25141         * gst/registries/gstxmlregistry.h:
25142           added missing classes and symbols (123 more to go)
25143           removed removed symbols from section file
25144           fixed many doc-comments
25145
25146 2005-08-24  Wim Taymans  <wim@fluendo.com>
25147
25148         * check/generic/states.c: (GST_START_TEST):
25149         Make sure all tasks are stopped.
25150
25151         * check/gst/gstbin.c: (GST_START_TEST):
25152         Unref after usage for proper valgrinding.
25153
25154         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
25155         Really wait for the task to stop before destroying the
25156         mutex.
25157
25158         * gst/gstqueue.c: (gst_queue_sink_activate_push),
25159         (gst_queue_src_activate_push):
25160         Small cleanups. Don't stop the task when we did not start
25161         it.
25162
25163         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
25164         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25165         (gst_task_get_state), (gst_task_start), (gst_task_pause),
25166         (gst_task_join):
25167         * gst/gsttask.h:
25168         Protect the stream lock with the object lock.
25169         Disallow setting the stream lock when running.
25170         Add cleanup_all to wait for the threadpool to finish.
25171         Remove code to autoallocate a mutex if none was provided.
25172         Add _join() to wait for a task to stop.
25173         Protect the thread pool with a global lock.
25174
25175 2005-08-24  Wim Taymans  <wim@fluendo.com>
25176
25177         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25178         (gst_base_sink_get_times), (gst_base_sink_do_sync),
25179         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
25180         * gst/base/gstbasesink.h:
25181         Handle newsegment events correctly.
25182         Drop buffers out of the segment range.
25183
25184 2005-08-22  Andy Wingo  <wingo@pobox.com>
25185
25186         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
25187         macro, implements an interface and gstimplementsinterface for a
25188         new type.
25189
25190 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
25191
25192         * check/Makefile.am:
25193         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
25194           add a test that does a bunch of state changes on elements
25195           needs some fixing for valgrind
25196         * check/states/sinks.c: (gst_object_suite):
25197           whitespace
25198         * gst/gstcaps.h:
25199           add prototype for gst_caps_is_equal_fixed
25200         * gst/gstplugin.c:
25201         * gst/gstregistrypool.c:
25202           doc fixes
25203
25204 2005-08-24  Andy Wingo  <wingo@pobox.com>
25205
25206         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
25207         convert a negative value. Doesn't make much sense. Mostly this is
25208         here to force callers to ensure -1 maps to -1.
25209
25210 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
25211
25212         * docs/pwg/advanced-types.xml:
25213           Well done to Michael for catching my deliberate introduction
25214           of this spelling mistake. 
25215         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
25216         * gst/gstelement.h:
25217           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
25218           unlink pads before removing the element from the bin.
25219
25220 2005-08-24  Andy Wingo  <wingo@pobox.com>
25221
25222         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
25223         the same thing as GST_DEBUG=*:4.
25224         (parse_debug_level, parse_debug_category): New helper parsers.
25225
25226 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
25227
25228         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25229         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
25230         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
25231         (gst_base_transform_buffer_alloc),
25232         (gst_base_transform_handle_buffer):
25233           use gboolean return values and pointers to size so we can use the
25234           full GST_BUFFER_SIZE range (guint) for buffer sizes
25235           use GstPadDirection for transform_caps
25236         * gst/base/gstbasetransform.h:
25237           rename get_size to get_unit_size since that's what it is
25238         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
25239           use GstPadDirection for transform_caps
25240         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25241         * gst/gstutils.h:
25242           cleanup and debugging
25243
25244 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
25245
25246         * gst/gstelement.c: (gst_element_class_init),
25247         (gst_element_set_state), (activate_pads),
25248         (gst_element_save_thyself):
25249         * tools/gst-compprep.c: (main):
25250         * tools/gst-inspect.c: (print_element_properties_info):
25251         * tools/gst-xmlinspect.c: (print_element_properties):
25252           Fixed long standing mem-leak
25253
25254 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
25255
25256         * check/gst/gstbin.c: (GST_START_TEST):
25257         * gst/gstbin.c: (bin_bus_handler):
25258         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
25259         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
25260         (gst_message_new_warning), (gst_message_new_tag),
25261         (gst_message_new_state_changed), (gst_message_new_segment_start),
25262         (gst_message_new_segment_done), (gst_message_new_custom):
25263         * gst/gstmessage.h:
25264         * tools/gst-launch.c: (event_loop):
25265         * tools/gst-md5sum.c: (event_loop):
25266           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
25267           that applications can sensibly post custom messages with references
25268           to their own objects.
25269
25270 2005-08-24  Andy Wingo  <wingo@pobox.com>
25271
25272         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
25273         already.
25274
25275 2005-08-24  Wim Taymans  <wim@fluendo.com>
25276
25277         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25278         (gst_base_transform_transform_caps),
25279         (gst_base_transform_transform_size),
25280         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25281         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25282         (gst_base_transform_handle_buffer):
25283         * gst/base/gstbasetransform.h:
25284         Many fixes and new features added by Thomas. Can now also do
25285         transforms with variable sizes and a custom fixate_caps function.
25286
25287 2005-08-24  Wim Taymans  <wim@fluendo.com>
25288
25289         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25290         Some debugging.
25291
25292         * gst/gstclock.h:
25293         Cast to ClockTime before formatting to time.
25294
25295         * gst/gstutils.h:
25296         Cleanups.
25297
25298 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
25299
25300         * check/gst-libs/controller.c: (GST_START_TEST),
25301         (gst_controller_suite):
25302         * docs/gst/tmpl/gstcaps.sgml:
25303         * docs/gst/tmpl/gstghostpad.sgml:
25304         * docs/gst/tmpl/gstquery.sgml:
25305         * docs/gst/tmpl/gstutils.sgml:
25306         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
25307         (gst_object_sink_values), (gst_object_get_value_arrays),
25308         (gst_object_get_value_array):
25309           gracefully handle helper method calls to objects that are not beeing
25310           controlled, added test case for that          
25311
25312 2005-08-23  Wim Taymans  <wim@fluendo.com>
25313
25314         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
25315         (gst_event_new_newsegment), (gst_event_parse_newsegment),
25316         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
25317         (gst_event_parse_qos), (gst_event_new_seek),
25318         (gst_event_parse_seek):
25319         * gst/gstevent.h:
25320         Some more debugging output and doc cleanups.
25321
25322         * gst/gstqueue.c: (gst_queue_handle_sink_event):
25323         Fix possible deadlock.
25324
25325 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
25326
25327         * docs/gst/gstreamer-docs.sgml:
25328         * docs/gst/gstreamer-sections.txt:
25329         * docs/gst/gstreamer.types:
25330         * docs/gst/tmpl/.cvsignore:
25331         * gst/gstbin.h:
25332         * gst/gstbus.c:
25333         * gst/gstelement.c:
25334         * gst/gstevent.h:
25335           added 100 symbols from gstreamer-unused.txt to the right sections
25336           fixed more broken comments
25337           added GstBus to docs
25338
25339 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
25340
25341         * docs/gst/gstreamer-sections.txt:
25342         * docs/gst/tmpl/.cvsignore:
25343         * docs/gst/tmpl/gstbin.sgml:
25344         * docs/gst/tmpl/gstbuffer.sgml:
25345         * gst/base/gstbasesrc.c:
25346         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
25347         * gst/gstbuffer.c:
25348         * gst/gstbuffer.h:
25349         * tools/gst-launch.1.in:
25350           inlined more doc comments, added missing comments and fixed comments
25351           fixed typos
25352
25353 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25354
25355         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25356           some debugging
25357         * gst/gstcaps.h:
25358           whitespace fixes
25359         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
25360           more debugging
25361         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
25362         * gst/gststructure.h:
25363           add a fixate function for booleans; add a FIXME that these func
25364           names should probably be gst_structure_fixate_*
25365
25366 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
25367
25368         * docs/gst/gstreamer-docs.sgml:
25369         * docs/gst/gstreamer-sections.txt:
25370         * gst/Makefile.am:
25371         * gst/gstbin.c: (gst_bin_get_type),
25372         (gst_bin_child_proxy_get_child_by_index),
25373         (gst_bin_child_proxy_get_children_count),
25374         (gst_bin_child_proxy_init):
25375         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
25376         (gst_child_proxy_get_child_by_index),
25377         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
25378         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
25379         (gst_child_proxy_get), (gst_child_proxy_set_property),
25380         (gst_child_proxy_set_valist), (gst_child_proxy_set),
25381         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
25382         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
25383         * gst/gstchildproxy.h:
25384         * gst/parse/grammar.y:
25385         * tools/gst-inspect.c: (print_interfaces),
25386         (print_element_properties_info), (print_element_info):
25387           ported gstchildproxy over from 0.8
25388           ported gst-inspect fixes and enhancements over from 0.8
25389
25390 2005-08-22  Wim Taymans  <wim@fluendo.com>
25391
25392         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25393         (gst_base_transform_handle_buffer):
25394         Also call the transform function if we have ANY caps.
25395
25396         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
25397         Fix debug info.
25398
25399 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
25400
25401         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
25402           Don't pretend to handle seek events if the source is not seekable
25403
25404 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
25405
25406         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25407           Remove extra parameter to debug output
25408
25409         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25410         (gst_base_src_do_seek), (gst_base_src_activate_push):
25411           Fix seek event handling.
25412
25413         * gst/gstpipeline.c: (gst_pipeline_change_state):
25414         * gst/gstqueue.c: (gst_queue_handle_sink_event),
25415         (gst_queue_src_activate_push):
25416           Don't start the src pad task on FLUSH_STOP if the pad
25417           isn't linked.
25418           Debug changes.
25419
25420 2005-08-22  Wim Taymans  <wim@fluendo.com>
25421
25422         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
25423         Added check for gst_static_caps_get() refcounting.
25424
25425 2005-08-22  Wim Taymans  <wim@fluendo.com>
25426
25427         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
25428         Make _static_caps_get() refcounting sane.
25429         
25430         * gst/gstelement.c: (gst_element_set_state):
25431         Add g_return_val_if_fail() to protect against segfaults.
25432
25433 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
25434
25435         * docs/gst/tmpl/gstevent.sgml:
25436         * gst/gstevent.c:
25437         * gst/gstevent.h:
25438           inlined remaining docs, added missing doc comments
25439
25440 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25441
25442         * check/gst/gstbin.c: (GST_START_TEST):
25443           since we don't know when preroll is done, use refcount range
25444           check for the sink
25445         * gst/check/gstcheck.h:
25446           add macro for checking refcount range
25447
25448 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25449
25450         * check/Makefile.am:
25451           clean up environment for when registry gets built versus
25452           when actual tests are run; valgrind seems to not report
25453           leaks if GST_PLUGIN_PATH is set to some specific values
25454         * check/gst/gstbin.c: (GST_START_TEST):
25455           add more refcounting checks; maybe this exposes a
25456           preroll lock bug ?
25457         * common/check.mak:
25458         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25459         * gst/check/gstcheck.h:
25460         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
25461         (gst_bin_change_state):
25462         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
25463           add/fix debugging/whitespace
25464
25465 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
25466
25467         * check/gst/gstevent.c: (event_probe), (test_event),
25468         (GST_START_TEST):
25469          Er, don't call gst_bin_watch_for_state_change you idiot.
25470
25471 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
25472
25473         * check/Makefile.am:
25474           Use CHECK_CFLAGS and CHECK_LIBS
25475         * check/gst/gstevent.c: (event_probe), (test_event),
25476         (GST_START_TEST):
25477           Don't leak events.
25478         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25479         (gst_base_src_start), (gst_base_src_stop),
25480         (gst_base_src_activate_push), (gst_base_src_activate_pull),
25481         (gst_base_src_change_state):
25482           Sprinkle gst_base_src_stop liberally around error paths to fix
25483           problems reusing a source after failed state changes.
25484         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25485         (helper_find_suggest), (gst_type_find_helper):
25486           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
25487         * gst/gstevent.h:
25488         * docs/gst/tmpl/gstevent.sgml:
25489           Migrate part of the docs from the SGML file. Wait for ensonic to
25490           tell me how I did it wrong ;)
25491         * tools/gst-typefind.c: (main):
25492           Extra robustness to state changes between files.
25493
25494 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25495
25496         * check/Makefile.am:
25497           don't valgrind the controller test - it's leaking - Stefan, HELP
25498         * gst/check/gstcheck.c: (gst_check_message_error),
25499         (gst_check_chain_func), (gst_check_setup_element),
25500         (gst_check_teardown_element), (gst_check_setup_src_pad),
25501         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
25502         (gst_check_teardown_sink_pad):
25503         * gst/check/gstcheck.h:
25504           add a bunch of methods to set up elements, and src and sink pads
25505         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
25506         * check/elements/identity.c: (setup_identity), (cleanup_identity),
25507         (GST_START_TEST):
25508           use them
25509         * gst/gstmessage.c:
25510         * gst/gsttag.h:
25511           whitespace/doc fixes
25512
25513 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25514
25515         * gst/gstelement.h:
25516           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
25517           be handled by the application and not always printed as well
25518
25519 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25520
25521         * check/Makefile.am:
25522           set GST_TOOLS_DIR
25523         * gst/check/gstcheck.c: (gst_check_message_error):
25524         * gst/check/gstcheck.h:
25525           add a fail_unless_equals_int
25526           add fail_unless for error messages
25527
25528 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25529
25530         * check/Makefile.am:
25531         * check/gst.supp:
25532         * common/Makefile.am:
25533         * common/check.mak:
25534         * common/gst.supp:
25535           factor out some of the common stuff so we can use it
25536
25537 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25538
25539         * check/Makefile.am:
25540         * check/gst/gstiterator.c: (GST_START_TEST):
25541         * check/gst/gstsystemclock.c: (GST_START_TEST),
25542         (gst_systemclock_suite):
25543         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
25544         * gst/gstclock.c:
25545           valgrind more tests
25546
25547 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25548
25549         * check/elements/.cvsignore:
25550         * check/elements/gstfakesrc.c:
25551           rename to name of element
25552         * check/elements/identity.c: (chain_func), (event_func),
25553         (setup_identity), (cleanup_identity), (GST_START_TEST),
25554         (identity_suite), (main):
25555           add a test for identity
25556         * check/Makefile.am:
25557         * pkgconfig/Makefile.am:
25558         * pkgconfig/gstreamer-check.pc.in:
25559         * pkgconfig/gstreamer-check-uninstalled.pc.in:
25560         * gst/check:
25561         * gst/Makefile.am:
25562         * configure.ac:
25563           move the check stuff to a library that gets installed
25564         * check/gst-libs/controller.c: (GST_START_TEST):
25565         * check/gst-libs/gdp.c:
25566         * check/gst/gst.c: (GST_START_TEST):
25567         * check/gst/gstbin.c:
25568         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25569         * check/gst/gstbus.c:
25570         * check/gst/gstcaps.c: (GST_START_TEST):
25571         * check/gst/gstelement.c:
25572         * check/gst/gstghostpad.c:
25573         * check/gst/gstiterator.c:
25574         * check/gst/gstmessage.c:
25575         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
25576         * check/gst/gstobject.c:
25577         * check/gst/gstpad.c: (GST_START_TEST):
25578         * check/gst/gststructure.c: (GST_START_TEST):
25579         * check/gst/gstsystemclock.c: (GST_START_TEST),
25580         (gst_systemclock_suite):
25581         * check/gst/gsttag.c: (gst_tag_suite):
25582         * check/gst/gstvalue.c:
25583         * check/pipelines/cleanup.c:
25584         * check/pipelines/simple_launch_lines.c:
25585         * check/states/sinks.c:
25586           change include statement
25587
25588         * docs/gst/gstreamer-sections.txt:
25589         * docs/gst/tmpl/gstpad.sgml:
25590           document more pad stuff
25591         * gst/gstminiobject.c: (gst_mini_object_ref),
25592         (gst_mini_object_unref):
25593           debug refcounting
25594
25595 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
25596
25597         * docs/gst/tmpl/gst.sgml:
25598         * gst/gst.c:
25599           eliminate another tmpl file, fix spelling in the long-description
25600
25601 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25602
25603         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25604         (test_event), (timediff), (gstevents_suite):
25605           Should fix build on 64-bit arch's
25606
25607 2005-08-18  Andy Wingo  <wingo@pobox.com>
25608
25609         Make sure that when a pipeline goes to PLAYING, that data has
25610         actually hit the sink.
25611
25612         * check/states/sinks.c (test_sink): A sink that doesn't get any
25613         data shouldn't return SUCCESS for going to either PLAYING or
25614         PAUSED. Test also the return values on the way back down.
25615
25616         * gst/gstelement.c (gst_element_set_state): When changing the
25617         state of an element currently changing state asynchronously, go to
25618         lost-state after commiting the pending state. Makes future calls
25619         to get_state continue to return ASYNC.
25620
25621         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
25622         ASYNC when going to PLAYING if we still don't have preroll, as can
25623         happen with live sources.
25624
25625 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25626
25627         * docs/pwg/advanced-types.xml:
25628           Hack long paragraph into 2 chunks as a workaround for buggy
25629           jadetex version in sid and breezy that loops infinitely and
25630           eats all RAM.
25631
25632 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25633
25634         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25635         (test_event), (timediff), (gstevents_suite):
25636           Provide more error margin in clock measurements to allow for 
25637           g_get_current_time inaccuracies.
25638
25639 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25640
25641         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25642         (test_event), (timediff), (gstevents_suite):
25643            Fix error message output so I might be able to tell why the
25644            test works here but fails on the build farm.
25645
25646 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25647
25648         * check/Makefile.am:
25649         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25650         (test_event), (timediff), (gstevents_suite), (main):
25651           I wrote a test!
25652
25653         * docs/design/part-seeking.txt:
25654           Spelling correction
25655
25656         * docs/gst/tmpl/gstevent.sgml:
25657         * docs/gst/tmpl/gstfakesrc.sgml:
25658           Docs updates.
25659
25660         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25661           Treat a buffer-without-newsegment the same as a receiving 
25662           a newsegment not in time format, and disable syncing to the clock
25663           with a warning.
25664
25665         * gst/gstbus.c: (gst_bus_set_sync_handler):
25666           Assert if anyone tries to replace the existing sync_handler for bus, 
25667           as only the owner should be setting it.
25668
25669         * gst/gstevent.h:
25670           Have a fixed set of custom event enums with events identified by
25671           their structure name (as in 0.8), rather than a free-for-all
25672           allowing collisions between enum values from different plugins.
25673
25674         * gst/gstpad.c: (gst_pad_class_init):
25675           Docs change.
25676           
25677         * gst/gstqueue.c: (gst_queue_handle_sink_event):
25678           Handle out-of-band downstream events from the sending thread.
25679
25680 2005-08-17  Andy Wingo  <wingo@pobox.com>
25681
25682         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
25683         play-timeout==0 to mean no timeout at all. In that case, don't
25684         bother with a get_state or a warning, just return directly, even
25685         if it's ASYNC.
25686
25687         * gst/base/gstbasetransform.c: Debug changes.
25688
25689         * gst/gstutils.h:
25690         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
25691         ensure bins post state change messages. A bit of a hack but I can't
25692         think of a way to avoid it.
25693
25694         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
25695
25696 2005-08-16  Andy Wingo  <wingo@pobox.com>
25697
25698         * gst/base/gstadapter.h:
25699         * gst/base/gstadapter.c (gst_adapter_take): New function, like
25700         peek() but you own the data. Not terribly efficient atm.
25701
25702 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25703
25704         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
25705         (gst_element_found_tags):
25706         * gst/gstutils.h:
25707           Add two utility functions for tag handling.
25708
25709 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25710
25711         * docs/manual/advanced-dataaccess.xml:
25712         * docs/manual/basics-helloworld.xml:
25713           Fix docs to use _bin_add() before _link(), which fixes the examples
25714           with recent core versions (reported by Madhan Raj M
25715           <raj_madan@rediffmail.com>, #313199).
25716
25717 2005-08-16  Wim Taymans  <wim@fluendo.com>
25718
25719         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
25720         Added subtract checks.
25721
25722         * docs/design/part-events.txt:
25723         Some more docs about newsegment
25724
25725         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
25726         Fix FIXME
25727
25728         * gst/gstcaps.c: (gst_caps_to_string):
25729         Add comments, cleanups.
25730         
25731         * gst/gstelement.c: (gst_element_save_thyself):
25732         cleanups
25733         
25734         * gst/gstvalue.c: (gst_value_collect_int_range),
25735         (gst_string_unwrap), (gst_value_union_int_int_range),
25736         (gst_value_union_int_range_int_range),
25737         (gst_value_intersect_int_int_range),
25738         (gst_value_intersect_int_range_int_range),
25739         (gst_value_intersect_double_double_range),
25740         (gst_value_intersect_double_range_double_range),
25741         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
25742         (gst_value_subtract_int_range_int),
25743         (gst_value_subtract_double_range_double),
25744         (gst_value_subtract_double_range_double_range),
25745         (gst_value_subtract_from_list), (gst_value_subtract_list),
25746         (gst_value_can_compare), (gst_value_compare_fraction):
25747         Cleanups, add comments, remove unneeded asserts.
25748
25749 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
25750
25751         * tools/gst-launch.c: (event_loop):
25752           don't convert NULL structures to strings
25753
25754 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
25755
25756         * docs/gst/gstreamer-sections.txt:
25757           made some defines private
25758         * docs/gst/tmpl/gstconfig.sgml:
25759         * docs/gst/tmpl/gstqueue.sgml:
25760         * docs/gst/tmpl/gsttaglist.sgml:
25761         * docs/gst/tmpl/gsttypes.sgml:
25762         * docs/gst/tmpl/gstutils.sgml:
25763         * docs/pwg/appendix-porting.xml:
25764         * gst/base/gstbasesink.h:
25765         * gst/base/gstbasesrc.c:
25766         * gst/base/gstbasesrc.h:
25767         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
25768         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
25769         * gst/gstelement.c: (gst_element_class_init):
25770         * gst/gstpad.c: (gst_pad_class_init):
25771         * gst/gstqueue.c: (gst_queue_class_init):
25772         * gst/gstxml.c: (gst_xml_class_init):
25773           documented all undocumented signal inline
25774         * libs/gst/controller/gst-controller.h:
25775           added padding
25776
25777 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25778
25779         * docs/pwg/appendix-porting.xml:
25780           Document _set_link_function -> _set_setcaps_function.
25781
25782 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
25783
25784         * check/Makefile.am:
25785           add a .check target for running the check
25786         * check/gst-libs/controller.c: (GST_START_TEST):
25787           cosmetic fixups
25788         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25789           complete checks for gstbuffer; would be nice if I could get the
25790           gcov stuff to work so I can see if I actually completed gstbuffer.c
25791         * check/gstcheck.h:
25792           add ASSERT_BUFFER_REFCOUNT
25793
25794 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
25795
25796         * docs/gst/gstreamer-sections.txt:
25797         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
25798         * gst/gsttag.h:
25799           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
25800           spew out a warning if a tag that is already registered
25801           is re-registered, unless it is re-registered with a 
25802           different type (#308438).
25803
25804 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
25805
25806         * docs/pwg/appendix-porting.xml:
25807         * docs/pwg/building-state.xml:
25808           Add some paragraphs about state changes in 0.9 to the PWG
25809           and the porting guide, in particular about the new meaning
25810           of GST_STATE_PAUSED and how to write state change functions
25811           with concurrent access by multiple threads in mind.
25812
25813 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
25814
25815         * docs/gst/gstreamer-docs.sgml:
25816         * docs/libs/gstreamer-libs-docs.sgml:
25817           added deprecation and since indexes
25818         * libs/gst/controller/gst-controller.c:
25819         * libs/gst/controller/gst-helper.c:
25820           added since tags
25821
25822
25823 2005-08-11  Wim Taymans  <wim@fluendo.com>
25824
25825         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
25826         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
25827         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
25828         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
25829         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
25830         (gst_ghost_pad_set_target):
25831         Actually implement (re)setting the target on a ghostpad
25832         as described in the docs.
25833
25834 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
25835
25836         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
25837           Check whether GST_DEBUG_NO_COLOR environment variable is
25838           set and disable coloured debug output if that is the case.
25839
25840 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
25841
25842         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25843         (gst_type_find_helper):
25844           The memory returned by gst_type_find_peek() needs to
25845           stay valid until the end of a typefind function, and
25846           typefind functions may keep results from different 
25847           offsets around, so we can't just unref the buffer from
25848           the previous _peek(), but have to save all buffers 
25849           returned by _peek() until typefinding is done and only
25850           free them then.
25851
25852 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
25853
25854         * docs/gst/gstreamer-sections.txt:
25855         * gst/gstutils.h:
25856           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
25857
25858 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25859
25860         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
25861           Fix a pretty good memleak.
25862
25863 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
25864
25865         * gst/gstiterator.h:
25866           Fix wrong include and 'make distcheck'.
25867
25868 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25869
25870         * gst/gstbin.c: (bin_bus_handler):
25871           Use gst_element_post_message() instead.
25872
25873 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
25874
25875         * gst/base/gstadapter.h:
25876         * gst/base/gstbasesink.h:
25877         * gst/base/gstbasesrc.h:
25878         * gst/base/gstbasetransform.h:
25879         * gst/base/gstcollectpads.h:
25880         * gst/base/gstpushsrc.h:
25881         * gst/gstiterator.h:
25882           Add padding to our base elements' class and instance structs and
25883           to GstIterator (you will need to rebuild all plugins and apps!)
25884
25885 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25886
25887         * gst/gstbin.c: (bin_bus_handler):
25888           Make default message forwarding from child->bus to bin->bus
25889           threadsafe and make it not emit warnings if the parent has no bus.
25890
25891 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25892
25893         * gst/gstelement.c: (activate_pads):
25894           On paused->ready, set pad->caps to NULL, as is the documented
25895           behaviour in this state change. Fixes playback of series of
25896           media files when visualization is enabled in Totem.
25897
25898 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25899
25900         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
25901           Allow NULL as filter-caps (which means "any").
25902
25903 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25904
25905         * docs/libs/gstreamer-libs-sections.txt:
25906         * libs/gst/controller/gst-controller.c:
25907         * libs/gst/controller/gst-controller.h:
25908         * libs/gst/controller/gst-helper.c:
25909           adding more entries to the docs and fix small doc-bugs
25910
25911 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25912
25913         * docs/gst/gstreamer-docs.sgml:
25914         * docs/gst/gstreamer-sections.txt:
25915         * docs/gst/gstreamer.types:
25916         * docs/gst/tmpl/gstbasesink.sgml:
25917         * docs/gst/tmpl/gstbasesrc.sgml:
25918         * docs/gst/tmpl/gstbasetransform.sgml:
25919         * docs/gst/tmpl/gstfakesrc.sgml:
25920         * gst/base/gstcollectpads.c:
25921         * gst/base/gstcollectpads.h:
25922         * libs/gst/controller/gst-controller.c:
25923         * libs/gst/controller/gst-controller.h:
25924         * libs/gst/controller/gst-helper.c:
25925         * libs/gst/controller/gst-interpolation.c:
25926         * libs/gst/controller/lib.c:
25927           added long/short desc for controller docs
25928           added collectpads base class docs
25929           added correct includes to base-class docs
25930
25931 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25932
25933         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25934         (gst_test_mono_source_set_property),
25935         (gst_test_mono_source_class_init), (GST_START_TEST),
25936         (gst_controller_suite):
25937         * docs/gst/gstreamer-docs.sgml:
25938         * docs/gst/gstreamer-sections.txt:
25939         * docs/gst/gstreamer.types:
25940         * docs/libs/gstreamer-libs-docs.sgml:
25941         * docs/libs/gstreamer-libs-sections.txt:
25942         * gst/base/gstadapter.c:
25943         * libs/gst/controller/gst-controller.c:
25944         (gst_controlled_property_new), (gst_controlled_property_free),
25945         (gst_controller_new_valist),
25946         (gst_controller_remove_properties_valist),
25947         (gst_controller_sink_values), (_gst_controller_finalize):
25948         * libs/gst/controller/gst-controller.h:
25949         * libs/gst/controller/gst-helper.c:
25950         (gst_object_control_properties), (gst_object_uncontrol_properties),
25951         (gst_object_get_controller), (gst_object_set_controller),
25952         (gst_object_sink_values), (gst_object_get_value_arrays),
25953         (gst_object_get_value_array):
25954           more tests (and fixes) for the controller
25955           more docs for the controller
25956           integrated companies docs for the adapter 
25957
25958 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
25959
25960         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
25961         (GST_START_TEST), (fakesrc_suite):
25962           add tests for sizetype
25963
25964 2005-08-04  Andy Wingo  <wingo@pobox.com>
25965
25966         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
25967         fixes buffer_alloc proxying among other things.
25968
25969         * gst/base/gstbasetransform.c:
25970         * gst/base/gstbasetransform.h:
25971         Revert patch to gstbasetransform from 7-28 removing
25972         delay_configure.
25973
25974         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
25975         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
25976         Semantics changed, should return not the size of the output buffer
25977         but the byte size of a buffer with a given caps.
25978
25979         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
25980         debug object.
25981         (gst_base_transform_configure_caps): Don't set out_size here: (in,
25982         out) are not the pad caps until setcaps finishes.
25983         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
25984         not-in-place case as well. Deal with changing from in-place to
25985         not-in-place within calling pad_alloc_buffer. Still a bit
25986         concerned about the overhead here...
25987
25988 2005-08-03  Andy Wingo  <wingo@pobox.com>
25989
25990         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
25991         fixating is an error.
25992
25993 2005-08-04  Edward Hervey  <edward@fluendo.com>
25994
25995         * gst/base/gstadapter.h: 
25996         Added gst_adapter_get_type() to the header
25997
25998 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25999
26000         * check/Makefile.am:
26001         * check/gst-libs/controller.c:
26002         * libs/gst/controller/gst-controller.c:
26003         (gst_controller_new_valist):
26004           added check test suite for the controller
26005         * gst/base/gstpushsrc.c:
26006           fixed a doc typo
26007
26008 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26009
26010         * docs/gst/Makefile.am:
26011         * docs/gst/gstreamer-docs.sgml:
26012         * docs/gst/gstreamer-sections.txt:
26013         * docs/gst/gstreamer.types:
26014         * docs/gst/tmpl/gstfakesrc.sgml:
26015         * gst/base/README:
26016         * gst/base/gstbasesink.c:
26017         * gst/base/gstbasesink.h:
26018         * gst/base/gstbasesrc.c:
26019         * gst/base/gstbasesrc.h:
26020         * gst/base/gstbasetransform.c:
26021         * gst/base/gstpushsrc.c:
26022         * gst/base/gstpushsrc.h:
26023           add short/long description docs to base classes
26024           add pushsrc to the docs
26025           remove consolidated doc fragments
26026
26027 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26028
26029         * configure.ac:
26030         * docs/libs/Makefile.am:
26031         * docs/libs/gstreamer-libs-docs.sgml:
26032         * docs/libs/gstreamer-libs-sections.txt:
26033         * docs/libs/gstreamer-libs.types:
26034         * examples/Makefile.am:
26035         * examples/controller/.cvsignore:
26036         * examples/controller/Makefile.am:
26037         * examples/controller/audio-example.c: (main):
26038         * libs/gst/Makefile.am:
26039         * libs/gst/controller/.cvsignore:
26040         * libs/gst/controller/Makefile.am:
26041         * libs/gst/controller/gst-controller.c:
26042         (on_object_controlled_property_changed), (gst_timed_value_compare),
26043         (gst_timed_value_find),
26044         (gst_controlled_property_set_interpolation_mode),
26045         (gst_controlled_property_new), (gst_controlled_property_free),
26046         (gst_controller_find_controlled_property),
26047         (gst_controller_new_valist), (gst_controller_new),
26048         (gst_controller_remove_properties_valist),
26049         (gst_controller_remove_properties), (gst_controller_set),
26050         (gst_controller_set_from_list), (gst_controller_unset),
26051         (gst_controller_get), (gst_controller_get_all),
26052         (gst_controller_sink_values), (gst_controller_get_value_arrays),
26053         (gst_controller_get_value_array),
26054         (gst_controller_set_interpolation_mode),
26055         (_gst_controller_finalize), (_gst_controller_init),
26056         (_gst_controller_class_init), (gst_controller_get_type):
26057         * libs/gst/controller/gst-controller.h:
26058         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
26059         (g_object_uncontrol_properties), (g_object_get_controller),
26060         (g_object_set_controller), (g_object_sink_values),
26061         (g_object_get_value_arrays), (g_object_get_value_array):
26062         * libs/gst/controller/gst-interpolation.c:
26063         (gst_controlled_property_find_timed_value_node),
26064         (interpolate_none_get), (interpolate_trigger_get),
26065         (interpolate_trigger_get_value_array):
26066         * libs/gst/controller/lib.c: (gst_controller_init):
26067         * pkgconfig/Makefile.am:
26068         * pkgconfig/gstreamer-control-uninstalled.pc.in:
26069         * pkgconfig/gstreamer-control.pc.in:
26070         * testsuite/Makefile.am:
26071         * testsuite/controller/.cvsignore:
26072         * testsuite/controller/Makefile.am:
26073         * testsuite/controller/interpolator.c: (main):
26074           added controller code
26075           removed dparam pc files
26076
26077 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
26078         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
26079         (gst_collectpads_stop):
26080           Broadcast the condition when shutting down, to make sure we wake all
26081           threads up. Shut down pads on finalize, for safety.
26082
26083 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
26084         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26085         (gst_base_transform_handle_buffer),
26086         (gst_base_transform_change_state):
26087           Handle PAUSED->READY->PAUSED transition after negotiation
26088           occurred already.
26089         * gst/gstmessage.c: (gst_message_init):
26090           Extra piece of debug for new messages.
26091
26092 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
26093
26094         * configure.ac:
26095         * docs/gst/tmpl/gstbasesrc.sgml:
26096         * docs/gst/tmpl/gstelement.sgml:
26097         * docs/gst/tmpl/gstevent.sgml:
26098         * docs/gst/tmpl/gstfakesrc.sgml:
26099         * docs/gst/tmpl/gstformat.sgml:
26100         * docs/gst/tmpl/gstghostpad.sgml:
26101         * docs/gst/tmpl/gstpad.sgml:
26102         * docs/gst/tmpl/gstquery.sgml:
26103         * docs/gst/tmpl/gststructure.sgml:
26104         * docs/gst/tmpl/gsttaglist.sgml:
26105         * docs/gst/tmpl/gstvalue.sgml:
26106         * docs/libs/gstreamer-libs-docs.sgml:
26107         * docs/libs/gstreamer-libs-sections.txt:
26108         * docs/libs/gstreamer-libs.types:
26109         * libs/gst/Makefile.am:
26110         * libs/gst/control/.cvsignore:
26111         * libs/gst/control/Makefile.am:
26112         * libs/gst/control/control.c:
26113         * libs/gst/control/control.h:
26114         * libs/gst/control/dparam.c:
26115         * libs/gst/control/dparam.h:
26116         * libs/gst/control/dparam_smooth.c:
26117         * libs/gst/control/dparam_smooth.h:
26118         * libs/gst/control/dparamcommon.h:
26119         * libs/gst/control/dparammanager.c:
26120         * libs/gst/control/dparammanager.h:
26121         * libs/gst/control/dplinearinterp.c:
26122         * libs/gst/control/dplinearinterp.h:
26123         * libs/gst/control/unitconvert.c:
26124         * libs/gst/control/unitconvert.h:
26125         * testsuite/Makefile.am:
26126         * testsuite/dynparams/.cvsignore:
26127         * testsuite/dynparams/Makefile.am:
26128         * testsuite/dynparams/dparamstest.c:
26129         * tools/Makefile.am:
26130         * tools/gst-inspect.c: (print_element_info), (main):
26131         * tools/gst-xmlinspect.c: (print_element_info), (main):
26132           deactivate and remove dparams (libgstcontrol)
26133
26134 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26135
26136         * gst/elements/gsttypefindelement.c:
26137         (gst_type_find_element_have_type), (gst_type_find_element_init),
26138         (stop_typefinding), (gst_type_find_element_handle_event),
26139         (gst_type_find_element_chain), (gst_type_find_element_getrange):
26140         * gst/elements/gsttypefindelement.h:
26141           Set caps on all outgoing buffers, not just the first one.
26142
26143 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26144
26145         * gst/elements/gsttypefindelement.c:
26146         (gst_type_find_element_have_type),
26147         (gst_type_find_element_check_set_buffer_caps),
26148         (gst_type_find_element_init), (stop_typefinding),
26149         (gst_type_find_element_handle_event),
26150         (gst_type_find_element_chain), (gst_type_find_element_getrange):
26151         * gst/elements/gsttypefindelement.h:
26152           Set caps on first outgoing buffer when we've found the type.
26153
26154 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26155
26156         * docs/gst/gstreamer-docs.sgml:
26157         * docs/gst/gstreamer-sections.txt:
26158         * docs/gst/tmpl/gstscheduler.sgml:
26159         * docs/gst/tmpl/gstschedulerfactory.sgml:
26160           Remove some old cruft from docs.
26161
26162 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
26163
26164         * gst/gstpad.h:
26165           Fix inline docs for GstPadLinkReturn.
26166           
26167         * gst/gststructure.c: (gst_structure_has_name):
26168         * gst/gststructure.h:
26169         * docs/gst/gstreamer-sections.txt:
26170           New API: gst_structure_has_name().
26171
26172 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
26173
26174         * configure.ac:
26175           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
26176           and _LARGEFILE_SOURCE in config.h as required. Do not 
26177           export those flags in our .pc files any longer (#142209).
26178
26179           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
26180
26181         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
26182         (gst_file_sink_do_seek), (gst_file_sink_event),
26183         (gst_file_sink_get_current_offset), (gst_file_sink_render):
26184           Redo seek/tell calls with large file support in mind; add some
26185           debugging messages; add log message that tells us when large
26186           file support is unavailable or not enabled for some reason.
26187
26188         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
26189           Add log message that tells us when large file support 
26190           is unavailable or not enabled for some reason.
26191
26192 2005-07-29  Wim Taymans  <wim@fluendo.com>
26193
26194         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
26195         Added test for removing an element with ghostpad from a bin.
26196         Fixed test as current implementation does the right thing.
26197
26198         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
26199         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
26200         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
26201         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
26202         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
26203         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
26204         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
26205         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
26206         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
26207         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
26208         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
26209         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
26210         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
26211         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
26212         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
26213         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
26214         * gst/gstghostpad.h:
26215         Clean up ghostpads, remove properties for internal stuff.
26216         Make threadsafe.
26217         Fix refcounting.
26218         Prepare for switching targets, not all use cases work yet.
26219
26220 2005-07-29  Wim Taymans  <wim@fluendo.com>
26221
26222         * docs/design/part-gstghostpad.txt:
26223         Small update.
26224
26225         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
26226         (gst_bin_remove_func):
26227         Unlinking pads while holding the bin LOCK is not a good
26228         idea.
26229
26230         * gst/gstpad.c: (gst_pad_class_init),
26231         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
26232         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
26233         No prob setting template after creating the pad.
26234
26235 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
26236
26237         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
26238         (gst_bus_peek), (gst_bus_source_dispatch),
26239         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
26240         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
26241           gst_bus_poll may be called from other threads. Handle
26242           this nicely by not making poll_data disappear off the
26243           stack once gst_bus_poll returns.
26244           gst_bus_peek now increments the refcount on the returned
26245           message.
26246
26247 2005-07-29  Wim Taymans  <wim@fluendo.com>
26248
26249         * docs/design/part-gstghostpad.txt:
26250         Overview of current GhostPad datastructures and use
26251         cases for changing the target.
26252
26253 2005-07-28  Wim Taymans  <wim@fluendo.com>
26254
26255         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
26256         Added checks for hierarchy consistency whan adding linked
26257         elements to bins.
26258
26259         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
26260         Added check to test element scheduling without bin/pipeline.
26261
26262         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
26263         First add elements to bin, then link.
26264         
26265         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
26266         (gst_bin_remove_func):
26267         Unlink pads from elements added/removed from bin to maintain
26268         hierarchy consistency.
26269
26270 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26271
26272         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26273         (gst_base_transform_handle_buffer):
26274         * gst/base/gstbasetransform.h:
26275           Remove broken delay_configure (fixes renegotiation of software
26276           scaling pipelines); remove some leftover printf()s.
26277
26278 2005-07-28  Wim Taymans  <wim@fluendo.com>
26279
26280         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
26281         Added some more tests for wrong hierarchy
26282
26283         * docs/design/part-overview.txt:
26284         Some updates.
26285
26286         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
26287         Cleanups.
26288
26289         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
26290         (gst_element_dispose):
26291         Some more cleanups.
26292
26293         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
26294         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
26295         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26296         (gst_pad_set_caps), (gst_pad_send_event):
26297         Check for correct hierarchy when linking pads. Moving to
26298         strict requirement for ghostpads when linking elements in
26299         different bins.
26300
26301         * gst/gstpad.h:
26302         Clean ups. Added WRONG_HIERARCHY return value.
26303
26304 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26305
26306         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
26307           Better debug if no transform is possible.
26308
26309 2005-07-27  Wim Taymans  <wim@fluendo.com>
26310
26311         * docs/random/wtay/network-transp:
26312         Some old doc I had.
26313
26314 2005-07-27  Wim Taymans  <wim@fluendo.com>
26315
26316         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
26317         (gst_dp_event_from_packet):
26318         Fix serialization of seek events.
26319
26320 2005-07-27  Wim Taymans  <wim@fluendo.com>
26321
26322         * check/gst-libs/gdp.c: (GST_START_TEST):
26323         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
26324         Fix compilation and fix event serialization.
26325
26326 2005-07-27  Wim Taymans  <wim@fluendo.com>
26327
26328         * CHANGES-0.9:
26329         * docs/design/part-TODO.txt:
26330         * docs/design/part-events.txt:
26331         Some docs updates
26332
26333         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26334         (gst_base_sink_event), (gst_base_sink_do_sync),
26335         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
26336         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26337         (gst_base_src_do_seek), (gst_base_src_event_handler),
26338         (gst_base_src_loop):
26339         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26340         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26341         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26342         (gst_base_transform_event), (gst_base_transform_handle_buffer),
26343         (gst_base_transform_set_passthrough),
26344         (gst_base_transform_is_passthrough):
26345         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
26346         * gst/elements/gstfilesink.c: (gst_file_sink_event):
26347         Event updates.
26348
26349         * gst/gstbuffer.h:
26350         Use faster casts.
26351
26352         * gst/gstelement.c: (gst_element_seek):
26353         * gst/gstelement.h:
26354         Update gst_element_seek.
26355
26356         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
26357         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
26358         (gst_event_new_flush_start), (gst_event_new_flush_stop),
26359         (gst_event_new_eos), (gst_event_new_newsegment),
26360         (gst_event_parse_newsegment), (gst_event_new_tag),
26361         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
26362         (gst_event_parse_qos), (gst_event_new_seek),
26363         (gst_event_parse_seek), (gst_event_new_navigation):
26364         * gst/gstevent.h:
26365         Make GstEvent use GstStructure. Add parsing code, make sure the
26366         API is sufficiently generic.
26367         Mark possible directions of events and serialization.
26368
26369         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
26370         (_gst_message_copy), (gst_message_new_segment_start),
26371         (gst_message_new_segment_done), (gst_message_new_custom),
26372         (gst_message_parse_segment_start),
26373         (gst_message_parse_segment_done):
26374         Small cleanups.
26375
26376         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26377         (gst_pad_set_caps), (gst_pad_send_event):
26378         Update for new events. 
26379         Catch events sent in wrong directions.
26380
26381         * gst/gstqueue.c: (gst_queue_link_src),
26382         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
26383         (gst_queue_handle_src_query):
26384         Event updates.
26385
26386         * gst/gsttag.c:
26387         * gst/gsttag.h:
26388         Remove event code from this file.
26389
26390         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
26391         (gst_dp_event_from_packet):
26392         Event updates.
26393
26394 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26395
26396         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
26397         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26398         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
26399           Make debugging actually useful.
26400
26401 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26402
26403         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
26404         (gst_pad_fixate_caps):
26405           Implement default fixation once again, so that gst_pad_fixate()
26406           actually does anything at all. This probably needs to be some
26407           sort of a last resort, and use profile-based fixation first, but
26408           since that doesn't exist yet, this is the best we have. Fixes
26409           visualization in Totem.
26410
26411 2005-07-22  Wim Taymans  <wim@fluendo.com>
26412
26413         * docs/design/part-events.txt:
26414         Small update.
26415
26416         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26417         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
26418         (gst_base_sink_activate_pull):
26419         Some more comments.
26420
26421         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
26422         (gst_fake_src_create):
26423         Fix handoff marshall.
26424
26425         * gst/elements/gstidentity.c: (gst_identity_class_init),
26426         (gst_identity_transform_ip):
26427         We're a real inplace element.
26428
26429         * gst/gstbus.c: (gst_bus_post):
26430         Added some comments.
26431
26432         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
26433         * tests/muxing/case1.c: (main):
26434         * tests/sched/dynamic-pipeline.c: (main):
26435         * tests/sched/interrupt1.c: (main):
26436         * tests/sched/interrupt2.c: (main):
26437         * tests/sched/interrupt3.c: (main):
26438         * tests/sched/runxml.c: (main):
26439         * tests/sched/sched-stress.c: (main):
26440         * tests/seeking/seeking1.c: (event_received), (main):
26441         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
26442         (main):
26443         * tests/threadstate/threadstate3.c: (main):
26444         * tests/threadstate/threadstate4.c: (main):
26445         * tests/threadstate/threadstate5.c: (main):
26446         Fix the tests.
26447
26448 2005-07-21  Wim Taymans  <wim@fluendo.com>
26449
26450         * docs/design/part-seeking.txt:
26451         Some small additions.
26452
26453         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26454         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26455         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
26456         * gst/base/gstbasesink.h:
26457         discont values are gint64, handle the math correctly.
26458
26459         * gst/base/gstbasesrc.c: (gst_base_src_loop):
26460         Make the basesrc report error if the source pad is not linked.
26461
26462         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
26463         (gst_queue_loop), (gst_queue_handle_src_query),
26464         (gst_queue_src_activate_push):
26465         Make queue collect data even if the srcpad is not linked.
26466         Start pushing out data as soon as it is linked.
26467
26468         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
26469         * gst/gstutils.h:
26470         Added gst_flow_get_name() to ease error reporting.
26471
26472 2005-07-20  Wim Taymans  <wim@fluendo.com>
26473
26474         * gst/gstmessage.c: (gst_message_new_segment_start),
26475         (gst_message_new_segment_done), (gst_message_parse_segment_start),
26476         (gst_message_parse_segment_done):
26477         * gst/gstmessage.h:
26478         Added a bunch of messages for advanced seeking.
26479
26480         * gst/parse/grammar.y:
26481         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
26482         (gst_dpman_state_changed):
26483         Fix some new-pad -> pad-added signals
26484
26485 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26486
26487         * docs/manual/appendix-porting.xml:
26488         * docs/pwg/appendix-porting.xml:
26489           Document new-pad/state-change signal renames and the FixedList
26490           type rename.
26491
26492 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26493
26494         * docs/manual/advanced-autoplugging.xml:
26495         * docs/manual/basics-helloworld.xml:
26496         * docs/manual/basics-pads.xml:
26497         * docs/random/ds/0.9-suggested-changes:
26498         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
26499         * gst/gstelement.h:
26500         * gst/gstevent.h:
26501         * gst/gstformat.h:
26502         * gst/gstquery.h:
26503         * gst/gststructure.c: (gst_structure_value_get_generic_type),
26504         (gst_structure_parse_array), (gst_structure_parse_value):
26505         * gst/gstvalue.c: (gst_type_is_fixed),
26506         (gst_value_list_prepend_value), (gst_value_list_append_value),
26507         (gst_value_list_get_size), (gst_value_list_get_value),
26508         (gst_value_transform_array_string), (gst_value_serialize_array),
26509         (gst_value_deserialize_array), (gst_value_intersect_array),
26510         (gst_value_is_fixed), (_gst_value_initialize):
26511         * gst/gstvalue.h:
26512           GstElement::new-pad -> pad-added, GstElement::state-change ->
26513           state-changed, GstValueFixedList -> GstValueArray, add format and
26514           flags as their own arguments in gst_element_seek() (should improve
26515           "bindeability"), remove function generators since they don't work
26516           under a whole bunch of compilers (they were deprecated already
26517           anyway).
26518
26519 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26520
26521         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
26522         (_gst_debug_register_funcptr):
26523         * gst/gstinfo.h:
26524           Fix illegal cast on some platforms (#309253).
26525
26526 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26527
26528         * gst/gstmessage.c: (gst_message_new_custom):
26529         * gst/gstmessage.h:
26530           Add _new_custom, make _new_application a macro to _new_custom.
26531
26532 2005-07-20  Wim Taymans  <wim@fluendo.com>
26533
26534         * gst/base/gstbasesrc.c: (gst_base_src_init),
26535         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
26536         * gst/base/gstbasesrc.h:
26537         Add a gboolean to decide when to push out a discont.
26538
26539         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26540         (gst_queue_loop), (gst_queue_handle_src_query),
26541         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
26542         (gst_queue_set_property), (gst_queue_get_property):
26543         Some cleanups.
26544
26545         * tests/threadstate/threadstate1.c: (main):
26546         Make a thread test compile and run... very silly..
26547
26548
26549 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26550
26551         * docs/manual/appendix-porting.xml:
26552           Mention removal of libgstgconf-0.9.la and existence of gconf
26553           elements.
26554
26555 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26556
26557         * docs/pwg/advanced-clock.xml:
26558         * docs/pwg/appendix-porting.xml:
26559         * docs/pwg/intro-preface.xml:
26560         * docs/pwg/other-base.xml:
26561         * docs/pwg/other-manager.xml:
26562         * docs/pwg/other-nton.xml:
26563         * docs/pwg/other-ntoone.xml:
26564         * docs/pwg/other-oneton.xml:
26565         * docs/pwg/pwg.xml:
26566           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
26567           demuxer), remove n-to-n (was never written), fix some code examples
26568           and links and update the porting section to include all this.
26569
26570 2005-07-19  Wim Taymans  <wim@fluendo.com>
26571
26572         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
26573         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
26574         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
26575         (gst_queue_src_activate_push), (gst_queue_change_state),
26576         (gst_queue_get_property):
26577         * gst/gstqueue.h:
26578         Propagate GstFlowReturn more intelligently upstream and output
26579         an ERROR/EOS when streaming stopped due to fatal error.
26580
26581 2005-07-19  Wim Taymans  <wim@fluendo.com>
26582
26583         * tools/gst-launch.c: (check_intr), (event_loop), (main):
26584         Don't block forever for the state change to complete, the
26585         pipeline already did with a sensible timeout.
26586
26587 2005-07-19  Wim Taymans  <wim@fluendo.com>
26588
26589         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
26590         Make sure we never call the create function is we
26591         got deactivated.
26592
26593 2005-07-19  Andy Wingo  <wingo@pobox.com>
26594
26595         * gst/parse/parse.l: Attempt to solve bug #172815.
26596
26597 2005-07-19  Wim Taymans  <wim@fluendo.com>
26598
26599         * docs/design/part-clocks.txt:
26600         * docs/design/part-events.txt:
26601         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
26602         Small docs updates.
26603         Only update the seeking values when we are not
26604         busy streaming.
26605
26606 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
26607
26608         * gst/base/gstbasesrc.c: (gst_base_src_loop):
26609           Oops, ignore the result of gst_pad_push_event here.
26610
26611 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
26612
26613         * gst/base/gstbasesrc.c: (gst_base_src_loop),
26614         (gst_base_src_activate_push):
26615           Send discont event from the loop function, as pads
26616           aren't activated yet in the activate_push handler.
26617
26618         * gst/gstbin.c: (bin_bus_handler):
26619           Don't leak element name.
26620
26621 2005-07-18  Andy Wingo  <wingo@pobox.com>
26622
26623         * configure.ac: Use AS_LIBTOOL_TAGS.
26624
26625 2005-07-18  Wim Taymans  <wim@fluendo.com>
26626
26627         * docs/gst/gstreamer.types:
26628         Remove deleted types.
26629
26630 2005-07-18  Wim Taymans  <wim@fluendo.com>
26631
26632         * check/elements/gstfakesrc.c: (GST_START_TEST):
26633         * configure.ac:
26634         * gst/Makefile.am:
26635         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
26636         (init_popt_callback):
26637         * gst/gst.h:
26638         * gst/gst_private.h:
26639         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
26640         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
26641         * gst/gstbin.h:
26642         * gst/gstbus.h:
26643         * gst/gstconfig.h.in:
26644         * gst/gstelement.c: (gst_element_class_init),
26645         (gst_element_set_base_time), (gst_element_get_base_time),
26646         (iterator_fold_with_resync), (gst_element_change_state),
26647         (gst_element_dispose), (gst_element_get_bus):
26648         * gst/gstelement.h:
26649         * gst/gstelementfactory.h:
26650         * gst/gsterror.c: (_gst_core_errors_init):
26651         * gst/gsterror.h:
26652         * gst/gstevent.h:
26653         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
26654         * gst/gstindex.c:
26655         * gst/gstinfo.c: (_gst_debug_init):
26656         * gst/gstmessage.c: (_gst_message_copy):
26657         * gst/gstmessage.h:
26658         * gst/gstminiobject.h:
26659         * gst/gstobject.c:
26660         * gst/gstobject.h:
26661         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26662         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
26663         * gst/gstpad.h:
26664         * gst/gstparse.h:
26665         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
26666         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
26667         (gst_pipeline_get_last_stream_time):
26668         * gst/gstpipeline.h:
26669         * gst/gstpluginfeature.h:
26670         * gst/gstquery.h:
26671         * gst/gstscheduler.c:
26672         * gst/gstscheduler.h:
26673         * gst/gststructure.h:
26674         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
26675         (gst_task_finalize), (gst_task_func), (gst_task_create),
26676         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
26677         (gst_task_stop), (gst_task_pause):
26678         * gst/gsttask.h:
26679         * gst/gsttypefind.h:
26680         * gst/gsttypes.h:
26681         * gst/registries/gstlibxmlregistry.c: (load_feature),
26682         (gst_xml_registry_load), (gst_xml_registry_save_feature):
26683         * gst/registries/gstxmlregistry.c:
26684         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
26685         * gst/schedulers/threadscheduler.c:
26686         * libs/gst/control/dparammanager.h:
26687         * tools/gst-inspect.c: (print_element_list),
26688         (print_plugin_features), (print_element_features):
26689         * tools/gst-xmlinspect.c: (print_element_list),
26690         (print_plugin_info), (main):
26691         Removed plugable schedulers.
26692         Removed Scheduler/Manager from elements.
26693         Removed gsttypes.h, rearranged includes.
26694         Removed dependency pad<->element, element<>pipeline, and
26695         various others,  fix includes.
26696         implement gst_pad_get_parent() with gst_object_get_parent()
26697         Make GstTask sefcontained.
26698         Fix _get_state() on GstBin, it did not return ASYNC with a 0
26699         timeout.
26700         Fix endless loop in iterator_fold_with_resync.
26701
26702
26703 2005-07-18  Wim Taymans  <wim@fluendo.com>
26704
26705         * gst/Makefile.am:
26706         * gst/gstarch.h:
26707         Remove old file.
26708
26709 2005-07-18  Wim Taymans  <wim@fluendo.com>
26710
26711         * gst/Makefile.am:
26712         No more cothreads.h
26713
26714 2005-07-18  Wim Taymans  <wim@fluendo.com>
26715
26716         * gst/cothreads.c:
26717         * gst/cothreads.h:
26718         Let's remove these.
26719
26720 2005-07-18  Wim Taymans  <wim@fluendo.com>
26721
26722         * docs/design/part-dynamic.txt:
26723         * docs/design/part-events.txt:
26724         * docs/design/part-seeking.txt:
26725         Some more docs in the works.
26726
26727         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26728         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
26729         (gst_base_transform_setcaps), (gst_base_transform_get_size),
26730         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26731         (gst_base_transform_handle_buffer),
26732         (gst_base_transform_sink_activate_push),
26733         (gst_base_transform_src_activate_pull),
26734         (gst_base_transform_set_passthrough),
26735         (gst_base_transform_is_passthrough):
26736         Refcounting fixes.
26737
26738         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
26739         Cleanups.
26740
26741         * gst/gstevent.c: (gst_event_finalize):
26742         Set SRC to NULL.
26743
26744         * gst/gstutils.c: (gst_element_unlink),
26745         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
26746         (gst_pad_proxy_setcaps):
26747         * gst/gstutils.h:
26748         Add _get_parent_element() to get a pads parent as an element.
26749
26750 2005-07-18  Wim Taymans  <wim@fluendo.com>
26751
26752         * check/gst/gstbin.c: (GST_START_TEST):
26753         Remove bogus test.
26754
26755 2005-07-18  Wim Taymans  <wim@fluendo.com>
26756
26757         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
26758         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
26759         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
26760         (gst_base_sink_event), (gst_base_sink_do_sync),
26761         (gst_base_sink_chain), (gst_base_sink_loop),
26762         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
26763         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
26764         Refcounting fixes.
26765         Fix logic for returning ASYNC when not prerolled.
26766
26767 2005-07-18  Wim Taymans  <wim@fluendo.com>
26768
26769         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26770         Fix nasty refcount bug.
26771
26772 2005-07-16 Philippe Khalaf <burger@speedy.org>
26773
26774         * gst/elements/gstfdsrc.c:
26775         * gst/elements/gstfdsrc.h:
26776         * gst/elements/gstelements.c:
26777         * gst/elements/Makefile.am:
26778         Ported fdsrc to 0.9.
26779
26780 2005-07-16  Wim Taymans  <wim@fluendo.com>
26781
26782         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26783         (gst_base_sink_do_sync):
26784         Fix compile error.
26785
26786 2005-07-16  Wim Taymans  <wim@fluendo.com>
26787
26788         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26789         (gst_base_sink_event), (gst_base_sink_get_times),
26790         (gst_base_sink_do_sync), (gst_base_sink_change_state):
26791         * gst/base/gstbasesink.h:
26792         Store and use discont values when syncing buffers as described
26793         in design docs.
26794         
26795         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26796         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
26797         (gst_base_src_activate_push):
26798         Push discont event when starting.
26799
26800         * gst/elements/gstidentity.c: (gst_identity_transform):
26801         Small cleanups.
26802
26803         * gst/gstbin.c: (gst_bin_change_state):
26804         Small cleanups in base_time  distribution.
26805
26806         * gst/gstelement.c: (gst_element_set_base_time),
26807         (gst_element_get_base_time), (gst_element_change_state):
26808         * gst/gstelement.h:
26809         Added methods for the base_time of the element.
26810         Some MT fixes.
26811
26812         * gst/gstpipeline.c: (gst_pipeline_send_event),
26813         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
26814         (gst_pipeline_get_last_stream_time):
26815         * gst/gstpipeline.h:
26816         MT fixes.
26817         Handle seeking as described in design doc, remove stream_time
26818         hack.
26819         Cleanups clock and stream_time selection code. Added accessors
26820         for the stream_time.
26821         
26822
26823 2005-07-16  Andy Wingo  <wingo@pobox.com>
26824
26825         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
26826         (#305291).
26827
26828 2005-07-16  Wim Taymans  <wim@fluendo.com>
26829
26830         * check/gst/gstbin.c: (GST_START_TEST):
26831         Make elements silent as the deep_notify refs the
26832         parent, which might make the test fail.
26833
26834         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
26835         Don't hold the lock for too long.
26836
26837 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
26838
26839         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
26840           Don't unref the caps we passed to gst_caps_make_writable() after
26841           passing them. gst_caps_make_writable() will do that for us.
26842
26843 2005-07-15  Andy Wingo  <wingo@pobox.com>
26844
26845         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
26846         (#157311).
26847
26848         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
26849         own marshalling function for the handoff signal. Properly type the
26850         buffer as a buffer. Fixes some warnings. Should do a more general
26851         solution.
26852         (gst_identity_class_init): Plug into the right marshaller.
26853
26854 2005-07-15  Wim Taymans  <wim@fluendo.com>
26855
26856         * docs/design/part-TODO.txt:
26857         * docs/design/part-clocks.txt:
26858         * docs/design/part-element-sink.txt:
26859         * docs/design/part-events.txt:
26860         * docs/design/part-gstpipeline.txt:
26861         Updated docs, mostly DISCONT related.
26862
26863 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
26864
26865         * docs/pwg/building-pads.xml:
26866           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
26867
26868 2005-07-15  Andy Wingo  <wingo@pobox.com>
26869
26870         * tools/gst-typefind.c: Update, add copyright block.
26871
26872         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
26873         Normalize and truncate caps before fixation.
26874
26875         * gst/gstcaps.h:
26876         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
26877         discards all but the first structure from its argument.
26878
26879 2005-07-15  Wim Taymans  <wim@fluendo.com>
26880
26881         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26882         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
26883         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26884         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26885         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
26886         (gst_base_transform_chain), (gst_base_transform_change_state),
26887         (gst_base_transform_set_passthrough),
26888         (gst_base_transform_is_passthrough):
26889         * gst/base/gstbasetransform.h:
26890         Make passthrough work using the bufferpools.
26891         Changed API a bit, subclasses have to write into a buffer
26892         provided by the base class.
26893         More debug info in nego functions.
26894         
26895         * gst/elements/gstidentity.c: (gst_identity_init),
26896         (gst_identity_transform):
26897         Port to new base class.
26898
26899 2005-07-15  Wim Taymans  <wim@fluendo.com>
26900
26901         * gst/gstmessage.c: (gst_message_new_state_changed):
26902         * tools/gst-launch.c: (event_loop), (main):
26903         Totally dump messages in -launch with the -m option.
26904         Fix message name for State messages,
26905
26906 2005-07-14  Wim Taymans  <wim@fluendo.com>
26907
26908         * gst/base/gstbasesrc.c: (gst_base_src_loop):
26909         Post error messages on errors.
26910
26911 2005-07-14  Wim Taymans  <wim@fluendo.com>
26912
26913         * gst/gstcaps.c: (gst_caps_do_simplify):
26914         Remove debug info.
26915
26916         * gst/gsterror.h:
26917         Define error for stream stopped.
26918
26919         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26920         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
26921         Do proper return values.
26922
26923         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26924         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
26925         (gst_pad_get_range):
26926         Better return values.
26927
26928         * gst/gstpad.h:
26929         Reorganise return values, add macro to check for fatal errors.
26930
26931         * gst/gstqueue.c: (gst_queue_chain):
26932         Return proper GstFlowReturn values,
26933
26934 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
26935
26936         * docs/gst/gstreamer-sections.txt:
26937         * docs/gst/gstreamer.types:
26938         * docs/gst/tmpl/gst.sgml:
26939         * docs/gst/tmpl/gstbasesink.sgml:
26940         * docs/gst/tmpl/gstbasesrc.sgml:
26941         * docs/gst/tmpl/gstbasetransform.sgml:
26942         * docs/gst/tmpl/gstbin.sgml:
26943         * docs/gst/tmpl/gstbuffer.sgml:
26944         * docs/gst/tmpl/gstcaps.sgml:
26945         * docs/gst/tmpl/gstclock.sgml:
26946         * docs/gst/tmpl/gstcompat.sgml:
26947         * docs/gst/tmpl/gstconfig.sgml:
26948         * docs/gst/tmpl/gstelement.sgml:
26949         * docs/gst/tmpl/gstelementdetails.sgml:
26950         * docs/gst/tmpl/gstelementfactory.sgml:
26951         * docs/gst/tmpl/gstenumtypes.sgml:
26952         * docs/gst/tmpl/gsterror.sgml:
26953         * docs/gst/tmpl/gstevent.sgml:
26954         * docs/gst/tmpl/gstfakesink.sgml:
26955         * docs/gst/tmpl/gstfakesrc.sgml:
26956         * docs/gst/tmpl/gstfilesink.sgml:
26957         * docs/gst/tmpl/gstfilesrc.sgml:
26958         * docs/gst/tmpl/gstfilter.sgml:
26959         * docs/gst/tmpl/gstformat.sgml:
26960         * docs/gst/tmpl/gstghostpad.sgml:
26961         * docs/gst/tmpl/gstimplementsinterface.sgml:
26962         * docs/gst/tmpl/gstindex.sgml:
26963         * docs/gst/tmpl/gstindexfactory.sgml:
26964         * docs/gst/tmpl/gstinfo.sgml:
26965         * docs/gst/tmpl/gstiterator.sgml:
26966         * docs/gst/tmpl/gstmacros.sgml:
26967         * docs/gst/tmpl/gstmemchunk.sgml:
26968         * docs/gst/tmpl/gstminiobject.sgml:
26969         * docs/gst/tmpl/gstobject.sgml:
26970         * docs/gst/tmpl/gstpad.sgml:
26971         * docs/gst/tmpl/gstpadtemplate.sgml:
26972         * docs/gst/tmpl/gstparse.sgml:
26973         * docs/gst/tmpl/gstpipeline.sgml:
26974         * docs/gst/tmpl/gstplugin.sgml:
26975         * docs/gst/tmpl/gstpluginfeature.sgml:
26976         * docs/gst/tmpl/gstquery.sgml:
26977         * docs/gst/tmpl/gstqueue.sgml:
26978         * docs/gst/tmpl/gstregistry.sgml:
26979         * docs/gst/tmpl/gstregistrypool.sgml:
26980         * docs/gst/tmpl/gstscheduler.sgml:
26981         * docs/gst/tmpl/gstschedulerfactory.sgml:
26982         * docs/gst/tmpl/gststructure.sgml:
26983         * docs/gst/tmpl/gstsystemclock.sgml:
26984         * docs/gst/tmpl/gsttaglist.sgml:
26985         * docs/gst/tmpl/gsttagsetter.sgml:
26986         * docs/gst/tmpl/gsttrace.sgml:
26987         * docs/gst/tmpl/gsttrashstack.sgml:
26988         * docs/gst/tmpl/gsttypefind.sgml:
26989         * docs/gst/tmpl/gsttypefindfactory.sgml:
26990         * docs/gst/tmpl/gsttypes.sgml:
26991         * docs/gst/tmpl/gsturihandler.sgml:
26992         * docs/gst/tmpl/gsturitype.sgml:
26993         * docs/gst/tmpl/gstutils.sgml:
26994         * docs/gst/tmpl/gstvalue.sgml:
26995         * docs/gst/tmpl/gstversion.sgml:
26996         * docs/gst/tmpl/gstxml.sgml:
26997         * docs/libs/tmpl/gstcontrol.sgml:
26998         * docs/libs/tmpl/gstdataprotocol.sgml:
26999         * docs/libs/tmpl/gstdparam.sgml:
27000         * docs/libs/tmpl/gstdplinint.sgml:
27001         * docs/libs/tmpl/gstdpman.sgml:
27002         * docs/libs/tmpl/gstdpsmooth.sgml:
27003         * docs/libs/tmpl/gstgetbits.sgml:
27004         * docs/libs/tmpl/gstunitconvert.sgml:
27005         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
27006         (gst_push_src_base_init), (gst_push_src_class_init),
27007         (gst_push_src_init), (gst_push_src_create):
27008         * gst/base/gstpushsrc.h:
27009         * gst/elements/gstelements.c:
27010         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
27011         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
27012         (gst_fake_sink_init), (gst_fake_sink_set_property),
27013         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
27014         (gst_fake_sink_event), (gst_fake_sink_preroll),
27015         (gst_fake_sink_render), (gst_fake_sink_change_state):
27016         * gst/elements/gstfakesink.h:
27017         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
27018         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
27019         (gst_fake_src_base_init), (gst_fake_src_class_init),
27020         (gst_fake_src_init), (gst_fake_src_event_handler),
27021         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
27022         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
27023         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
27024         (gst_fake_src_create_buffer), (gst_fake_src_create),
27025         (gst_fake_src_start), (gst_fake_src_stop):
27026         * gst/elements/gstfakesrc.h:
27027         * gst/elements/gstfilesink.c: (_do_init),
27028         (gst_file_sink_base_init), (gst_file_sink_class_init),
27029         (gst_file_sink_init), (gst_file_sink_dispose),
27030         (gst_file_sink_set_location), (gst_file_sink_set_property),
27031         (gst_file_sink_get_property), (gst_file_sink_open_file),
27032         (gst_file_sink_close_file), (gst_file_sink_query),
27033         (gst_file_sink_event), (gst_file_sink_render),
27034         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
27035         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
27036         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
27037         * gst/elements/gstfilesink.h:
27038         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
27039         (gst_file_src_class_init), (gst_file_src_init),
27040         (gst_file_src_finalize), (gst_file_src_set_location),
27041         (gst_file_src_set_property), (gst_file_src_get_property),
27042         (gst_file_src_map_region), (gst_file_src_map_small_region),
27043         (gst_file_src_create_mmap), (gst_file_src_create_read),
27044         (gst_file_src_create), (gst_file_src_is_seekable),
27045         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
27046         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
27047         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
27048         (gst_file_src_uri_handler_init):
27049         * gst/elements/gstfilesrc.h:
27050           more autistic cleanliness in functions/names/defines
27051
27052 2005-07-13  Andy Wingo  <wingo@pobox.com>
27053
27054         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
27055         source couldn't negotiate.
27056
27057         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
27058         connections again.
27059
27060         * gst/gstutils.h:
27061         * gst/gstutils.c (gst_element_link_pads_filtered): New old
27062         function. I am channeling Hades. Put your boots on suckers!!!
27063
27064 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
27065
27066         * testsuite/caps/Makefile.am:
27067         * testsuite/caps/value_compare.c:
27068         * testsuite/caps/value_intersect.c:
27069         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
27070           move two testsuite apps over to the check dir
27071
27072 2005-07-12  Wim Taymans  <wim@fluendo.com>
27073
27074         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27075         Added more debug info in the negotiate process.
27076
27077         * gst/gstmessage.h:
27078         Prepare for segment playback.
27079
27080         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
27081         Better debugging.
27082
27083         * gst/gstutils.c:
27084         Some more docs.
27085
27086         * tools/gst-launch.c: (main):
27087         NULL pipeline on errors.
27088
27089 2005-07-12  Andy Wingo  <wingo@pobox.com>
27090
27091         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
27092         not it comes from a malloc region. Make sure our copy gets freed.
27093
27094 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27095
27096         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27097         * check/gst/gstmessage.c: (GST_START_TEST):
27098         * check/gst/gststructure.c: (GST_START_TEST),
27099         (gst_structure_suite), (main):
27100           more testing
27101         * gst/gstelement.c: (gst_element_message_full):
27102           clean up GError and debug string now that they get copied
27103         * gst/gstmessage.c: (gst_message_new_error),
27104         (gst_message_new_warning), (gst_message_parse_error),
27105         (gst_message_parse_warning):
27106           use GST_TYPE_G_ERROR for structure_new, and take copies of
27107           arguments, so that we don't mess up refcounting
27108
27109 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27110
27111         * check/Makefile.am:
27112           add per-test valgrind targets
27113         * check/gst-libs/gdp.c: (GST_START_TEST),
27114         (gst_data_protocol_suite), (main):
27115           clean up
27116
27117 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27118
27119         * check/Makefile.am:
27120           instate more valgrindable tests
27121         * check/elements/gstfakesrc.c: (chain_func), (event_func),
27122         (GST_START_TEST), (fakesrc_suite):
27123         * check/gst/gstpad.c: (GST_START_TEST):
27124         * check/gst/gststructure.c: (GST_START_TEST):
27125           fix test leaks
27126         * docs/gst/tmpl/gstminiobject.sgml:
27127         * gst/gstpad.c: (gst_pad_finalize):
27128           fix the static mutex leak
27129
27130 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
27131
27132         * check/Makefile.am:
27133           add two more tests for valgrinding
27134         * check/gst/gstvalue.c: (GST_START_TEST):
27135           test refcount of deserialized buffer, found a leak
27136         * docs/gst/gstreamer-docs.sgml:
27137         * docs/gst/gstreamer-sections.txt:
27138         * docs/gst/gstreamer.types:
27139         * docs/gst/tmpl/gstminiobject.sgml:
27140           add miniobject to docs
27141         * gst/gstminiobject.c:
27142           add some docs
27143         * gst/gstvalue.c: (gst_value_deserialize_buffer),
27144         (gst_string_unwrap):
27145           fix a hard-to-find invalid write for one of the tests
27146           fix a leak for deserialized buffers
27147
27148 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27149
27150         * docs/pwg/advanced-events.xml:
27151         * docs/pwg/advanced-request.xml:
27152         * docs/pwg/advanced-scheduling.xml:
27153         * docs/pwg/appendix-porting.xml:
27154         * docs/pwg/building-boiler.xml:
27155         * docs/pwg/intro-preface.xml:
27156         * docs/pwg/other-ntoone.xml:
27157           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
27158           of example code and explanation for pad activation, loop() and
27159           getrange() functions and a bit more. Remove old comments pointing
27160           to loop-functions.
27161         * examples/pwg/Makefile.am:
27162           Add loop/getrange examples.
27163
27164 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
27165
27166         * configure.ac:
27167           check for valgrind binary + some fixes
27168         * check/gst.supp:
27169           valgrind suppressions for the tests
27170         * check/Makefile.am:
27171           add a valgrind: target that valgrinds the unit tests
27172         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
27173         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
27174         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27175         * check/gst/gstghostpad.c:
27176           added some cleanup
27177         * check/gst/gstdata.c:
27178           removed
27179         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
27180         (thread_unref), (gst_mini_object_suite), (main):
27181           added
27182         * gst/gst.c: (gst_deinit):
27183         * gst/gst.h:
27184           add a method to clean up.
27185         * gst/gstsystemclock.c: (gst_system_clock_dispose),
27186         (gst_system_clock_obtain):
27187           allow for disposing the system clock.
27188         * tools/gst-launch.c: (main):
27189           deinit
27190
27191 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
27192
27193         * docs/gst/tmpl/gstbasesrc.sgml:
27194         * docs/gst/tmpl/gstfakesrc.sgml:
27195         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27196         (gst_base_src_init), (gst_base_src_set_property),
27197         (gst_base_src_get_property), (gst_base_src_get_range),
27198         (gst_base_src_start):
27199         * gst/base/gstbasesrc.h:
27200           add num-buffers property
27201         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27202         (gst_fakesrc_init), (gst_fakesrc_set_property),
27203         (gst_fakesrc_get_property), (gst_fakesrc_create),
27204         (gst_fakesrc_start):
27205           remove num-buffers property
27206
27207 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
27208
27209         * docs/gst/gstreamer-sections.txt:
27210         * docs/gst/tmpl/gstbasesink.sgml:
27211         * docs/gst/tmpl/gstbasesrc.sgml:
27212         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27213         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27214         (gst_base_sink_finalize), (gst_base_sink_set_clock),
27215         (gst_base_sink_set_property), (gst_base_sink_get_property),
27216         (gst_base_sink_handle_object), (gst_base_sink_event),
27217         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
27218         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
27219         (gst_base_sink_loop), (gst_base_sink_deactivate),
27220         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
27221         (gst_base_sink_change_state):
27222         * gst/base/gstbasesink.h:
27223         * gst/base/gstbasesrc.h:
27224         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
27225         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
27226         (gst_filesink_init):
27227           more macro splitting
27228
27229 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
27230
27231         * gst/gstelement.c: (gst_element_get_bus):
27232           add debug
27233         * tools/gst-launch.c: (check_intr), (event_loop):
27234           fix bus leaks
27235
27236 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
27237
27238         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
27239           fix a caps leak
27240
27241 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
27242
27243         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27244         (gst_base_src_finalize):
27245           add finalize method and clean up properly
27246         * gst/gstpipeline.c: (gst_pipeline_dispose):
27247           add debug
27248
27249 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27250
27251         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
27252         (gst_bin_suite):
27253           add more things to check
27254         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
27255         * gst/gstelement.c:
27256           more debug
27257
27258 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27259
27260         * check/elements/gstfakesrc.c: (chain_func), (event_func),
27261         (GST_START_TEST), (fakesrc_suite):
27262         * check/gst-libs/gdp.c: (GST_START_TEST):
27263         * check/gst/gst.c: (GST_START_TEST):
27264         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27265         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27266         * check/gst/gstbus.c: (GST_START_TEST):
27267         * check/gst/gstcaps.c: (GST_START_TEST):
27268         * check/gst/gstdata.c: (GST_START_TEST):
27269         * check/gst/gstelement.c: (GST_START_TEST):
27270         * check/gst/gstghostpad.c: (GST_START_TEST):
27271         * check/gst/gstiterator.c: (GST_START_TEST):
27272         * check/gst/gstmessage.c: (GST_START_TEST):
27273         * check/gst/gstobject.c: (GST_START_TEST):
27274         * check/gst/gstpad.c: (GST_START_TEST):
27275         * check/gst/gststructure.c: (GST_START_TEST):
27276         * check/gst/gstsystemclock.c: (GST_START_TEST),
27277         (gst_systemclock_suite):
27278         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
27279         * check/gst/gstvalue.c: (GST_START_TEST):
27280         * check/pipelines/cleanup.c: (GST_START_TEST):
27281         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27282         * check/states/sinks.c: (GST_START_TEST):
27283         * check/gstcheck.c: (gst_check_init):
27284         * check/gstcheck.h:
27285           add debugging category
27286           use GST_START_TEST now, so we add a debug line
27287
27288 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27289
27290         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
27291           add test for state change message on a bin
27292         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
27293           add another test
27294         * gst/gstbin.c: (gst_bin_init):
27295         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
27296         * gst/gstelement.c: (gst_element_post_message),
27297         (gst_element_set_state):
27298         * gst/gstelementfactory.c: (gst_element_factory_create):
27299         * gst/gstmessage.c: (gst_message_new):
27300         * gst/gstscheduler.c:
27301           various debugging additions and cleanups
27302
27303 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27304
27305         * check/Makefile.am:
27306         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
27307         (main):
27308           adding tests for elements
27309         * gst/gstelement.c: (gst_element_dispose):
27310
27311 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27312
27313         * gst/registries/gstlibxmlregistry.c: (load_feature):
27314           plug more leaks.  A simple gst_init() now is leakfree, yay.
27315
27316 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27317
27318         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
27319         (gst_xml_registry_load):
27320           plug another memleak
27321
27322 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27323
27324         * configure.ac:
27325           use GST_SET_ERROR_CFLAGS
27326         * docs/faq/cvs.xml:
27327           change to ERROR_CFLAGS
27328
27329 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27330
27331         * configure.ac:
27332           make GST_ERROR_CFLAGS overridable and re-enable Werror
27333         * docs/faq/cvs.xml:
27334           add a note about error CFLAGS
27335         * docs/gst/tmpl/gstfakesrc.sgml:
27336         * gst/elements/gstfakesrc.c:
27337           comment out some unused code
27338         * gst/gst.c: (split_and_iterate):
27339         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
27340         (load_feature):
27341           plug some memleaks
27342
27343 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
27344
27345         * common/Makefile.am:
27346         * common/gtk-doc.mak:
27347         * docs/gst/Makefile.am:
27348           factor out gtk-doc.mak
27349
27350 2005-07-07  Wim Taymans  <wim@fluendo.com>
27351
27352         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
27353         (gst_thread_scheduler_dispose):
27354         Unlock the STREAM_LOCK completely.
27355
27356 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
27357
27358         * check/Makefile.am:
27359         * check/elements/.cvsignore:
27360         * check/elements/gstfakesrc.c: (chain_func), (event_func),
27361         (START_TEST), (fakesrc_suite), (main):
27362         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27363         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
27364         (gst_fakesrc_create), (gst_fakesrc_start):
27365         * gst/elements/gstfakesrc.h:
27366           adding a first element test
27367
27368 2005-07-07  Andy Wingo  <wingo@pobox.com>
27369
27370         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
27371         debug message.
27372
27373 2005-07-07  Wim Taymans  <wim@fluendo.com>
27374
27375         * gst/gstquery.c:
27376         * gst/gstquery.h:
27377         Remove old types
27378
27379 2005-07-07  Wim Taymans  <wim@fluendo.com>
27380
27381         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
27382         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
27383         Allow subclasses to implement their own negotiation.
27384
27385 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
27386
27387         * docs/design/part-gstbin.txt:
27388         * docs/design/part-gstpipeline.txt:
27389           Update design notes to reflect the movement of
27390           responsibility for bus handling from GstPipeline to
27391           GstBin
27392
27393 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
27394
27395         * configure.ac:
27396           Remove unnecessary queue2/3/4 examples.
27397
27398 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
27399
27400         * examples/Makefile.am:
27401         * examples/helloworld/helloworld.c: (event_loop), (main):
27402         * examples/queue/queue.c: (event_loop), (main):
27403         * examples/queue2/queue2.c: (main):
27404           Update a couple of the examples to work again.
27405
27406         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27407         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
27408          Spelling corrections and extra debug.
27409         
27410         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
27411         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
27412         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
27413         * gst/gstbin.h:
27414         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27415         (gst_pipeline_change_state):
27416         * gst/gstpipeline.h:
27417           Move the bus handler for children to the GstBin, and create a
27418           separate bus for receiving messages from children to the one the
27419           bus sends 'upwards' on.
27420
27421 2005-07-06  Wim Taymans  <wim@fluendo.com>
27422
27423         * gst/base/README:
27424         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27425         (gst_base_sink_handle_object), (gst_base_sink_loop),
27426         (gst_base_sink_change_state):
27427         * gst/base/gstbasesink.h:
27428         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27429         (gst_base_src_init), (gst_base_src_setcaps),
27430         (gst_base_src_getcaps), (gst_base_src_loop),
27431         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
27432         (gst_base_src_start), (gst_base_src_change_state):
27433         * gst/base/gstbasesrc.h:
27434         Make basesrc negotiate.
27435         Handle the case where preroll fails in basesink.
27436         Update README.
27437
27438 2005-07-06  Wim Taymans  <wim@fluendo.com>
27439
27440         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
27441         Implement the fixate function.
27442         Clean up acceptcaps.
27443
27444 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27445
27446         * docs/pwg/building-filterfactory.xml:
27447         * docs/pwg/pwg.xml:
27448           Remove never-written filter-factory chapter; I'll add the various
27449           base classes to part 4 ("other element types") later on.
27450
27451 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27452
27453         * docs/pwg/advanced-negotiation.xml:
27454         * docs/pwg/building-boiler.xml:
27455         * docs/pwg/building-pads.xml:
27456         * docs/pwg/pwg.xml:
27457         * examples/pwg/Makefile.am:
27458           Add a chapter on caps negotiation, simplify the original code
27459           samples a bit w.r.t. caps negotiation, add link to the advanced
27460           section. Add a bunch of examples showing different use cases of
27461           different types of caps negotiation. Upstream renegotiation isn't
27462           fully documented yet since nobody knows how that works.
27463
27464 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
27465
27466         * check/gst/gstpad.c:
27467         * check/gstcheck.c:
27468         * gst/gstpad.c: (gst_pad_get_internal_links_default):
27469           if pad has no parent, return NULL as list of internal links
27470
27471 2005-07-05  Andy Wingo  <wingo@pobox.com>
27472
27473         * gst/elements/gstfilesrc.c:
27474         * gst/elements/gstfakesrc.c: 
27475         * gst/base/gstpushsrc.c:
27476         * gst/base/gstbasesrc.h: 
27477         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
27478         
27479 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
27480
27481         * Makefile.am:
27482           better report generation target (lcov needs a patch)
27483
27484 2005-07-05  Andy Wingo  <wingo@pobox.com>
27485
27486         * gst/elements, testsuite: Null if we got it...
27487
27488 2005-07-05  Wim Taymans  <wim@fluendo.com>
27489
27490         * configure.ac:
27491         * libs/gst/dataprotocol/Makefile.am:
27492         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
27493         * libs/gst/dataprotocol/dataprotocol.h:
27494         * pkgconfig/Makefile.am:
27495         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
27496         * pkgconfig/gstreamer-dataprotocol.pc.in:
27497         Ported dataprotol to 0.9. 
27498         Added pkgconfig files.
27499
27500 2005-07-05  Andy Wingo  <wingo@pobox.com>
27501
27502         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
27503         Default to returning TRUE for the case when tranform_caps returns
27504         a fixed caps, like for identity or volume.
27505
27506         * check/gst/gstbus.c (pound_bus_with_messages): 
27507         * check/gst/gstmessage.c (START_TEST): 
27508         * check/pipelines/simple_launch_lines.c (got_handoff): Application
27509         message API change.
27510
27511         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
27512         logic weaks here: always run transform_caps, trying passthrough
27513         operation only if the original caps intersects with the transform.
27514
27515         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
27516         source and sink caps.
27517
27518         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
27519         Intersect the peer caps with the pad template before going into
27520         transform_caps.
27521         (gst_base_transform_transform_caps): More debugging.
27522
27523         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
27524         src argument.
27525
27526 2005-07-04  Edward Hervey  <edward@fluendo.com>
27527
27528         * gst/gstutils.c:
27529         * gst/gstutils.h:
27530         (gst_pad_add_*_probe): now returns the signal id for better wrapping
27531         in bindings.
27532
27533 2005-07-04  Andy Wingo  <wingo@pobox.com>
27534
27535         * check/gst/gstpad.c: Only set explicit caps on pads.
27536
27537 2005-07-01  Andy Wingo  <wingo@pobox.com>
27538
27539         * tests/network-clock.scm: Commentary update.
27540
27541         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
27542         Didn't really make sense, not implementable with basetransform,
27543         etc.
27544         (gst_identity_transform): Unref inbuf via make_writable. Feeble
27545         attempt at implementing the sync property, needs an unlock method.
27546
27547         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
27548         New func, by default returns the same caps (the identity
27549         transformation).
27550         (gst_base_transform_getcaps): Uses transform_caps to return
27551         something sensible.
27552         (gst_base_transform_setcaps): Complicated logic to get caps on
27553         both pads, even if they are different, and to call set_caps once
27554         for every time both pads get their caps set.
27555         (gst_base_transform_handle_buffer): Give the ref to the transform
27556         function. Allows in-place modification of the buffer.
27557
27558         * gst/base/gstbasetransform.h (transform_caps): New class method.
27559         Given caps on one side, what can I do on the other.
27560         (set_caps): Take two caps, one for each side of the element.
27561
27562         * gst/gstpad.h:
27563         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
27564         caps in place. This is safe because we can check the mutability of
27565         the caps, and a good idea because fixate functions are just called
27566         as a matter of last resort. (Not actually implemented.)
27567         (gst_pad_set_caps): If the caps we're setting is actually the same
27568         as the existing pad caps, just update the pointer without calling
27569         setcaps. Assert that caps is either NULL or fixed, as per the
27570         docs.
27571
27572         * gst/gstghostpad.c: Update for fixate changes.
27573
27574 2005-07-02  Andy Wingo  <wingo@pobox.com>
27575
27576         * gst/gstcaps.c:
27577         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
27578         two refcounts makes it immutable, which is enough. Doc more.
27579
27580 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
27581
27582         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
27583           Put the mini_object into GValue as a mini_object,
27584           not a gpointer, since that's how we declared
27585           the signal.
27586
27587 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27588
27589         * examples/pwg/Makefile.am:
27590           Fix buildbot again.
27591
27592 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27593
27594         * docs/pwg/building-testapp.xml:
27595           Add extra check.
27596         * examples/pwg/Makefile.am:
27597           Fix buildbot.
27598
27599 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27600
27601         * configure.ac:
27602         * examples/Makefile.am:
27603         * examples/pwg/Makefile.am:
27604         * examples/pwg/extract.pl:
27605           Enable building the PWG examples.
27606         * docs/pwg/advanced-interfaces.xml:
27607           Add URI interface stub.
27608         * docs/pwg/advanced-types.xml:
27609         * docs/pwg/other-autoplugger.xml:
27610         * docs/pwg/appendix-porting.xml:
27611         * docs/pwg/pwg.xml:
27612           Add porting guide (mostly stubs), remove autoplugging (see ADM).
27613         * docs/pwg/building-boiler.xml:
27614         * docs/pwg/building-chainfn.xml:
27615         * docs/pwg/building-pads.xml:
27616         * docs/pwg/building-props.xml:
27617         * docs/pwg/building-state.xml:
27618         * docs/pwg/building-testapp.xml:
27619           Update the building-*.xml parts for 0.9 changes. All examples
27620           code blocks compile in examples/pwg/*.
27621
27622 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27623
27624         * docs/manual/advanced-autoplugging.xml:
27625         * docs/manual/appendix-checklist.xml:
27626         * docs/manual/appendix-integration.xml:
27627         * docs/manual/highlevel-components.xml:
27628           Fix playbin/decodebin examples, update docs a bit, mention bus
27629           instead of signals in various places, mention kmplayer and
27630           kaffeine since they have a working GStreamer backend in the KDE
27631           section.
27632
27633 2005-06-30  Wim Taymans  <wim@fluendo.com>
27634
27635         * CHANGES-0.9:
27636         * docs/design/draft-ghostpads.txt:
27637         * docs/design/draft-push-pull.txt:
27638         * docs/design/draft-query.txt:
27639         * docs/design/part-TODO.txt:
27640         * docs/design/part-query.txt:
27641         Added CHANGES-0.9 doc, updated status of other docs.
27642         
27643         * gst/gstquery.h:
27644         Remove "hmm" macro
27645
27646 2005-06-30  Wim Taymans  <wim@fluendo.com>
27647
27648         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27649         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27650         (gst_base_sink_change_state):
27651         * gst/base/gstbasesink.h:
27652         Some tweaks, only EOS and a buffer complete a preroll.
27653
27654 2005-06-30  Andy Wingo  <wingo@pobox.com>
27655
27656         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
27657         activate_push down to the internal pad as well.
27658
27659 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
27660
27661         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27662
27663         * gst/gsttaginterface.c:
27664           Some documentation fixes (#307394 and #307397).
27665
27666 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
27667
27668         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27669
27670         * gst/gstvalue.c: (gst_value_intersect_list):
27671           Fix memleak (#309125).
27672
27673 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27674
27675         * docs/manual/advanced-dataaccess.xml:
27676           Fix fakesrc example to compile; doesn't work, bug somewhere...?
27677         * docs/manual/basics-pads.xml:
27678           Add reference for filtered caps to above chapter.
27679
27680 2005-06-30  Wim Taymans  <wim@fluendo.com>
27681
27682         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
27683         (gst_bin_change_state):
27684         Probes are gone.
27685         Lame attempt at making the state change function a bit
27686         more readable.
27687
27688 2005-06-30  Wim Taymans  <wim@fluendo.com>
27689
27690         * docs/design/part-clocks.txt:
27691         * docs/design/part-element-sink.txt:
27692         * docs/design/part-events.txt:
27693         * docs/design/part-preroll.txt:
27694         * docs/design/part-states.txt:
27695         Some more tweeks and additions to the docs.
27696
27697 2005-06-30  Wim Taymans  <wim@fluendo.com>
27698
27699         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27700         (default_have_data), (gst_pad_class_init), (gst_pad_init),
27701         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
27702         (gst_pad_check_pull_range), (gst_pad_get_range),
27703         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
27704         * gst/gstpad.h:
27705         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
27706         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
27707         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
27708         (gst_pad_remove_buffer_probe):
27709         Removed atomic operations, use existing LOCK.
27710         Move exception handling out of main code path.
27711
27712 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27713
27714         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27715         (silly_return_true_function), (gst_pad_class_init),
27716         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
27717         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
27718         (gst_pad_send_event):
27719           Fix accumulator, add default value by using _emitv() instead
27720           of _emit() for signal emission.
27721
27722 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27723
27724         * docs/manual/advanced-dataaccess.xml:
27725         * examples/manual/Makefile.am:
27726           Add probe example.
27727         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
27728           Make work (??).
27729
27730 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
27731
27732         * gst/elements/gstfilesink.c: (gst_filesink_render):
27733           Simplify code so that we don't have to handle short
27734           writes and return GST_FLOW_ERROR if an error occured.
27735
27736 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27737
27738         * docs/gst/gstreamer-docs.sgml:
27739           Remove probes more.
27740
27741 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27742
27743         * docs/gst/gstreamer-sections.txt:
27744         * docs/gst/tmpl/gstpad.sgml:
27745         * docs/gst/tmpl/gstprobe.sgml:
27746         * gst/Makefile.am:
27747         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27748         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
27749         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
27750         (gst_pad_push_event), (gst_pad_send_event):
27751         * gst/gstpad.h:
27752         * gst/gstutils.c: (gst_pad_add_data_probe),
27753         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
27754         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
27755         (gst_pad_remove_buffer_probe):
27756         * gst/gstutils.h:
27757           Remove old probes, add new g-signal-based probes and some utility
27758           functions.
27759
27760 2005-06-29  Edward Hervey  <edward@fluendo.com>
27761
27762         * gst/gstelementfactory.c:
27763         * gst/gstutils.h:
27764         * gst/gstutils.c:
27765         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
27766         the definition to the header file.
27767
27768 2005-06-29  Andy Wingo  <wingo@pobox.com>
27769
27770         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
27771         plugins from the source directory.
27772
27773 2005-06-29  Wim Taymans  <wim@fluendo.com>
27774
27775         * docs/gst/tmpl/gstbuffer.sgml:
27776         * docs/gst/tmpl/gstclock.sgml:
27777         Some fixings for blantently wrong text.
27778
27779 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
27780
27781         * check/Makefile.am:
27782         * gst/gst.c: (add_path_func), (init_pre):
27783         * gst/gstregistry.c: (gst_registry_add_path):
27784           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
27785           only scan the GST_PLUGIN_PATH locations, and not add
27786           system locations
27787
27788 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
27789
27790         * docs/gst/gstreamer-sections.txt:
27791         * docs/gst/tmpl/gstbasesrc.sgml:
27792         * gst/gstelement.c:
27793         * gst/gstelement.h:
27794         * gst/gstevent.c:
27795         * gst/gstutils.c:
27796           doc fixes
27797
27798 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27799
27800         * docs/manual/advanced-autoplugging.xml:
27801           Fix autoplugging example.
27802
27803 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27804
27805         * docs/manual/advanced-autoplugging.xml:
27806         * docs/manual/mime-world.fig:
27807           Try to get autoplugging working, fix type detection. Fix text
27808           in hello-world image.
27809
27810 2005-06-29  Wim Taymans  <wim@fluendo.com>
27811
27812         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27813         (gst_base_sink_change_state):
27814         Small debug line.
27815
27816         * gst/gstclock.h:
27817         map SIGNAL and BROADCAST to the right function.
27818
27819         * gst/gstobject.h:
27820         Remove redundant braces.
27821
27822         * gst/gstpad.c: (gst_pad_set_caps):
27823         Don't call setcaps function when reseting caps to NULL.
27824
27825         * gst/gstsystemclock.c: (gst_system_clock_dispose),
27826         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
27827         (gst_system_clock_id_unschedule):
27828         Use BROADCAST as this is what we do.
27829
27830 2005-06-29  Wim Taymans  <wim@fluendo.com>
27831
27832         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
27833         We are actually prerolling before commiting the state
27834         change. 
27835
27836 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27837
27838         * docs/manual/advanced-clocks.xml:
27839         * docs/manual/advanced-interfaces.xml:
27840         * docs/manual/advanced-metadata.xml:
27841         * docs/manual/advanced-position.xml:
27842         * docs/manual/advanced-schedulers.xml:
27843         * docs/manual/advanced-threads.xml:
27844         * docs/manual/appendix-porting.xml:
27845         * docs/manual/basics-bins.xml:
27846         * docs/manual/basics-bus.xml:
27847         * docs/manual/basics-elements.xml:
27848         * docs/manual/basics-helloworld.xml:
27849         * docs/manual/basics-pads.xml:
27850         * docs/manual/highlevel-components.xml:
27851         * docs/manual/manual.xml:
27852         * docs/manual/thread.fig:
27853           Update (until threads/scheduling) Application Development Manual;
27854           remove GstThread, add GstBus, add simple porting checklist, add
27855           documentation for tag writing, clocks, make all examples until this
27856           part compile and run.
27857         * examples/manual/Makefile.am:
27858           Update from changes to Application Development Manual; add bus
27859           example, remove thread example.
27860
27861 2005-06-28  Wim Taymans  <wim@fluendo.com>
27862
27863         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
27864         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
27865         (gst_bus_source_dispatch):
27866         Add debugging messages.
27867         Make internal methods static.
27868         Handle the case where the bus is flushed in the handler.
27869         
27870         * gst/gstelement.c: (gst_element_get_bus):
27871         Fix refcount in _get_bus();
27872
27873         * gst/gstpipeline.c: (gst_pipeline_change_state),
27874         (gst_pipeline_get_clock_func):
27875         Clock refcounting fixes.
27876         Handle the case where preroll timed out more gracefully.
27877         
27878         * gst/gstsystemclock.c: (gst_system_clock_dispose):
27879         Clean up the internal thread in dispose. This is needed
27880         for subclasses that actually get disposed.
27881         
27882         * gst/schedulers/threadscheduler.c:
27883         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27884         (gst_thread_scheduler_dispose):
27885         Free thread pool in dispose.
27886
27887 2005-06-28  Andy Wingo  <wingo@pobox.com>
27888
27889         * tests/network-clock-utils.scm (debug, print-event): New utils.
27890
27891         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
27892         (*packet-loss*): Unified loss probability.
27893         (network-time): Report out-of-band events.
27894
27895         * tests/plot-data: Add support for out-of-band events. Hack it
27896         into this script instead of passing it down the pipe; should fix
27897         this later.
27898
27899 2005-06-28  Wim Taymans  <wim@fluendo.com>
27900
27901         * docs/gst/gstreamer.types:
27902         * docs/gst/tmpl/gstbasesrc.sgml:
27903         * docs/gst/tmpl/gstpad.sgml:
27904         Docs fixes.
27905
27906 2005-06-28  Wim Taymans  <wim@fluendo.com>
27907
27908         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27909         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
27910         (gst_proxy_pad_do_fixatecaps):
27911         Correctly proxy the check_pull_range function.
27912
27913 2005-06-28  Andy Wingo  <wingo@pobox.com>
27914
27915         * tests/network-clock.scm: Removed need for slib.
27916         
27917 2005-06-28  Wim Taymans  <wim@fluendo.com>
27918
27919         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
27920         (gst_basesink_preroll_queue_flush):
27921         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
27922         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
27923         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27924         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27925         (gst_proxy_pad_set_property):
27926         * gst/gstpad.c:
27927         * gst/gstpad.h:
27928         * gst/gstqueue.c: (gst_queue_init):
27929         The deprecated pad loop function is removed now.
27930
27931 2005-06-28  Andy Wingo  <wingo@pobox.com>
27932
27933         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
27934         New parameters, simulate network packet loss.
27935
27936         * tests/network-clock-utils.scm: Initialize the RNG.
27937
27938 2005-06-28  Wim Taymans  <wim@fluendo.com>
27939
27940         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
27941         (gst_basesink_event), (gst_basesink_deactivate):
27942         Flushing the preroll queue always needs to unlock the waiters.
27943
27944 2005-06-28  Edward Hervey  <edward@fluendo.com>
27945
27946         * gst/gstpipeline.c: (gst_pipeline_send_event): 
27947         Wheen a seek was successful on a pipeline, set the stream_time to the
27948         seek offset in order to have a synchronized stream_time.
27949
27950 2005-06-28  Wim Taymans  <wim@fluendo.com>
27951
27952         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27953         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
27954         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
27955         (gst_proxy_pad_do_fixatecaps):
27956         Call wrapper function instead of just calling the function
27957         pointers. This takes care of any locking and whatmore.
27958
27959 2005-06-28  Wim Taymans  <wim@fluendo.com>
27960
27961         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
27962         (gst_pad_pull_range):
27963         * gst/gstpad.h:
27964         CONNECTED -> LINKED.
27965
27966 2005-06-28  Andy Wingo  <wingo@pobox.com>
27967
27968         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
27969         source-munging commit!!!
27970
27971         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
27972         (gst_object_sink): Take gpointer arguments, not GstObject --
27973         avoids casts. Like GLib.
27974
27975         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
27976         activate.
27977
27978 2005-06-27  Andy Wingo  <wingo@pobox.com>
27979
27980         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
27981         remaining buffer.
27982
27983         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
27984         returns a sorted copy of the trace list.
27985         (gst_alloc_trace_print_live): New API, only prints traces with
27986         live objects. Sort the list.
27987         (gst_alloc_trace_print_all): Sort the list.
27988         (gst_alloc_trace_print): Align columns.
27989
27990         * gst/elements/gstttypefindelement.c:
27991         * gst/elements/gsttee.c:
27992         * gst/base/gstbasesrc.c:
27993         * gst/base/gstbasesink.c:
27994         * gst/base/gstbasetransform.c:
27995         * gst/gstqueue.c: Adapt for pad activation changes.
27996
27997         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
27998         sched.
27999         (gst_pipeline_dispose): Drop ref on sched.
28000
28001         * gst/gstpad.c (gst_pad_init): Set the default activate func.
28002         (gst_pad_activate_default): Push mode by default.
28003         (pre_activate_switch, post_activate_switch): New stubs, things to
28004         do before and after switching activation modes on pads.
28005         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
28006         the pad's activate function to choose which mode to activate.
28007         Shortcut on deactivation and call the right function directly.
28008         (gst_pad_activate_pull): New API, (de)activates a pad in pull
28009         mode.
28010         (gst_pad_activate_push): New API, same for push mode.
28011         (gst_pad_set_activate_function) 
28012         (gst_pad_set_activatepull_function) 
28013         (gst_pad_set_activatepush_function): Setters for new API.
28014
28015         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
28016         Trace all miniobjects.
28017         (gst_mini_object_make_writable): Unref the arg if we copy, like
28018         gst_caps_make_writable.
28019
28020         * gst/gstmessage.c (_gst_message_initialize): No trace init.
28021
28022         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
28023         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
28024         Adapt for new pad API.
28025
28026         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
28027
28028         * gst/gstelement.h:
28029         * gst/gstelement.c (gst_element_iterate_src_pads) 
28030         (gst_element_iterate_sink_pads): New API functions.
28031         
28032         * gst/gstelement.c (iterator_fold_with_resync): New utility,
28033         should fold into gstiterator.c in some form.
28034         (gst_element_pads_activate): Simplified via use of fold and
28035         delegation of decisions to gstpad->activate.
28036
28037         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
28038         help in debugging.
28039
28040         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
28041         class once in init, like gstmessage. Didn't run into this issue
28042         but it seems correct. Don't initialize a trace, gstminiobject does
28043         that.
28044
28045         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
28046         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
28047         to the bus.
28048         (assert_live_count): New util function, uses alloc traces to check
28049         cleanup.
28050
28051         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
28052         To be modified when unlink drops the internal pad.
28053
28054 2005-06-27  Wim Taymans  <wim@fluendo.com>
28055
28056         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
28057         (gst_bin_change_state):
28058         Cleanup the get_state() function a little, make sure it
28059         iterates the same set of elements.
28060         Added stub iterate_state_order().
28061
28062 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
28063
28064         * docs/gst/gstreamer-docs.sgml:
28065         * docs/gst/gstreamer-sections.txt:
28066         * docs/gst/gstreamer.types:
28067         * docs/gst/tmpl/gstbasesink.sgml:
28068         * docs/gst/tmpl/gstbasesrc.sgml:
28069         * docs/gst/tmpl/gstbasetransform.sgml:
28070         * docs/gst/tmpl/gstelement.sgml:
28071         * docs/gst/tmpl/gstiterator.sgml:
28072         * gst/base/gstbasesrc.c:
28073         * gst/base/gstbasesrc.h:
28074         * gst/base/gstbasetransform.h:
28075         * gst/gstelement.c:
28076         * gst/gstiterator.h:
28077           adding basetransform and iterator docs
28078
28079 2005-06-27  Andy Wingo  <wingo@pobox.com>
28080
28081         * docs/design/part-activation.txt: Notes on how activation should
28082         work -- not quite implemented yet.
28083
28084 2005-06-25  Wim Taymans  <wim@fluendo.com>
28085
28086         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
28087         At least get the chain function correct, needs more
28088         fixing.
28089
28090 2005-06-25  Wim Taymans  <wim@fluendo.com>
28091
28092         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28093         (gst_basesink_handle_object), (gst_basesink_event),
28094         (gst_basesink_do_sync), (gst_basesink_handle_event),
28095         (gst_basesink_change_state):
28096         * gst/gsttask.h:
28097         Right, two problems here: ghostpads don't take locks and
28098         glib _rec_mutex_lock_full() with depth==0 still locks.
28099         Catch illegal locking and g_warn them.
28100
28101 2005-06-25  Wim Taymans  <wim@fluendo.com>
28102
28103         * check/states/sinks.c: (START_TEST), (gst_object_suite):
28104         Have to check for completion now...
28105
28106 2005-06-25  Wim Taymans  <wim@fluendo.com>
28107
28108         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28109         (gst_basesink_handle_object), (gst_basesink_event),
28110         (gst_basesink_do_sync), (gst_basesink_handle_event),
28111         (gst_basesink_change_state):
28112         * gst/gstpad.h:
28113         Unlock STREAM_LOCK whatever the recursion was.
28114
28115 2005-06-25  Wim Taymans  <wim@fluendo.com>
28116
28117         * gst/base/gstbasesink.c: (gst_basesink_set_property),
28118         (gst_basesink_preroll_queue_empty),
28119         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
28120         (gst_basesink_event), (gst_basesink_do_sync),
28121         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
28122         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
28123         (gst_basesink_change_state):
28124         Reworked the base sink, handle event and buffer serialisation
28125         correctly and removed possible deadlock.
28126         Handle EOS correctly.
28127
28128 2005-06-25  Wim Taymans  <wim@fluendo.com>
28129
28130         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
28131         (gst_pipeline_change_state):
28132         * tools/gst-launch.c: (check_intr), (event_loop), (main):
28133         Allow elements to post EOS in the state change function.
28134         Fix up -launch, make it exit the poll loop when the
28135         pipeline actually changed state.
28136         Fix up warning parsing in -launch.
28137
28138 2005-06-25  Wim Taymans  <wim@fluendo.com>
28139
28140         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
28141         (gst_tee_sink_activate):
28142         Core takes STREAM_LOCK for us now.
28143
28144 2005-06-25  Wim Taymans  <wim@fluendo.com>
28145
28146         * gst/gstelement.c: (gst_element_get_state_func),
28147         (gst_element_set_state):
28148         * gst/gstelement.h:
28149         * gst/gstmessage.c: (gst_message_parse_error),
28150         (gst_message_parse_warning):
28151         Keep track of current target state while performing a state
28152         change so that subclasses can do something interesting.
28153         Fix parsing of warning/error messages when GError is NULL.
28154
28155 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
28156
28157         * docs/gst/Makefile.am:
28158         * docs/gst/gstreamer-docs.sgml:
28159         * docs/gst/gstreamer-sections.txt:
28160         * docs/gst/gstreamer.types:
28161         * docs/gst/tmpl/gstbasesink.sgml:
28162         * docs/gst/tmpl/gstbasesrc.sgml:
28163         * docs/gst/tmpl/gstbin.sgml:
28164         * docs/gst/tmpl/gstcompat.sgml:
28165         * docs/gst/tmpl/gstfakesink.sgml:
28166         * docs/gst/tmpl/gstfakesrc.sgml:
28167         * docs/gst/tmpl/gstfilesink.sgml:
28168         * docs/gst/tmpl/gstfilesrc.sgml:
28169         * docs/gst/tmpl/gstindex.sgml:
28170         * docs/manual/appendix-quotes.xml:
28171         * gst/base/gstbasesrc.h:
28172         * gst/elements/gstfakesrc.h:
28173         * gst/gstmessage.h:
28174           start pulling in base classes and elements in our docs
28175
28176 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
28177
28178         * docs/gst/Makefile.am:
28179         * docs/libs/Makefile.am:
28180           fixed make distcheck with gtk-doc 1.3
28181
28182 2005-06-23  Wim Taymans  <wim@fluendo.com>
28183
28184         * gst/gstelement.c: (gst_element_get_state_func),
28185         (gst_element_set_state), (gst_element_change_state):
28186         When the state did not change, also report NO_PREROLL
28187         when it matters.
28188
28189 2005-06-23  Wim Taymans  <wim@fluendo.com>
28190
28191         * gst/gstpad.c: (gst_pad_event_default):
28192         * gst/gstqueue.c: (gst_queue_loop):
28193         No unsafe task pausing please.
28194
28195 2005-06-23  Wim Taymans  <wim@fluendo.com>
28196
28197         * gst/schedulers/threadscheduler.c:
28198         (gst_thread_scheduler_task_start),
28199         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
28200         Ref the task before pushing it on the threadpool. This
28201         makes sure that we have a ref when the threadfunction is
28202         actually called.
28203
28204 2005-06-23  Andy Wingo  <wingo@pobox.com>
28205
28206         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
28207         offset is greater than the file's size.
28208
28209         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
28210         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
28211         * gst/gstobject.c (gst_object_class_init): Make the class lock
28212         recursive. Wim won't let me drop deep_notify. Decodebin works
28213         again, whoopdy doo.
28214
28215         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
28216         internal pad, and hacks accordingly. Doesn't do it on the target
28217         pad because we change its caps. Probably catches all cases of
28218         interest tho.
28219         (gst_ghost_pad_set_property): Connect to notify::caps as
28220         appropritate.
28221
28222         * tests/network-clock.scm (plot-simulation): Pipe data to the
28223         elite python skript.
28224
28225         * tests/network-clock-utils.scm (define-parameter): New macro,
28226         defines a parameter that can be set via the command line.
28227         (set-parameter!, parse-parameter-arguments): Command line args
28228         parser.
28229
28230         * tests/plot-data: Simple matplotlib-based plotter, takes input on
28231         stdin.
28232
28233 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
28234
28235         * gst/elements/gsttypefindelement.c:
28236         (gst_type_find_element_handle_event):
28237           Don't restart typefinding on a discont.
28238         * gst/gstelement.c: (gst_element_set_state):
28239           Debug spelling fix.
28240         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
28241           Allow changing mode of an active pad.
28242           Debug output fixes.
28243         * gst/registries/gstlibxmlregistry.c: (load_feature):
28244           Don't cast a static pad template to a normal pad template.
28245
28246 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
28247
28248         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28249         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
28250           remove gst_strtoll completely, since it didn't actually do
28251           anything more than what g_ascii_strtoull already does.
28252           check for range errors when deserializing
28253           do a cast for the unsigned cases; but further fixing needs
28254           a decision on what the interpretation of "(int)" and
28255           deserialization should be for values that fall outside the
28256           type's boundaries (ie, refuse, or interpret as casting)
28257
28258 2005-06-23  Wim Taymans  <wim@fluendo.com>
28259
28260         * check/Makefile.am:
28261         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
28262         * docs/design/part-live-source.txt:
28263         * docs/design/part-states.txt:
28264         * gst/base/gstbasesrc.c: (gst_basesrc_init),
28265         (gst_basesrc_set_live), (gst_basesrc_is_live),
28266         (gst_basesrc_get_range), (gst_basesrc_activate),
28267         (gst_basesrc_change_state):
28268         * gst/base/gstbasesrc.h:
28269         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28270         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
28271         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
28272         * gst/gstelement.c: (gst_element_get_state_func),
28273         (gst_element_set_state):
28274         * gst/gstelement.h:
28275         * gst/gsttypes.h:
28276         * tools/gst-launch.c: (event_loop), (main):
28277         Added support for live sources and other elements that
28278         cannot do preroll.
28279         Updated design docs, added live-source design doc.
28280         Implemented live source functionality in basesrc
28281         Fix error condition in _bin_get_state()
28282         Implement live source handling in -launch.
28283         Added check for live sources.
28284         Fixed case in GstBin where elements were changed state
28285         multiple times.
28286
28287
28288 2005-06-23  Andy Wingo  <wingo@pobox.com>
28289
28290         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
28291         borken refcounting.
28292
28293         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
28294         gst_caps_replace takes care of this for us.
28295
28296         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
28297         gst_pad_set_caps on the target, not just its setcaps() function.
28298
28299         * tests/network-clock.scm: 
28300         * tests/network-clock-utils.scm: A network clock simulator.
28301         Something of an algorithmic testbed before doing something in C.
28302
28303 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28304
28305         * check/Makefile.am:
28306         * check/gst/capslist.h:
28307           copy over from 0.8, and add two with bitmasks specified with
28308           (int) 0xFF...
28309         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
28310           add test to parse everything from capslist.h
28311         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
28312         (main):
28313           add test for structure deserialization
28314         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28315           add tests for deserialization of strings to int types
28316         * gst/gststructure.c: (gst_structure_nth_field_name):
28317         * gst/gststructure.h:
28318           add a way to get the name of a field referenced by index
28319         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
28320           instead of checking if the resulting long long lies between
28321           min and max, we check if the long long would fit into
28322           a number of bytes for the final type.
28323           This fixes cases where a string represents 2^32 - 1, which
28324           when cast to int would be the (valid) -1, but is bigger than
28325           G_MAXINT
28326
28327 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28328
28329         * gst/parse/grammar.y:
28330           add a log line for type deserialization
28331
28332 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28333
28334         * check/gst/gstvalue.c: (START_TEST):
28335         * gst/gstvalue.c: (gst_value_deserialize):
28336           return long long, not int, so gint64 deserialization actually
28337           works.  Is there any flag that makes the compiler check this ?
28338           Fixes #308559
28339
28340 2005-06-22  Wim Taymans  <wim@fluendo.com>
28341
28342         * gst/gstbuffer.h:
28343         Added convenience macros for setting buffers in GValue.
28344
28345 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
28346
28347         * check/gst/.cvsignore:
28348         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28349           add a test deserializing int64, and comment part out because
28350           it fails, yay !
28351
28352 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
28353
28354         * check/Makefile.am:
28355         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
28356         * testsuite/Makefile.am:
28357         * testsuite/caps/Makefile.am:
28358         * testsuite/caps/value_serialize.c:
28359         * testsuite/test_gst_init.c:
28360           move a value_serialize test over
28361
28362 2005-06-20  Wim Taymans  <wim@fluendo.com>
28363
28364         * gst/gstpad.c:
28365         Small doc updates.
28366         
28367         * gst/gstvalue.c: (gst_value_compare_buffer),
28368         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
28369         (gst_value_compare_flags), (gst_value_serialize_flags),
28370         (gst_value_deserialize_flags), (_gst_value_initialize):
28371         Fix serialisation of buffers, they are not boxed types anymore
28372
28373 2005-06-20  Wim Taymans  <wim@fluendo.com>
28374
28375         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
28376         Testcase to show error in buffer-on-caps serialisation.
28377
28378 2005-06-20  Andy Wingo  <wingo@pobox.com>
28379
28380         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
28381         will be adding to later.
28382
28383         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
28384         if its socks fill with rocks.
28385         (gst_system_clock_obtain): Set the name on object construction.
28386         Avoid double-checked locking.
28387
28388 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
28389
28390         * gst/gsturi.c: (gst_element_make_from_uri):
28391           Fix potential endless loop.
28392
28393 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28394
28395         * check/Makefile.am:
28396           add gsttag
28397         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
28398         (main):
28399           move over from testsuite dir and clean up
28400         * configure.ac:
28401         * gst/gsttag.c:
28402         * testsuite/Makefile.am:
28403         * testsuite/tags/.cvsignore:
28404         * testsuite/tags/Makefile.am:
28405         * testsuite/tags/merge.c:
28406           remove testsuite/tags
28407
28408 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28409
28410         * docs/gst/gstreamer-sections.txt:
28411         * docs/gst/tmpl/gstenumtypes.sgml:
28412         * win32/gstenumtypes.c:
28413           clean up documentation build a little
28414
28415 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28416
28417         * check/gstcheck.h:
28418           add macros for checking refcounts on objects and caps
28419         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
28420           add some more unit tests
28421         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
28422         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
28423           fix leaked refcounts (I hope :)) so unittest works
28424         * gst/gstpad.h:
28425           whitespace removal
28426
28427 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28428
28429         * configure.ac: back to HEAD
28430
28431 === release 0.9.1 ===
28432
28433 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
28434
28435         * NEWS:
28436         * RELEASE:
28437           updated
28438
28439 2005-06-17  Andy Wingo  <wingo@pobox.com>
28440
28441         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
28442         assert; it's always possible that the pad gets deactivated in
28443         between the checks in gstpad.c and the implementation. Rely on
28444         finish_preroll() to return a FLUSHING or similar instead of on the
28445         assert.
28446         
28447         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
28448         clock and post an EOS message if we come out of finish_preroll in
28449         the playing state.
28450
28451 2005-06-16  David Schleef  <ds@schleef.org>
28452
28453         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
28454         (gst_capsfilter_set_property): Allow NULL as possible value
28455         for filter_caps property, indicating GST_CAPS_ANY.
28456
28457 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28458
28459         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
28460           fix debug output
28461         * gst/schedulers/Makefile.am:
28462           use libgst prefix
28463         * gstreamer.spec.in:
28464           fix spec for it
28465
28466 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28467
28468         * gstreamer.spec.in:
28469           clean up
28470
28471 2005-06-08  Andy Wingo  <wingo@pobox.com>
28472
28473         * gst/gstutils.c: RPAD fixes all around.
28474         (gst_element_link_pads): Refcounting fixes.
28475
28476         * tools/gst-inspect.c:
28477         * tools/gst-xmlinspect.c:
28478         * parse/grammar.y:
28479         * gst/base/gsttypefindhelper.c:
28480         * gst/base/gstbasesink.c:
28481         * gst/gstqueue.c: RPAD fixes.
28482
28483         * gst/gstghostpad.h:
28484         * gst/gstghostpad.c: New ghost pad implementation as full proxy
28485         pads. The tricky thing is they provide both source and sink
28486         interfaces, since they proxy the internal pad for the external
28487         pad, and vice versa. Implement with lower-level ProxyPad objects,
28488         with the interior proxy pad as a child of the exterior ghost pad.
28489         Should write a doc on this.
28490         
28491         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
28492         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
28493         gst_object API.
28494         
28495         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
28496         pads are real pads. No ghost pads in this file. Not documenting
28497         the myriad s/RPAD/PAD/ and REALIZE fixes.
28498         (gst_pad_class_init): Add properties for "direction" and
28499         "template". Both are construct-only, so they can't change during
28500         the life of the pad. Fixes properly deriving from GstPad.
28501         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
28502         derived objects, just set properties when creating the objects via
28503         g_object_new.
28504         (gst_pad_get_parent): Implement as a function, return NULL if the
28505         parent is not an element.
28506         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
28507         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
28508         
28509         * gst/gstobject.c (gst_object_class_init): Make name a construct
28510         property. Don't set it in the object init.
28511
28512         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
28513         with UNKNOWN direction.
28514         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
28515         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
28516         (gst_element_remove_pad): Remove ghost-pad special cases.
28517         (gst_element_pads_activate): Remove rpad cruft.
28518
28519         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
28520         catch the pad's-parent-not-an-element case.
28521
28522         * gst/gst.h: Include gstghostpad.h.
28523
28524         * gst/gst.c (init_post): No more real, ghost pads.
28525
28526         * gst/Makefile.am: Add gstghostpad.[ch].
28527
28528         * check/Makefile.am:
28529         * check/gst/gstbin.c:
28530         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
28531         into a bin creates ghost pads, and that the refcounts are right.
28532         Partly moved from gstbin.c.
28533
28534 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28535
28536         * check/gst-libs/.cvsignore:
28537         * check/gst/.cvsignore:
28538         * check/pipelines/.cvsignore:
28539           ignore more
28540         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
28541         (START_TEST), (cleanup_suite), (main):
28542           add some tests related to cleanup after running pipelines
28543
28544 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28545
28546         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
28547           add a testsuite for GstBuffer
28548
28549 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28550
28551         * gst/gstminiobject.h:
28552           add defines for accessing the refcount
28553
28554 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
28555
28556         * Makefile.am: added support for html unit test coverage reports
28557
28558 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
28559
28560         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
28561           Free existing caps if the capsfilter changes. Add a FIXME about
28562           setting those caps on the pads.
28563
28564         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
28565           Before adding a ghost pad to a parent bin, check that there isn't
28566           already one for the element on the bin. Prevents infinite recursion
28567           when using decodebin in parse pipelines. Andy says he'll rewrite the
28568           way this works anyway, so ignore the hack.
28569
28570 2005-06-02  Andy Wingo  <wingo@pobox.com>
28571
28572         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
28573         file size, pass it on to the type find helper.
28574
28575         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
28576         segment_start and segment_end properly according to the seek
28577         method. Segment_end is still a bit flaky because offset can be
28578         negative for CUR and END cases, but it takes -1 as an "unset"
28579         value.
28580
28581 2005-06-02  Wim Taymans  <wim@fluendo.com>
28582
28583         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
28584         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
28585         (gst_basesink_activate):
28586         * gst/base/gstbasesink.h:
28587         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28588         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
28589         (gst_pad_query), (gst_pad_start_task):
28590         * gst/gstpad.h:
28591         * gst/gstqueue.c: (gst_queue_bufferalloc),
28592         (gst_queue_handle_sink_event), (gst_queue_chain):
28593         Bufferalloc: return GstFlowReturn to more accuratly report
28594         why allocation failed.
28595
28596 2005-06-02  Wim Taymans  <wim@fluendo.com>
28597
28598         * gst/gstpipeline.c: (gst_pipeline_send_event):
28599         Take snapshot of state without blocking.
28600
28601 2005-06-02  Wim Taymans  <wim@fluendo.com>
28602
28603         * docs/design/part-TODO.txt:
28604         * docs/design/part-caps.txt:
28605         * docs/design/part-clocks.txt:
28606         * docs/design/part-negotiation.txt:
28607         * docs/design/part-preroll.txt:
28608         Small doc updates 
28609
28610 2005-05-30  Wim Taymans  <wim@fluendo.com>
28611
28612         * gst/elements/gstidentity.c: (gst_identity_event),
28613         (gst_identity_transform), (gst_identity_get_property):
28614         Protect last_message property as it is accessed from
28615         multiple threads.
28616
28617 2005-05-30  Wim Taymans  <wim@fluendo.com>
28618
28619         * gst/gstelement.c: (gst_element_init),
28620         (gst_element_pads_activate), (gst_element_change_state):
28621         Slicker pad activation code.
28622
28623 2005-05-30  Wim Taymans  <wim@fluendo.com>
28624
28625         * gst/Makefile.am:
28626         * gst/gstelement.h:
28627         * gst/gstelementfactory.h:
28628         * gst/gsttypes.h:
28629         Move elementfactory methods to separate .h file.
28630
28631 2005-05-30  Wim Taymans  <wim@fluendo.com>
28632
28633         * docs/design/part-overview.txt:
28634         * gst/gstsystemclock.h:
28635         Small typo fixes, doc updates.
28636
28637 2005-05-30  Wim Taymans  <wim@fluendo.com>
28638
28639         * gst/gst.c: (gst_init_get_popt_table), (init_post),
28640         (init_popt_callback):
28641         Remove cpu-opt flag.
28642
28643 2005-05-30  Wim Taymans  <wim@fluendo.com>
28644
28645         * gst/gstbuffer.c: (gst_subbuffer_finalize),
28646         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
28647         * gst/gstbuffer.h:
28648         Avoid typechecking in places where not needed.
28649         Added accessor for malloc_data.
28650
28651 2005-05-30  Wim Taymans  <wim@fluendo.com>
28652
28653         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
28654         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
28655         (gst_pad_configure_sink), (gst_pad_configure_src),
28656         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
28657         (gst_pad_start_task):
28658         Propagate errors from _set_caps() in configure_src/sink
28659         functions instead of returning TRUE.
28660         FLUSH events can travel up and downstream
28661
28662
28663 2005-05-30  Wim Taymans  <wim@fluendo.com>
28664
28665         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
28666         (gst_basesink_activate):
28667         Handle EOS in preroll.
28668
28669 2005-05-30  Wim Taymans  <wim@fluendo.com>
28670
28671         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
28672         (gst_queue_loop), (gst_queue_handle_src_event):
28673         Remove old pieces of code
28674         Flushing the queue in an upstream event is a very bad idea.
28675
28676 2005-05-26  Andy Wingo  <wingo@pobox.com>
28677
28678         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
28679         gst_value_set_mini_object so as to add a ref on the object (which
28680         will be removed when the value is unset).
28681
28682         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
28683         arg type in ::handoff.
28684
28685         * gst/gstelement.c (gst_element_change_state): Also deactivate
28686         pads in READY->NULL, just in case the element didn't make it to
28687         PAUSED. Wingo tested, Wim approved.
28688
28689 2005-05-26  Wim Taymans  <wim@fluendo.com>
28690
28691         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28692         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
28693         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
28694         A flushing pad cannot be used to alloc_buffer from.
28695
28696 2005-05-26  Wim Taymans  <wim@fluendo.com>
28697
28698         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
28699         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
28700         (gst_bus_source_dispatch), (gst_bus_source_finalize),
28701         (gst_bus_create_watch), (gst_bus_add_watch_full):
28702         * gst/gstbus.h:
28703         Implement a real GSource and use g_main_context_wakeup() to
28704         signal new messages instead of the socketpair.
28705
28706 2005-05-25  Wim Taymans  <wim@fluendo.com>
28707
28708         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
28709         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
28710         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28711         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
28712         (gst_pad_send_event), (gst_pad_start_task):
28713         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
28714         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
28715         (gst_queue_sink_activate), (gst_queue_src_activate),
28716         (gst_queue_change_state):
28717         * gst/gstqueue.h:
28718         Fix state changes for non sinks. We now change sinks, then elements
28719         with unconnected srcpads, then the rest.
28720         More efficient queue unlocking in flush and state changes.
28721         Set the pad activate mode even if it does not have an activate
28722         function.
28723
28724 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28725
28726         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
28727           Don't go in pull mode for non-seekable sources.
28728         * gst/elements/gsttypefindelement.h:
28729         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
28730         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
28731         (free_entry), (stop_typefinding),
28732         (gst_type_find_element_handle_event), (find_peek),
28733         (gst_type_find_element_chain), (do_pull_typefind),
28734         (gst_type_find_element_change_state):
28735           Allow typefinding (w/o seeking) in push-mode, simplified version
28736           of what was in 0.8.
28737         * gst/gstutils.c: (gst_buffer_join):
28738         * gst/gstutils.h:
28739           gst_buffer_join() from 0.8.
28740
28741 2005-05-25  Wim Taymans  <wim@fluendo.com>
28742
28743         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28744         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
28745         (gst_pad_send_event), (gst_pad_start_task):
28746         Disable attempt at mode switching until it is figured out.
28747
28748 2005-05-25  Wim Taymans  <wim@fluendo.com>
28749
28750         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
28751         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
28752         (gst_basesink_finish_preroll), (gst_basesink_chain),
28753         (gst_basesink_loop), (gst_basesink_activate),
28754         (gst_basesink_change_state):
28755         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
28756         (gst_basesrc_get_range), (gst_basesrc_loop),
28757         (gst_basesrc_activate):
28758         * gst/elements/gsttee.c: (gst_tee_sink_activate):
28759         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
28760         (gst_real_pad_init), (gst_real_pad_set_property),
28761         (gst_real_pad_get_property), (gst_pad_set_active),
28762         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
28763         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
28764         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
28765         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
28766         (gst_pad_event_default_dispatch), (gst_pad_event_default),
28767         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
28768         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
28769         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28770         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
28771         (gst_pad_stop_task):
28772         * gst/gstpad.h:
28773         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
28774         (gst_queue_loop), (gst_queue_src_activate):
28775         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
28776         (gst_task_get_state):
28777         * gst/gsttask.h:
28778         * gst/schedulers/threadscheduler.c:
28779         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
28780         Implement gst_pad_pause/start/stop_task(), take STREAM lock
28781         in task function.
28782         Remove ACTIVE pad flag, use FLUSHING everywhere
28783         Added _pad_chain(), _pad_get_range() to call chain/getrange 
28784         functions.
28785         Add locks around IS_FLUSHING when reading.
28786         Take STREAM lock in chain(), get_range() functions so plugins
28787         don't need to take it anymore.
28788         
28789
28790
28791 2005-05-25  Wim Taymans  <wim@fluendo.com>
28792
28793         * tools/gst-launch.c: (event_loop):
28794         Unref message after using its contents instead of
28795         before.
28796
28797 2005-05-24  Wim Taymans  <wim@fluendo.com>
28798
28799         * docs/design/draft-ghostpads.txt:
28800         * docs/design/draft-push-pull.txt:
28801         * docs/design/draft-query.txt:
28802         * docs/design/part-overview.txt:
28803         Docs updates, added general overview doc.
28804
28805 2005-05-21  David Schleef  <ds@schleef.org>
28806
28807         * docs/gst/tmpl/old/GstBin.sgml:
28808         * docs/gst/tmpl/old/GstBuffer.sgml:
28809         * docs/gst/tmpl/old/GstCaps.sgml:
28810         * docs/gst/tmpl/old/GstClock.sgml:
28811         * docs/gst/tmpl/old/GstCompat.sgml:
28812         * docs/gst/tmpl/old/GstData.sgml:
28813         * docs/gst/tmpl/old/GstElement.sgml:
28814         * docs/gst/tmpl/old/GstEvent.sgml:
28815         * docs/gst/tmpl/old/GstIndex.sgml:
28816         * docs/gst/tmpl/old/GstStructure.sgml:
28817         * docs/gst/tmpl/old/GstTag.sgml:
28818         * docs/gst/tmpl/old/cothreads.sgml:
28819         * docs/gst/tmpl/old/cothreads_compat.sgml:
28820         * docs/gst/tmpl/old/gettext.sgml:
28821         * docs/gst/tmpl/old/gobject2gtk.sgml:
28822         * docs/gst/tmpl/old/grammar.tab.sgml:
28823         * docs/gst/tmpl/old/gst-i18n-app.sgml:
28824         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
28825         * docs/gst/tmpl/old/gst_private.sgml:
28826         * docs/gst/tmpl/old/gstaggregator.sgml:
28827         * docs/gst/tmpl/old/gstarch.sgml:
28828         * docs/gst/tmpl/old/gstatomic_impl.sgml:
28829         * docs/gst/tmpl/old/gstbufferstore.sgml:
28830         * docs/gst/tmpl/old/gstdata_private.sgml:
28831         * docs/gst/tmpl/old/gstdisksink.sgml:
28832         * docs/gst/tmpl/old/gstdisksrc.sgml:
28833         * docs/gst/tmpl/old/gstelementfactory.sgml:
28834         * docs/gst/tmpl/old/gstextratypes.sgml:
28835         * docs/gst/tmpl/old/gstfakesink.sgml:
28836         * docs/gst/tmpl/old/gstfakesrc.sgml:
28837         * docs/gst/tmpl/old/gstfdsink.sgml:
28838         * docs/gst/tmpl/old/gstfdsrc.sgml:
28839         * docs/gst/tmpl/old/gstfilesink.sgml:
28840         * docs/gst/tmpl/old/gstfilesrc.sgml:
28841         * docs/gst/tmpl/old/gsthttpsrc.sgml:
28842         * docs/gst/tmpl/old/gstidentity.sgml:
28843         * docs/gst/tmpl/old/gstindexfactory.sgml:
28844         * docs/gst/tmpl/old/gstmarshal.sgml:
28845         * docs/gst/tmpl/old/gstmd5sink.sgml:
28846         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
28847         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
28848         * docs/gst/tmpl/old/gstpadtemplate.sgml:
28849         * docs/gst/tmpl/old/gstpipefilter.sgml:
28850         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
28851         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
28852         * docs/gst/tmpl/old/gstshaper.sgml:
28853         * docs/gst/tmpl/old/gstspider.sgml:
28854         * docs/gst/tmpl/old/gstspideridentity.sgml:
28855         * docs/gst/tmpl/old/gststatistics.sgml:
28856         * docs/gst/tmpl/old/gsttee.sgml:
28857         * docs/gst/tmpl/old/gsttimecache.sgml:
28858         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
28859         * docs/gst/tmpl/old/gstxmlregistry.sgml:
28860         * docs/gst/tmpl/old/gthread-cothreads.sgml:
28861         * docs/gst/tmpl/old/types.sgml:
28862           I didn't intend to add these or check them in.
28863
28864 2005-05-19  David Schleef  <ds@schleef.org>
28865
28866         * configure.ac: Use -no-common everywhere.  In a sane world, it
28867           would be the default in libtool, because without it, you can't
28868           build DLLs on Windows.
28869         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
28870         * docs/gst/gstreamer-sections.txt:
28871         * docs/gst/tmpl/gstcpu.sgml:
28872         * docs/gst/tmpl/gstdata.sgml:
28873         * docs/gst/tmpl/gstthread.sgml:
28874
28875 2005-05-19  David Schleef  <ds@schleef.org>
28876
28877         * gst/gstminiobject.c: (gst_value_set_mini_object),
28878         (gst_value_take_mini_object), (gst_value_get_mini_object):
28879         * gst/gstminiobject.h: Add GValue set/get functions.
28880
28881 2005-05-19  Wim Taymans  <wim@fluendo.com>
28882
28883         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
28884         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
28885         (gst_subbuffer_init), (gst_buffer_is_span_fast):
28886         * gst/gstbuffer.h:
28887         * gst/gstbus.c: (gst_bus_post):
28888         * gst/gstelement.c: (gst_element_get_random_pad):
28889         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
28890         Make subbufer unref the parent in finalize.
28891         some more debugging info.
28892
28893
28894 2005-05-19  Wim Taymans  <wim@fluendo.com>
28895
28896         * gst/base/gstbasesink.c: (gst_basesink_class_init),
28897         (gst_basesink_init), (gst_basesink_finalize),
28898         (gst_basesink_activate), (gst_basesink_change_state):
28899         Don't free preroll queue too early.
28900
28901 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28902
28903         * gst/Makefile.am:
28904         * gst/ROADMAP:
28905           Hi, I'm outdated. Please shoot me.
28906
28907 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28908
28909         * gst/gstpipeline.c: (gst_pipeline_send_event):
28910           Do not access variables after they have been deleted.
28911
28912 2005-05-19  Wim Taymans  <wim@fluendo.com>
28913
28914         * tools/gst-inspect.c: (print_plugin_features):
28915         A plugin feature does unfortunatly not use the
28916         object name yet...
28917
28918 2005-05-18  Wim Taymans  <wim@fluendo.com>
28919
28920         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
28921         Port _span() functions to new subbuffers.
28922
28923 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28924
28925         * gst/gstbin.c: (gst_bin_add_func):
28926           Fix clock settery in bins when adding kids after the clock has
28927           been selected.
28928
28929 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28930
28931         * gst/elements/gstidentity.c: (gst_identity_class_init):
28932           Workaround until signals support GstMiniObject.
28933
28934 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
28935
28936         * gst/gstbuffer.c:
28937         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
28938
28939 2005-05-18  Wim Taymans  <wim@fluendo.com>
28940
28941         * gst/base/Makefile.am:
28942         * gst/base/gstadapter.c: (gst_adapter_base_init),
28943         (gst_adapter_class_init), (gst_adapter_init),
28944         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
28945         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
28946         (gst_adapter_flush), (gst_adapter_available),
28947         (gst_adapter_available_fast):
28948         * gst/base/gstadapter.h:
28949         Ported and added adapter to the base classes.
28950
28951 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
28952
28953         * gst/gst.c:
28954         * gst/gstmessage.c:
28955           Make sure the class is reffed/unreffed once before threads can be
28956           used.  Fixes #304551.
28957
28958 2005-05-17  Wim Taymans  <wim@fluendo.com>
28959
28960         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
28961         (gst_basesink_chain_unlocked), (gst_basesink_activate):
28962         * gst/gstminiobject.c: (gst_mini_object_get_type),
28963         (gst_mini_object_free):
28964         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
28965         (gst_pad_push), (gst_pad_push_event):
28966         * gst/gstqueue.c: (gst_queue_change_state):
28967         Don't queue buffers in basesink when we are flushing.
28968         Unref buffer when flushing in basesink.
28969         Flush queue when going to READY
28970         Unref buffer when _push() returns an error.
28971         Don't free MiniObject instance when refcount is incremented
28972         in _finalize() so that we can recover objects.
28973
28974 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
28975
28976         * docs/manual/advanced-schedulers.xml:
28977         * docs/manual/appendix-checklist.xml:
28978         * docs/pwg/advanced-clock.xml:
28979         * docs/pwg/advanced-interfaces.xml:
28980         * docs/pwg/advanced-request.xml:
28981         * docs/pwg/advanced-types.xml:
28982         * docs/pwg/intro-preface.xml:
28983         * examples/plugins/example.c: (gst_example_get_type),
28984         (gst_example_class_init), (gst_example_chain),
28985         (gst_example_set_property), (gst_example_get_property),
28986         (gst_example_change_state), (plugin_init):
28987         * examples/plugins/example.h:
28988           small doc fixes
28989
28990 2005-05-17  Wim Taymans  <wim@fluendo.com>
28991
28992         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
28993         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
28994         * gst/gstqueue.c: (gst_queue_change_state):
28995         Clear queue when going to READY.
28996         Remove IN_SETCAPS flag too.
28997
28998 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
28999
29000         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
29001           Remove implicit cast from gboolean to GstElementStateReturn;
29002           make sure we still return failure in paused => ready case if
29003           the parent class fails to change state and our own stop 
29004           vfunc succeeds.
29005
29006 2005-05-17  Wim Taymans  <wim@fluendo.com>
29007
29008         * tools/gst-launch.c: (event_loop):
29009         Message was unreffed too soon.
29010
29011 2005-05-16  Andy Wingo  <wingo@pobox.com>
29012
29013         * gst/gstbin.c (sink_iterator_filter): Err... um...
29014
29015         * check/gst/gstbin.c (test_ghost_pads): New test for the
29016         ghosting-if-elements-not-in-same-bin behavior.
29017
29018 2005-05-16  David Schleef  <ds@schleef.org>
29019
29020         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
29021         accessing refcount directly.
29022
29023 2005-05-15  David Schleef  <ds@schleef.org>
29024
29025         * check/Makefile.am: remove GstData checks
29026         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
29027         * gst/Makefile.am: add miniobject, remove data
29028         * gst/gst.h: add miniobject, remove data
29029         * gst/gstdata.c: remove
29030         * gst/gstdata.h: remove
29031         * gst/gstdata_private.h: remove
29032         * gst/gsttypes.h: remove GstEvent and GstMessage
29033         * gst/gstelement.c: (gst_element_post_message): fix for API changes
29034         * gst/gstmarshal.list: change BOXED -> OBJECT
29035
29036         Implement GstMiniObject.
29037         * gst/gstminiobject.c:
29038         * gst/gstminiobject.h:
29039
29040         Modify to be subclasses of GstMiniObject.
29041         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
29042         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
29043         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
29044         (gst_subbuffer_get_type), (gst_subbuffer_init),
29045         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
29046         (gst_buffer_span):
29047         * gst/gstbuffer.h:
29048         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
29049         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
29050         (_gst_event_copy), (gst_event_new):
29051         * gst/gstevent.h:
29052         * gst/gstmessage.c: (_gst_message_initialize),
29053         (gst_message_get_type), (gst_message_class_init),
29054         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
29055         (gst_message_new), (gst_message_new_error),
29056         (gst_message_new_warning), (gst_message_new_tag),
29057         (gst_message_new_state_changed), (gst_message_new_application):
29058         * gst/gstmessage.h:
29059         * gst/gstprobe.c: (gst_probe_perform),
29060         (gst_probe_dispatcher_dispatch):
29061         * gst/gstprobe.h:
29062         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
29063         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
29064         (_gst_query_copy), (gst_query_new):
29065
29066         Update elements for GstData -> GstMiniObject changes
29067         * gst/gstquery.h:
29068         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
29069         (gst_queue_chain), (gst_queue_loop):
29070         * gst/elements/gstbufferstore.c:
29071         (gst_buffer_store_add_buffer_func),
29072         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
29073         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29074         (gst_fakesink_render):
29075         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
29076         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
29077         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
29078         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
29079         (gst_filesrc_create_read):
29080         * gst/elements/gstidentity.c: (gst_identity_class_init):
29081         * gst/elements/gsttypefindelement.c:
29082         (gst_type_find_element_src_event), (free_entry_buffers),
29083         (gst_type_find_element_handle_event):
29084         * libs/gst/dataprotocol/dataprotocol.c:
29085         (gst_dp_header_from_buffer):
29086         * libs/gst/dataprotocol/dataprotocol.h:
29087         * libs/gst/dataprotocol/dp-private.h:
29088
29089 2005-05-15  David Schleef  <ds@schleef.org>
29090
29091         * gst/elements/gstelements.c: Don't include headers that were
29092         just removed.
29093
29094 2005-05-15  David Schleef  <ds@schleef.org>
29095
29096         * gst/elements/Makefile.am: Remove some elements that don't
29097         need to be in the core (or even exist at all).
29098         * gst/elements/gstaggregator.c:
29099         * gst/elements/gstaggregator.h:
29100         * gst/elements/gstmd5sink.c:
29101         * gst/elements/gstmd5sink.h:
29102         * gst/elements/gstmultifilesrc.c:
29103         * gst/elements/gstmultifilesrc.h:
29104         * gst/elements/gstpipefilter.c:
29105         * gst/elements/gstpipefilter.h:
29106         * gst/elements/gstshaper.c:
29107         * gst/elements/gstshaper.h:
29108         * gst/elements/gststatistics.c:
29109         * gst/elements/gststatistics.h:
29110         * po/POTFILES.in: Remove above files.
29111
29112 2005-05-14  Andy Wingo  <wingo@pobox.com>
29113
29114         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
29115         so as to get the refs right.
29116         (sink_iterator_filter): New function, wraps bin_element_is_sink,
29117         unreffing objects that don't pass the filter.
29118
29119         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
29120         gst_element_set_bus.
29121         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
29122         normal cases, this will destroy the bus.
29123
29124         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
29125         object.
29126
29127         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
29128         has no sinks.
29129
29130 2005-05-13  Andy Wingo  <wingo@pobox.com>
29131
29132         * gst/gstutils.c (gst_element_link_pads): Instead of calling
29133         gst_pad_link, call pad_link_maybe_ghosting,
29134         (pad_link_maybe_ghosting): Links pads, making sure that the
29135         elements being linked are in the same bin.
29136         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
29137         Helpers for pad_link_maybe_ghosting.
29138
29139 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
29140
29141         * configure.ac:
29142           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
29143
29144 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
29145
29146         * docs/design/part-element-source.txt:
29147           Mention GstPushSrc
29148
29149 2005-05-12  Wim Taymans  <wim@fluendo.com>
29150
29151         * gst/base/gstbasesink.c: (gst_basesink_init),
29152         (gst_basesink_activate):
29153         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
29154         (gst_basesrc_is_seekable):
29155         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
29156         (bin_element_is_sink), (gst_bin_change_state):
29157         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
29158         * gst/gstelement.h:
29159         Identify sinks by their flag to avoid overly complicated
29160         checks (fow now).
29161         Do state changes even for elements not reachable from the
29162         sinks.
29163         BaseSink is a sink now :)
29164         Some more debugging info in the basesrc.
29165
29166
29167 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29168
29169         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
29170           Implement _query on a bin, similar to _send_event.
29171
29172 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
29173
29174         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
29175           Discont event offset format should be GST_FORMAT_BYTES,
29176           not GST_FORMAT_TIME.
29177
29178 2005-05-12  Wim Taymans  <wim@fluendo.com>
29179
29180         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
29181         Same fix as Ronald's but without the signal. 
29182
29183 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29184
29185         * gst/gstutils.c: (gst_element_query_position):
29186           No, an element is not a pad.
29187
29188 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29189
29190         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
29191         (gst_bin_get_state):
29192           If a child is removed from a bin while we remove the child from
29193           the bin and while we're retrieving its state, signal this to the
29194           get_state function so we abort the wait (instead of waiting for
29195           a timeout) and can immediately re-iterate over all other elements.
29196
29197 2005-05-12  Wim Taymans  <wim@fluendo.com>
29198
29199         * gst/base/Makefile.am:
29200         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
29201         (gst_basesrc_start):
29202         * gst/base/gstbasesrc.h:
29203         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
29204         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
29205         (gst_pushsrc_init), (gst_pushsrc_create):
29206         * gst/base/gstpushsrc.h:
29207         Added is_seekable to BaseSrc
29208         Added simple PushSrc.
29209
29210 2005-05-11  Wim Taymans  <wim@fluendo.com>
29211
29212         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
29213         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29214         (gst_element_link_pads), (gst_element_query_position),
29215         (gst_element_query_convert), (intersect_caps_func),
29216         (gst_pad_query_position), (gst_pad_query_convert):
29217         Fix refcounting in utils function.
29218         No point in trying to activate a pad when it's added, it could
29219         be added from the state change function and then we deadlock, the
29220         element has to decide what to do.
29221
29222 2005-05-10  Andy Wingo  <wingo@pobox.com>
29223
29224         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
29225         *all* the arguments.
29226
29227         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
29228         stream lock if it's a FLUSH_DONE; normal flushes don't get the
29229         lock (according to the docs -- if this is wrong change the docs).
29230
29231         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
29232         flush messages in the NULL state.
29233
29234         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
29235         message immediately and return.
29236         (gst_bus_set_flushing): New function. If a bus is flushing, it
29237         flushes out any queued messages and immediately unrefs new
29238         messages. This is so when an element goes to NULL, all of the
29239         unhandled messages coming from it can be freed, and their
29240         references to the element dropped. In other words: message source
29241         ref considered harmful :P
29242
29243         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
29244         we're finished with it.
29245
29246         * gst/gstmessage.c (gst_message_new_state_changed): 
29247
29248 2005-05-10  Wim Taymans  <wim@fluendo.com>
29249
29250         * gst/gstvalue.c: (gst_value_compare_flags),
29251         (gst_value_serialize_flags), (gst_value_deserialize_flags),
29252         (_gst_value_initialize):
29253         Added flags serialize/deserialize/compare code.
29254
29255 2005-05-09  Andy Wingo  <wingo@pobox.com>
29256
29257         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
29258         Intersect the peer's caps with our caps.
29259
29260 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29261
29262         * gst/base/gsttypefindhelper.c: (helper_find_peek):
29263         * gst/elements/gsttypefindelement.c: (find_peek):
29264           Handle negative offsets better. Fixes decodebin.
29265
29266 2005-05-09  Wim Taymans  <wim@fluendo.com>
29267
29268         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
29269         (gst_base_transform_event):
29270         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
29271         Implement accept_caps.
29272         Fix silly lock/unlock mismatch in base class.
29273
29274 2005-05-09  Wim Taymans  <wim@fluendo.com>
29275
29276         * docs/design/draft-push-pull.txt:
29277         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
29278         * gst/elements/gstfilesink.c: (gst_filesink_init),
29279         (gst_filesink_query):
29280         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29281         (gst_type_find_handle_src_query), (find_element_get_length):
29282         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
29283         * gst/gstelement.h:
29284         * gst/gstmessage.c:
29285         * gst/gstmessage.h:
29286         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
29287         (gst_real_pad_get_caps_unlocked),
29288         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
29289         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29290         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
29291         (gst_real_pad_dispose), (gst_real_pad_finalize),
29292         (gst_pad_load_and_link), (gst_pad_save_thyself),
29293         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
29294         (gst_pad_check_pull_range), (gst_pad_pull_range),
29295         (gst_pad_template_get_type), (gst_pad_template_class_init),
29296         (gst_pad_template_init), (gst_pad_template_dispose),
29297         (name_is_valid), (gst_static_pad_template_get),
29298         (gst_pad_template_new), (gst_static_pad_template_get_caps),
29299         (gst_pad_template_get_caps), (gst_pad_set_element_private),
29300         (gst_pad_get_element_private), (gst_pad_start_task),
29301         (gst_pad_pause_task), (gst_pad_stop_task),
29302         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
29303         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
29304         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
29305         (gst_ghost_pad_new):
29306         * gst/gstpad.h:
29307         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
29308         (gst_query_new_position), (gst_query_set_position),
29309         (gst_query_parse_position), (gst_query_new_convert),
29310         (gst_query_set_convert), (gst_query_parse_convert):
29311         * gst/gstquery.h:
29312         * gst/gstqueryutils.c:
29313         * gst/gstqueryutils.h:
29314         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
29315         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
29316         (gst_queue_handle_src_query):
29317         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29318         (gst_element_query_position), (gst_element_query_convert),
29319         (intersect_caps_func), (gst_pad_query_position),
29320         (gst_pad_query_convert):
29321         * gst/gstutils.h:
29322         * tools/gst-inspect.c: (print_pad_info):
29323         * tools/gst-xmlinspect.c: (print_element_info):
29324         Remove old query functions. Ported old code.
29325         Added position/convert helper functions to gstutils.
29326         Reordered gstpad.c code, grouping relevant things.
29327         Remove gst_message_new(), always need to speficy a specific
29328         message.
29329
29330
29331 2005-05-09  Andy Wingo  <wingo@pobox.com>
29332
29333         * gst/gstiterator.h: Add some includes.
29334
29335         * gst/gstqueryutils.h: Include more headers.
29336
29337         * gst/gstpad.h:
29338         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
29339         some uses of gst_pad_query.
29340
29341         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
29342         NULL out parameters.
29343         (gst_query_new_position): New proc, allocates a new position
29344         query.
29345
29346         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
29347         gstqueryutils.c to the build.
29348
29349         * gst/gststructure.c (gst_structure_set_valist): Implement with
29350         the generic G_VALUE_COLLECT.
29351         
29352 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
29353
29354         * gst/Makefile.am: (gst_headers):
29355         Added gstqueryutils.h to the list of headers to install, that was
29356         a 'nachty' move wingo :)
29357
29358 2005-05-06  Andy Wingo  <wingo@pobox.com>
29359
29360         * gst/gstquery.h
29361         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
29362         GstData, init a memchunk.
29363         (standard_definitions): Add a few query types, deprecate a few.
29364         (gst_query_get_type): New proc.
29365         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
29366         implementation.
29367         (gst_query_new_application, gst_query_get_structure): New public
29368         procs.
29369
29370         * docs/design/draft-query.txt: Removed LINKS from the query types,
29371         because all the rest can be dispatched to other pads -- seemed
29372         ugly to have a query that couldn't be dispatched. internal_links
29373         is fine as a pad method.
29374
29375         * gst/gstpad.h: Add query2 as a pad method, add the new functions
29376         in gstpad.c, but maintain binary compatibility for the moment.
29377         Will fix before 0.9 is out.
29378
29379         * gst/gstqueryutils.c: 
29380         * gst/gstqueryutils.h: New files, implement 3 methods for each
29381         query type: parse_query, parse_response, and set. Probably need an
29382         allocator as well.
29383
29384         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
29385
29386         * gst/elements/gstfilesink.c (gst_filesink_query2):
29387         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
29388         query_types, and formats methods.
29389
29390         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
29391         (gst_pad_set_query2_function): New functions.
29392         (gst_real_pad_init): Set query2_default as the default query2
29393         function. Basically just dispatches to internally linked pads.
29394
29395         Needs review!
29396         
29397         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
29398         without using the atomic operations. Only one thread can possibly
29399         be accessing the data at this point. Changed so as to avoid
29400         gst_atomic operations.
29401
29402 2005-05-06  Wim Taymans  <wim@fluendo.com>
29403
29404         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
29405         Also set caps if we use the fallback buffer alloc.
29406
29407 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
29408
29409         * docs/gst/Makefile.am:
29410         * docs/gst/gstreamer-docs.sgml:
29411         * docs/gst/gstreamer-sections.txt:
29412         * docs/gst/tmpl/gstatomic.sgml:
29413         * docs/gst/tmpl/gstmemchunk.sgml:
29414         * testsuite/elements/struct_i386.h:
29415         * win32/GStreamer.vcproj:
29416         * win32/Makefile:
29417           Purge GstAtomic stuff from docs and win32 makefiles as well
29418
29419 2005-05-06  Wim Taymans  <wim@fluendo.com>
29420
29421         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
29422         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
29423         * gst/gstpad.c: (gst_pad_peer_get_caps):
29424         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
29425         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
29426         (gst_queue_src_activate), (gst_queue_change_state):
29427         * gst/gstqueue.h:
29428         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29429         (intersect_caps_func):
29430         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
29431         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
29432         Some fixes for the peer_get_caps() change.
29433
29434 2005-05-06  Wim Taymans  <wim@fluendo.com>
29435
29436         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29437         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
29438         (gst_basesink_activate):
29439         Actually do something with error codes returned from the push
29440         functions.
29441
29442 2005-05-06  Wim Taymans  <wim@fluendo.com>
29443
29444         * docs/design/part-element-sink.txt:
29445         * docs/design/part-element-source.txt:
29446         * gst/base/gstbasesink.c: (gst_basesink_class_init),
29447         (gst_basesink_event), (gst_basesink_activate):
29448         * gst/base/gstbasesink.h:
29449         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
29450         (gst_basesrc_activate):
29451         * gst/base/gstbasesrc.h:
29452         * gst/gstelement.c: (gst_element_pads_activate):
29453         Some more documentation.
29454         Fixed scheduling decision in _pads_activate().
29455
29456 2005-05-05  Andy Wingo  <wingo@pobox.com>
29457
29458         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
29459         the test suite.
29460
29461 2005-05-05  Wim Taymans  <wim@fluendo.com>
29462
29463         * gst/base/Makefile.am:
29464         * gst/base/gstbasesink.h:
29465         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29466         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
29467         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
29468         (gst_collectpads_class_init), (gst_collectpads_init),
29469         (gst_collectpads_finalize), (gst_collectpads_new),
29470         (gst_collectpads_set_function), (gst_collectpads_add_pad),
29471         (find_pad), (gst_collectpads_remove_pad),
29472         (gst_collectpads_is_active), (gst_collectpads_collect),
29473         (gst_collectpads_collect_range), (gst_collectpads_start),
29474         (gst_collectpads_stop), (gst_collectpads_peek),
29475         (gst_collectpads_pop), (gst_collectpads_available),
29476         (gst_collectpads_read), (gst_collectpads_flush),
29477         (gst_collectpads_chain):
29478         * gst/base/gstcollectpads.h:
29479         * gst/elements/Makefile.am:
29480         * gst/elements/gstelements.c:
29481         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29482         (gst_fakesink_get_times), (gst_fakesink_event),
29483         (gst_fakesink_preroll), (gst_fakesink_render):
29484         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
29485         (gst_filesink_init), (gst_filesink_set_location),
29486         (gst_filesink_open_file), (gst_filesink_close_file),
29487         (gst_filesink_pad_query), (gst_filesink_event),
29488         (gst_filesink_render), (gst_filesink_change_state):
29489         * gst/elements/gstfilesink.h:
29490         Added object to help in making collect pad based elements.
29491         Ported filesink.
29492         Make event function in sink baseclass return gboolean.
29493
29494 2005-05-05  Wim Taymans  <wim@fluendo.com>
29495
29496         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
29497         (gst_bin_get_by_name):
29498         * gst/gstbuffer.h:
29499         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
29500         (gst_clock_finalize):
29501         * gst/gstdata.c: (gst_data_replace):
29502         * gst/gstdata.h:
29503         * gst/gstelement.c: (gst_element_request_pad),
29504         (gst_element_pads_activate):
29505         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
29506         (gst_object_unref):
29507         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29508         (gst_pad_set_checkgetrange_function),
29509         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
29510         (gst_pad_check_pull_range), (gst_pad_pull_range),
29511         (gst_static_pad_template_get_caps), (gst_pad_start_task),
29512         (gst_pad_pause_task), (gst_pad_stop_task):
29513         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29514         (gst_element_request_pad), (gst_pad_proxy_getcaps):
29515         Fix name lookup in GstBin.
29516         Added _data_replace() function and _buffer_replace()
29517         Use finalize method to clean up clock.
29518         Fix refcounting on request pads.
29519         Fix pad schedule mode error.
29520         Some more object refcounting debug info,
29521
29522
29523 2005-05-04  Andy Wingo <wingo@pobox.com>
29524
29525         * check/Makefile.am:
29526         * docs/gst/tmpl/gstatomic.sgml:
29527         * docs/gst/tmpl/gstplugin.sgml:
29528         * gst/base/gstbasesink.c: (gst_basesink_activate):
29529         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
29530         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
29531         (gst_basesrc_query), (gst_basesrc_set_property),
29532         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
29533         (gst_basesrc_activate):
29534         * gst/base/gstbasesrc.h:
29535         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
29536         (gst_base_transform_src_activate):
29537         * gst/elements/gstelements.c:
29538         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29539         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29540         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29541         * gst/elements/gsttypefindelement.c: (find_element_get_length),
29542         (gst_type_find_element_checkgetrange),
29543         (gst_type_find_element_activate):
29544         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
29545         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
29546         (gst_caps_load_thyself):
29547         * gst/gstelement.c: (gst_element_pads_activate),
29548         (gst_element_save_thyself), (gst_element_restore_thyself):
29549         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
29550         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
29551         * gst/gstpad.h:
29552         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
29553         (gst_xml_parse_file), (gst_xml_parse_memory),
29554         (gst_xml_get_element), (gst_xml_make_element):
29555         * gst/indexers/gstfileindex.c: (gst_file_index_load),
29556         (_file_index_id_save_xml), (gst_file_index_commit):
29557         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
29558         (read_enum), (load_pad_template), (load_feature), (load_plugin),
29559         (load_paths):
29560         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
29561         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
29562         * tools/gst-complete.c: (main):
29563         * tools/gst-compprep.c: (main):
29564         * tools/gst-inspect.c: (print_element_properties_info):
29565         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
29566         * tools/gst-xmlinspect.c: (print_element_properties):
29567         GCC 4 fixen.
29568         
29569 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
29570
29571         * gst/gstplugin.c: (gst_plugin_check_module),
29572         (gst_plugin_check_file), (gst_plugin_load_file):
29573             apply patch from #172526 to make register work on MacOSX
29574
29575 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
29576
29577         * docs/gst/tmpl/gstconfig.sgml:
29578         * gst/gstconfig.h.in:
29579           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
29580         * testsuite/debug/printf_extension.c: (main):
29581           Do not use GST_PTR_FORMAT on pointers to types with
29582           sizeof < sizeof(gpointer).  Fixes test on 64-bit
29583         * testsuite/elements/property.h:
29584           use correct printf format
29585
29586 2005-05-02  Wim Taymans  <wim@fluendo.com>
29587
29588         * docs/design/draft-push-pull.txt:
29589         * docs/design/draft-query.txt:
29590         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
29591         (gst_basesrc_start):
29592         Added draft for new query API.
29593         Added draft for better selecting scheduling methods.
29594         Make basesrc ignore length if the subclass does not support
29595         it.
29596
29597 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
29598
29599         * gst/Makefile.am:
29600           possible fixes for automake-1.5 - _LIBADD is reserved
29601
29602 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
29603
29604         * docs/faq/Makefile.am:
29605         * docs/manual/Makefile.am:
29606         * docs/manuals.mak:
29607         * docs/pwg/Makefile.am:
29608         * gst/Makefile.am:
29609           possible fixes for automake-1.5
29610
29611 2005-04-28  Wim Taymans  <wim@fluendo.com>
29612
29613         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29614         (gst_basesink_pad_getcaps), (gst_basesink_init),
29615         (gst_basesink_do_sync):
29616         * gst/gstclock.c: (gst_clock_entry_new):
29617         * gst/gstevent.c: (gst_event_discont_get_value):
29618         * gst/gstpipeline.c: (pipeline_bus_handler),
29619         (gst_pipeline_change_state):
29620         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
29621         Better debugging of clocking info.
29622         Allow NULL values when getting discont values.
29623
29624 2005-04-27  Wim Taymans  <wim@fluendo.com>
29625
29626         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
29627         * check/gst/gstpad.c: (gst_pad_suite):
29628         Increase timeout for checks.
29629
29630 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
29631
29632         * check/Makefile.am:
29633           fix the broken rule for cleanup.  Apparently this rule is
29634           only needed on FC2, so maybe this warrants further autotool
29635           inspection.
29636
29637 2005-04-26  Wim Taymans  <wim@fluendo.com>
29638
29639         * gst/gsttrashstack.h:
29640         Ooohh. a nasty one! After having a failed pop() from the stack,
29641         it's possible that the stack is empty. In that case, don't
29642         follow the NULL pointer.
29643
29644 2005-04-25  Wim Taymans  <wim@fluendo.com>
29645
29646         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29647         (gst_pad_set_checkgetrange_function),
29648         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
29649         (gst_pad_check_pull_range), (gst_pad_pull_range),
29650         (gst_static_pad_template_get_caps), (gst_pad_start_task),
29651         (gst_pad_pause_task), (gst_pad_stop_task):
29652         * gst/gstplugin.c: (gst_plugin_load):
29653         * gst/gstplugin.h:
29654         Remove gst_library_load as it does more harm than good with
29655         the new g_module flags.
29656         Revert bogus caps template check in pad linking, pad caps
29657         are important when linking not the template, which is more
29658         general than the current caps.
29659
29660 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29661
29662         * gst/autoplug/.cvsignore:
29663         * gst/autoplug/Makefile.am:
29664         * gst/autoplug/gstsearchfuncs.c:
29665         * gst/autoplug/gstsearchfuncs.h:
29666         * gst/autoplug/gstspider.c:
29667         * gst/autoplug/gstspider.h:
29668         * gst/autoplug/gstspideridentity.c:
29669         * gst/autoplug/gstspideridentity.h:
29670         * gst/autoplug/spidertest.c:
29671           Die, spider, die.
29672
29673 2005-04-25  Wim Taymans  <wim@fluendo.com>
29674
29675         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29676         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
29677         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
29678         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
29679         * gst/gstpad.h:
29680         Added stubs for unimplemented functions. 
29681
29682 2005-04-24  David Schleef  <ds@schleef.org>
29683
29684         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
29685         please fix.
29686
29687 2005-04-24  David Schleef  <ds@schleef.org>
29688
29689         Convert everything from GstAtomicInt to g_atomic_int_*, and
29690         remove gstatomic.
29691         * gst/Makefile.am:
29692         * gst/gstatomic.c:
29693         * gst/gstatomic.h:
29694         * gst/gstatomic_impl.h:
29695         * gst/gstbuffer.c:
29696         * gst/gstcaps.c:
29697         * gst/gstcaps.h:
29698         * gst/gstclock.c:
29699         * gst/gstclock.h:
29700         * gst/gstdata.c:
29701         * gst/gstdata.h:
29702         * gst/gstdata_private.h:
29703         * gst/gstevent.c:
29704         * gst/gstinfo.c:
29705         * gst/gstinfo.h:
29706         * gst/gstmessage.c:
29707         * gst/gstobject.c:
29708         * gst/gstobject.h:
29709         * gst/gststructure.c:
29710         * gst/gststructure.h:
29711         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
29712         * gst/gstutils.h:
29713
29714 2005-04-24  David Schleef  <ds@schleef.org>
29715
29716         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
29717         make the regressions tests work.  Remove some code that is no
29718         longer true.
29719         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
29720         Disable warning for pads without templates.
29721
29722 2005-04-24  David Schleef  <ds@schleef.org>
29723
29724         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
29725         functions that handle filtered links.
29726         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
29727         removed functions.
29728         * gst/gstutils.c: Fix/remove utility functions that handle
29729         filtered caps.
29730         * gst/gstutils.h:
29731         * gst/gstvalue.c: Add serialization/deserialization of caps
29732         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
29733         requires fixing so that the filter caps notation creates
29734         a capsfilter element and sets the filter_caps property.  I
29735         think everyone probably wants to keep the shorthand notation.
29736         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
29737         * docs/gst/tmpl/gstpad.sgml:
29738
29739         * gst/elements/gstelements.c: Register capsfilter element.
29740         * gst/Makefile.am: fix spacing
29741         * docs/random/ds/0.9-suggested-changes: random
29742
29743 2005-04-23  David Schleef  <ds@schleef.org>
29744
29745         * gst/elements/Makefile.am:
29746         * gst/elements/gstcapsfilter.c: New element that acts like an
29747         identity, but filters caps.  Will eventually replace filtered
29748         caps in pad linking.
29749         * gst/gstutils.c: (gst_element_create_all_pads): New function
29750         to create all the ALWAYS pads that are registered with an
29751         element class.  This functionality should eventually be
29752         merged in with GstElement initialization.
29753         * gst/gstutils.h:
29754         * testsuite/trigger/README: part of trigger test code that should
29755         have been checked in a long time ago.
29756
29757 2005-04-23  David Schleef  <ds@schleef.org>
29758
29759         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
29760         needed with new versions of libtool (nobody will confirm this),
29761         and hard to carry around.
29762         * gst/autoplug/Makefile.am:
29763         * gst/base/Makefile.am:
29764         * gst/elements/Makefile.am:
29765         * gst/indexers/Makefile.am:
29766         * gst/schedulers/Makefile.am:
29767         * libs/gst/bytestream/Makefile.am:
29768         * libs/gst/control/Makefile.am:
29769         * libs/gst/dataprotocol/Makefile.am:
29770         * libs/gst/getbits/Makefile.am:
29771
29772 2005-04-21  Wim Taymans  <wim@fluendo.com>
29773
29774         * docs/design/draft-push-pull.txt:
29775         * docs/design/part-MT-refcounting.txt:
29776         * docs/design/part-TODO.txt:
29777         * docs/design/part-caps.txt:
29778         * docs/design/part-events.txt:
29779         * docs/design/part-gstbus.txt:
29780         * docs/design/part-gstpipeline.txt:
29781         * docs/design/part-messages.txt:
29782         * docs/design/part-push-pull.txt:
29783         * docs/design/part-query.txt:
29784         Some more docs.
29785
29786 2005-04-21  Wim Taymans  <wim@fluendo.com>
29787
29788         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
29789         (gst_message_new), (gst_message_new_error),
29790         (gst_message_new_warning), (gst_message_new_tag),
29791         (gst_message_new_state_changed), (gst_message_new_application),
29792         (gst_message_get_structure):
29793         * gst/gstmessage.h:
29794         * gst/gststructure.c: (gst_structure_set_parent_refcount),
29795         (gst_structure_copy_conditional):
29796         Use parent refcount in GstMessage to ensure GstStructure
29797         consistency.
29798         Cleaned up headers a bit.
29799         
29800
29801 2005-04-20  Wim Taymans  <wim@fluendo.com>
29802
29803         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29804         (gst_basesink_pad_getcaps), (gst_basesink_init),
29805         (gst_basesink_chain_unlocked):
29806         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
29807         (gst_type_find_helper):
29808         * gst/elements/gsttypefindelement.c:
29809         (gst_type_find_element_have_type), (gst_type_find_element_init),
29810         (stop_typefinding), (gst_type_find_element_handle_event),
29811         (find_suggest), (gst_type_find_element_chain),
29812         (gst_type_find_element_checkgetrange),
29813         (gst_type_find_element_getrange), (do_typefind),
29814         (gst_type_find_element_activate):
29815         * gst/gstbuffer.c: (_gst_buffer_sub_free),
29816         (gst_buffer_default_free), (gst_buffer_default_copy),
29817         (gst_buffer_set_caps):
29818         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
29819         (gst_caps_replace):
29820         * gst/gstmessage.c: (gst_message_new),
29821         (gst_message_new_state_changed):
29822         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29823         (gst_pad_set_checkgetrange_function),
29824         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
29825         (gst_pad_set_caps), (gst_pad_check_pull_range),
29826         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
29827         * gst/gstpad.h:
29828         * gst/gsttypefind.c: (gst_type_find_register):
29829         Make gst_caps_replace() work like other _replace() functions.
29830         Use _caps_replace() where possible.
29831         Make sure _message_new() initialises its field.
29832         Add gst_static_pad_template_get_caps()
29833
29834
29835 2005-04-18  Andy Wingo  <wingo@pobox.com>
29836
29837         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
29838         on the peer, not the pad. I think that was a typo. Pass an extra
29839         arg to see if random access is possible. Activate the pads as
29840         PULL_RANGE if possible.
29841
29842         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
29843
29844         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
29845         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
29846         to PROP_....
29847
29848 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29849
29850         * docs/faq/using.xml:
29851           Add note on gstreamer-properties (#154996).
29852
29853 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29854
29855         * docs/random/bbb/optional-properties:
29856           Some analysis on optional properties.
29857
29858 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29859
29860         * docs/gst/tmpl/gstelementfactory.sgml:
29861         * gst/gstelement.h:
29862         * gst/gstelementfactory.c: (gst_element_factory_init),
29863         (gst_element_factory_cleanup), (gst_element_register),
29864         (__gst_element_factory_add_static_pad_template),
29865         (gst_element_factory_get_static_pad_templates),
29866         (gst_element_factory_can_src_caps),
29867         (gst_element_factory_can_sink_caps):
29868         * gst/registries/Makefile.am:
29869         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
29870         (gst_xml_registry_class_init), (gst_xml_registry_init),
29871         (gst_xml_registry_new), (gst_xml_registry_set_property),
29872         (gst_xml_registry_get_property), (get_time), (make_dir),
29873         (gst_xml_registry_get_perms_func),
29874         (plugin_times_older_than_recurse), (plugin_times_older_than),
29875         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
29876         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
29877         (add_to_char_array), (read_string), (read_uint), (read_enum),
29878         (load_pad_template), (load_feature), (load_plugin), (load_paths),
29879         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
29880         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
29881         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
29882         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
29883         (gst_xml_registry_rebuild):
29884         * gst/registries/gstlibxmlregistry.h:
29885         * tools/gst-compprep.c: (main):
29886         * tools/gst-inspect.c: (print_pad_templates_info):
29887         * tools/gst-xmlinspect.c: (print_element_info):
29888           Use libxml2 for registry parsing, use staticpadtemplates in
29889           elementfactories. Makes gst_init() +/- 10x faster.
29890
29891 2005-04-12  Wim Taymans  <wim@fluendo.com>
29892
29893         * gst/base/Makefile.am:
29894         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29895         (gst_basesink_pad_getcaps), (gst_basesink_init),
29896         (gst_basesink_event), (gst_basesink_change_state):
29897         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29898         (gst_basesrc_init), (gst_basesrc_query),
29899         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
29900         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
29901         (gst_basesrc_check_get_range), (gst_basesrc_loop),
29902         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
29903         (gst_basesrc_stop), (gst_basesrc_activate),
29904         (gst_basesrc_change_state):
29905         * gst/base/gsttypefindhelper.c: (helper_find_peek),
29906         (helper_find_suggest), (gst_type_find_helper):
29907         * gst/base/gsttypefindhelper.h:
29908         * gst/elements/Makefile.am:
29909         * gst/elements/gstelements.c:
29910         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29911         (gst_fakesink_get_times), (gst_fakesink_event),
29912         (gst_fakesink_preroll), (gst_fakesink_render):
29913         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29914         (gst_fakesrc_init), (gst_fakesrc_event_handler),
29915         (gst_fakesrc_get_property), (gst_fakesrc_create),
29916         (gst_fakesrc_start), (gst_fakesrc_stop):
29917         * gst/elements/gstfakesrc.h:
29918         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
29919         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
29920         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
29921         (gst_filesrc_create_read), (gst_filesrc_create),
29922         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
29923         (gst_filesrc_start):
29924         * gst/elements/gsttypefindelement.c:
29925         (gst_type_find_element_have_type), (gst_type_find_element_init),
29926         (start_typefinding), (stop_typefinding), (push_buffer_store),
29927         (gst_type_find_element_handle_event),
29928         (gst_type_find_element_chain),
29929         (gst_type_find_element_checkgetrange),
29930         (gst_type_find_element_getrange), (do_typefind),
29931         (gst_type_find_element_activate),
29932         (gst_type_find_element_change_state):
29933         * gst/elements/gsttypefindelement.h:
29934         * gst/gstpipeline.c: (pipeline_bus_handler):
29935         Added typefind helper.
29936         Small preroll fix in the base sink.
29937         Disable typefind code in basesrc.
29938         Crude port of typefindelement.
29939         Fakesrc cleanups.
29940
29941
29942 2005-04-11  Wim Taymans  <wim@fluendo.com>
29943
29944         * check/gst/gstbus.c: (gstbus_suite):
29945         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
29946         * check/gstcheck.h:
29947           Fix up the timeout so that the test does not fail.
29948
29949 2005-04-06  Wim Taymans  <wim@fluendo.com>
29950
29951         * gst/base/README:
29952         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29953         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
29954         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
29955         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
29956         (gst_basesrc_check_get_range), (gst_basesrc_loop),
29957         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
29958         (gst_basesrc_stop), (gst_basesrc_activate),
29959         (gst_basesrc_change_state), (basesrc_find_peek),
29960         (basesrc_find_suggest), (gst_basesrc_type_find):
29961         * gst/base/gstbasesrc.h:
29962         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
29963         (gst_filesrc_class_init), (gst_filesrc_init),
29964         (gst_filesrc_finalize), (gst_filesrc_set_location),
29965         (gst_filesrc_set_property), (gst_filesrc_get_property),
29966         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
29967         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
29968         (gst_filesrc_create_read), (gst_filesrc_create),
29969         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
29970         * gst/elements/gstfilesrc.h:
29971         * gst/gstelement.c: (gst_element_get_state_func),
29972         (gst_element_lost_state), (gst_element_pads_activate):
29973         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29974         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
29975         (gst_pad_pull_range):
29976         * gst/gstpad.h:
29977         More work on the generic source base class, implement seeking,
29978         query.
29979         Make filesrc extend the base source class.
29980         Added gst_pad_set_checkgetrange_function to GstPad.
29981
29982 2005-04-06  Andy Wingo  <wingo@pobox.com>
29983
29984         * pkgconfig/gstreamer-base.pc.in:
29985         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
29986
29987         * pkgconfig/Makefile.am:
29988         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
29989
29990 2005-04-04  Wim Taymans  <wim@fluendo.com>
29991
29992         * gst/base/Makefile.am:
29993         * gst/base/README:
29994         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29995         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
29996         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
29997         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
29998         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29999         (gst_basesrc_base_init), (gst_basesrc_class_init),
30000         (gst_basesrc_init), (gst_basesrc_get_formats),
30001         (gst_basesrc_get_query_types), (gst_basesrc_query),
30002         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
30003         (gst_basesrc_set_property), (gst_basesrc_get_property),
30004         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
30005         (gst_basesrc_loop), (gst_basesrc_activate),
30006         (gst_basesrc_change_state):
30007         * gst/base/gstbasesrc.h:
30008         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
30009         (gst_fakesrc_class_init), (gst_fakesrc_init),
30010         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
30011         (gst_fakesrc_get_property), (gst_fakesrc_create):
30012         * gst/elements/gstfakesrc.h:
30013         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
30014         (gst_filesrc_open_file), (gst_filesrc_loop),
30015         (gst_filesrc_activate), (filesrc_find_peek),
30016         (gst_filesrc_type_find):
30017         Made base source class, make fakesrc extend it.
30018         Add comments to basesink class.
30019         Some filesrc cleanup.
30020
30021 2005-03-31  David Schleef  <ds@schleef.org>
30022
30023         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
30024         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
30025         expected to link against libgstreamer.
30026         * gst/base/Makefile.am: link against libgstreamer
30027         * gst/elements/Makefile.am: same
30028
30029 2005-03-31  Andy Wingo  <wingo@pobox.com>
30030
30031         * tests/instantiate/Makefile.am:
30032         * tests/instantiate/caps.c: Add test to test speed of caps copy
30033         and free.
30034
30035         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
30036         GMemChunk to be fair.
30037
30038         * gst/gsttrashstack.h: Remove warning about using the fallback
30039         trash stack implementation, it's still faster than malloc.
30040
30041 2005-03-30  Andy Wingo  <wingo@pobox.com>
30042
30043         * tests/complexity.c: Add a copyright.
30044
30045 2005-03-31  Wim Taymans  <wim@fluendo.com>
30046
30047         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
30048         (gst_base_transform_class_init), (gst_base_transform_init),
30049         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
30050         (gst_base_transform_get_property),
30051         (gst_base_transform_sink_activate),
30052         (gst_base_transform_src_activate),
30053         (gst_base_transform_change_state):
30054         * gst/base/gstbasetransform.h:
30055         * gst/elements/gstidentity.c: (gst_identity_class_init),
30056         (gst_identity_event), (gst_identity_check_perfect),
30057         (gst_identity_transform), (gst_identity_start),
30058         (gst_identity_stop):
30059         Added start/stop methods to transform base class so subclasses 
30060         don't need to deal with state changes even.
30061
30062 2005-03-31  Wim Taymans  <wim@fluendo.com>
30063
30064         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
30065         (gst_event_new_discontinuous), (gst_event_discont_get_value):
30066         * gst/gstevent.h:
30067         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30068         (gst_pad_pull_range):
30069         Added rate to the discont event to prepare for variable speed
30070         and reverse playback.
30071
30072 2005-03-29  David Schleef  <ds@schleef.org>
30073
30074         * configure.ac:
30075         * testsuite/trigger/Makefile.am:
30076         * testsuite/trigger/trigger.c: A little example program to show
30077         how trigger-based elements can work.
30078
30079 2005-03-29  Wim Taymans  <wim@fluendo.com>
30080
30081         * gst/base/Makefile.am:
30082         * gst/base/README:
30083         * gst/base/gstbasesink.c: (gst_basesink_get_type),
30084         (gst_basesink_base_init), (gst_basesink_class_init),
30085         (gst_basesink_pad_getcaps), (gst_basesink_init),
30086         (gst_basesink_activate), (gst_basesink_change_state):
30087         * gst/base/gstbasesink.h:
30088         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
30089         (gst_base_transform_base_init), (gst_base_transform_finalize),
30090         (gst_base_transform_class_init), (gst_base_transform_init),
30091         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
30092         (gst_base_transform_event), (gst_base_transform_getrange),
30093         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
30094         (gst_base_transform_set_property),
30095         (gst_base_transform_get_property),
30096         (gst_base_transform_sink_activate),
30097         (gst_base_transform_src_activate),
30098         (gst_base_transform_change_state):
30099         * gst/base/gstbasetransform.h:
30100         * gst/elements/gstidentity.c: (gst_identity_finalize),
30101         (gst_identity_class_init), (gst_identity_init),
30102         (gst_identity_event), (gst_identity_check_perfect),
30103         (gst_identity_transform), (gst_identity_set_property),
30104         (gst_identity_get_property), (gst_identity_change_state):
30105         * gst/elements/gstidentity.h:
30106         * gst/gstelement.c: (gst_element_get_state_func),
30107         (gst_element_lost_state), (gst_element_pads_activate):
30108         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30109         (gst_pad_check_pull_range), (gst_pad_pull_range):
30110         * gst/gstpad.h:
30111         Simplify pad activation.
30112         Added function to check if pull_range can be performed.
30113         Error out when pulling inactive or flushing pads.
30114         Removed const from refcounted types as it does not make sense.
30115         Simplify pad templates in basesink
30116         Added base class for simple 1-to-1 transforms.
30117         Make identity subclass the base transform.
30118
30119 2005-03-29  Andy Wingo  <wingo@pobox.com>
30120
30121         * docs/libs/gstreamer-libs-overrides.txt: 
30122         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
30123         really don't understand what's going on, but like whatever. I want
30124         green buildbot!
30125
30126         * docs/gst/Makefile.am:
30127         * docs/libs/Makefile.am: Dist the overrides files.
30128
30129         * check/Makefile.am (clean-local): Remove .libs directories.
30130
30131         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
30132         elements to EXTRA_DIST, so po/ files are happy.
30133
30134         * po/POTFILES.in: Er, remove it here.
30135
30136         * po/POTFILES: Remove gstspider.c.
30137
30138         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
30139
30140         * docs/libs/gstreamer-libs-docs.sgml: 
30141         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
30142         bytestream.
30143
30144         * tests/complexity.c (main): Set the length of the preroll queue
30145         on the sinks to prevent a lockup.
30146
30147         * libs/gst/dataprotocol/Makefile.am: 
30148         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
30149         the same as the one in check/gst-libs/gdp.c.
30150
30151         * po/, docs/gst/: Commit automatic changes to docs and po files.
30152
30153         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
30154         the versioned libgstbase.
30155
30156         * check/Makefile.am: Depend on an unversioned gst-register, seems
30157         to make autoconf happier.
30158
30159         * gst/base/Makefile.am: Make libgstbase a versioned lib.
30160
30161 2005-03-28  Wim Taymans  <wim@fluendo.com>
30162
30163         * configure.ac:
30164         * docs/design/part-gstelement.txt:
30165         * docs/design/part-negotiation.txt:
30166         * docs/design/part-preroll.txt:
30167         * docs/design/part-scheduling.txt:
30168         * docs/design/part-states.txt:
30169         * gst/Makefile.am:
30170         * gst/base/Makefile.am:
30171         * gst/base/README:
30172         * gst/base/gstbasesink.c: (gst_basesink_get_template),
30173         (gst_basesink_base_init), (gst_basesink_class_init),
30174         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30175         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30176         (gst_basesink_set_pad_functions),
30177         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
30178         (gst_basesink_set_property), (gst_basesink_get_property),
30179         (gst_base_sink_get_template), (gst_base_sink_get_caps),
30180         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
30181         (gst_basesink_preroll_queue_push),
30182         (gst_basesink_preroll_queue_empty),
30183         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
30184         (gst_basesink_event), (gst_basesink_get_times),
30185         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
30186         (gst_basesink_chain_unlocked), (gst_basesink_chain),
30187         (gst_basesink_loop), (gst_basesink_activate),
30188         (gst_basesink_change_state):
30189         * gst/base/gstbasesink.h:
30190         * gst/elements/Makefile.am:
30191         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
30192         (gst_fakesink_class_init), (gst_fakesink_init),
30193         (gst_fakesink_set_property), (gst_fakesink_get_property),
30194         (gst_fakesink_get_times), (gst_fakesink_event),
30195         (gst_fakesink_preroll), (gst_fakesink_render),
30196         (gst_fakesink_change_state):
30197         * gst/elements/gstfakesink.h:
30198         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
30199         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
30200         * gst/gstelement.c: (gst_element_add_pad),
30201         (gst_element_get_state_func), (gst_element_abort_state),
30202         (gst_element_commit_state), (gst_element_lost_state),
30203         (gst_element_set_state), (gst_element_pads_activate):
30204         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
30205         * gst/gstpipeline.c: (gst_pipeline_send_event),
30206         (gst_pipeline_change_state):
30207         Added state change code.
30208         Added/updated docs.
30209         Added sink base class, make fakesink extend the base class.
30210         Small cleanups in GstPipeline.
30211
30212 2005-03-26  David Schleef  <ds@schleef.org>
30213
30214         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
30215         is broken and should be implemented in a different library.
30216         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
30217         * gst/gst.h: remove gstcpu.h
30218         * gst/gstcpu.c: remove
30219         * gst/gstcpu.h: remove
30220         * gst/Makefile.am.future: Remove this file.  It's ancient.
30221
30222 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30223
30224         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
30225         (gst_bin_send_event):
30226           Add default event/set_manager handlers. The set_manager handler
30227           takes care that the manager is distributed over kids that were
30228           already in the bin before the manager was set. The event handler
30229           is a utility virtual function that sends the event over all sinks,
30230           so that gst_element_send_event (bin, event); has the expected
30231           behaviour.
30232         * gst/gstpad.c: (gst_pad_event_default):
30233           Re-install default event handling for discontinuities, so that
30234           seeking works without requiring hacks in applications or extra
30235           code in sinks.
30236         * gst/gstpipeline.c: (gst_pipeline_class_init),
30237         (gst_pipeline_send_event):
30238           Half hack, half utility: set a pipeline to PAUSED for seek events,
30239           since that is the only way we can guarantee a/v sync. Means that
30240           you can do gst_element_seek (pipeline, method, pos); on a pipeline
30241           and it "just works".
30242
30243 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30244
30245         * gst/gstpipeline.c: (gst_pipeline_use_clock):
30246           Lock/unlock mismatch.
30247
30248 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
30249
30250         * docs/faq/gst-uninstalled:
30251           add gst-plugins-base
30252         * docs/gst/Makefile.am:
30253           don't error out until docs are fixed
30254         * docs/gst/gstreamer.types:
30255           remove thread
30256
30257 2005-03-22  Wim Taymans  <wim@fluendo.com>
30258
30259         * check/Makefile.am:
30260         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
30261         * gst/gststructure.c: (gst_structure_set_valist),
30262         (gst_structure_copy_conditional):
30263         Activated more tests.
30264         Added message test.
30265         Added G_TYPE_POINTER to GstStructure.
30266         
30267
30268 2005-03-22  Wim Taymans  <wim@fluendo.com>
30269
30270         * docs/design/part-TODO.txt:
30271         * docs/design/part-events.txt:
30272         * docs/design/part-gstbin.txt:
30273         * docs/design/part-gstbus.txt:
30274         * docs/design/part-gstpipeline.txt:
30275         * docs/design/part-messages.txt:
30276         * gst/gstbus.c:
30277         * gst/gstmessage.c:
30278         Docs updates
30279
30280 2005-03-21  Wim Taymans  <wim@fluendo.com>
30281
30282         * gst/gstbus.c: (gst_bus_post):
30283         Fix copy-and-paste error.
30284
30285 2005-03-21  Wim Taymans  <wim@fluendo.com>
30286
30287         * check/Makefile.am:
30288         * gst/Makefile.am:
30289         * gst/elements/Makefile.am:
30290         * gst/elements/gstelements.c:
30291         * gst/elements/gstfakesink.c: (gst_fakesink_init),
30292         (gst_fakesink_event), (gst_fakesink_chain):
30293         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30294         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
30295         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
30296         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
30297         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
30298         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
30299         (gst_fakesrc_loop), (gst_fakesrc_activate),
30300         (gst_fakesrc_change_state):
30301         * gst/elements/gstfakesrc.h:
30302         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
30303         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
30304         (gst_filesrc_open_file), (gst_filesrc_loop),
30305         (gst_filesrc_activate), (gst_filesrc_change_state),
30306         (filesrc_find_peek), (filesrc_find_suggest),
30307         (gst_filesrc_type_find):
30308         * gst/elements/gstidentity.c: (gst_identity_finalize),
30309         (gst_identity_class_init), (gst_identity_init),
30310         (gst_identity_proxy_getcaps), (identity_queue_push),
30311         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
30312         (gst_identity_getrange), (gst_identity_chain),
30313         (gst_identity_sink_loop), (gst_identity_src_loop),
30314         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
30315         (gst_identity_set_property), (gst_identity_get_property),
30316         (gst_identity_change_state):
30317         * gst/elements/gstidentity.h:
30318         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
30319         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
30320         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
30321         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
30322         (gst_tee_sink_activate):
30323         * gst/elements/gsttee.h:
30324         * gst/gst.c: (gst_register_core_elements), (init_post):
30325         * gst/gst.h:
30326         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
30327         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
30328         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
30329         (gst_bin_change_state):
30330         * gst/gstbin.h:
30331         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
30332         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
30333         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
30334         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
30335         (gst_bus_set_sync_handler), (gst_bus_create_watch),
30336         (bus_watch_callback), (bus_watch_destroy),
30337         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
30338         (poll_timeout), (gst_bus_poll):
30339         * gst/gstbus.h:
30340         * gst/gstcaps.h:
30341         * gst/gstdata.h:
30342         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
30343         (gst_element_post_message), (gst_element_message_full),
30344         (gst_element_get_state_func), (gst_element_get_state),
30345         (gst_element_abort_state), (gst_element_commit_state),
30346         (gst_element_lost_state), (gst_element_set_state),
30347         (gst_element_pads_activate), (gst_element_change_state),
30348         (gst_element_dispose), (gst_element_set_manager_func),
30349         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
30350         (gst_element_set_manager), (gst_element_get_manager),
30351         (gst_element_set_bus), (gst_element_get_bus),
30352         (gst_element_set_scheduler), (gst_element_get_scheduler):
30353         * gst/gstelement.h:
30354         * gst/gstevent.c: (gst_event_new_segment_seek),
30355         (gst_event_new_flush):
30356         * gst/gstevent.h:
30357         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
30358         (_gst_message_free), (gst_message_get_type), (gst_message_new),
30359         (gst_message_new_eos), (gst_message_new_error),
30360         (gst_message_new_warning), (gst_message_new_tag),
30361         (gst_message_new_state_changed), (gst_message_new_application),
30362         (gst_message_get_structure), (gst_message_parse_tag),
30363         (gst_message_parse_state_changed), (gst_message_parse_error),
30364         (gst_message_parse_warning):
30365         * gst/gstmessage.h:
30366         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
30367         (gst_real_pad_set_property), (gst_pad_set_active),
30368         (gst_pad_is_active), (gst_pad_set_blocked_async),
30369         (gst_pad_set_blocked), (gst_pad_is_blocked),
30370         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
30371         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
30372         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
30373         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
30374         (gst_pad_link_filtered), (gst_pad_relink_filtered),
30375         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
30376         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
30377         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
30378         (gst_pad_set_caps), (gst_pad_configure_sink),
30379         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
30380         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
30381         (gst_real_pad_dispose), (gst_real_pad_finalize),
30382         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
30383         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30384         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
30385         * gst/gstpad.h:
30386         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
30387         (pipeline_bus_handler), (gst_pipeline_change_state),
30388         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
30389         * gst/gstpipeline.h:
30390         * gst/gstprobe.h:
30391         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
30392         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
30393         (gst_queue_link_src), (gst_queue_bufferalloc),
30394         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
30395         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
30396         (gst_queue_loop), (gst_queue_handle_src_event),
30397         (gst_queue_handle_src_query), (gst_queue_src_activate),
30398         (gst_queue_change_state):
30399         * gst/gstqueue.h:
30400         * gst/gstscheduler.c: (gst_scheduler_init),
30401         (gst_scheduler_dispose), (gst_scheduler_create_task),
30402         (gst_scheduler_factory_create):
30403         * gst/gstscheduler.h:
30404         * gst/gststructure.c: (gst_structure_get_type),
30405         (gst_structure_copy_conditional):
30406         * gst/gststructure.h:
30407         * gst/gsttaginterface.h:
30408         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
30409         (gst_task_init), (gst_task_dispose), (gst_task_create),
30410         (gst_task_get_state), (gst_task_start), (gst_task_stop),
30411         (gst_task_pause):
30412         * gst/gsttask.h:
30413         * gst/gstthread.c:
30414         * gst/gstthread.h:
30415         * gst/gsttypes.h:
30416         * gst/schedulers/Makefile.am:
30417         * gst/schedulers/cothreads_compat.h:
30418         * gst/schedulers/entryscheduler.c:
30419         * gst/schedulers/faircothreads.c:
30420         * gst/schedulers/faircothreads.h:
30421         * gst/schedulers/fairscheduler.c:
30422         * gst/schedulers/gstbasicscheduler.c:
30423         * gst/schedulers/gstoptimalscheduler.c:
30424         * gst/schedulers/gthread-cothreads.h:
30425         * gst/schedulers/threadscheduler.c:
30426         (gst_thread_scheduler_task_get_type),
30427         (gst_thread_scheduler_task_class_init),
30428         (gst_thread_scheduler_task_init),
30429         (gst_thread_scheduler_task_start),
30430         (gst_thread_scheduler_task_stop),
30431         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
30432         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
30433         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
30434         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
30435         (plugin_init):
30436         * libs/gst/Makefile.am:
30437         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
30438         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
30439         (gst_file_pad_parent_set):
30440         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
30441         (gst_dp_event_from_packet):
30442         * tests/complexity.c: (main):
30443         * tests/mass_elements.c: (main):
30444         * testsuite/states/locked.c: (message_received), (main):
30445         * testsuite/states/parent.c: (main):
30446         * tools/gst-inspect.c: (print_element_flag_info),
30447         (print_implementation_info), (print_pad_info):
30448         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
30449         (main):
30450         * tools/gst-md5sum.c: (event_loop), (main):
30451         * tools/gst-typefind.c: (main):
30452         * tools/gst-xmlinspect.c: (print_element_info):
30453         Next big merge.
30454         Added GstBus for mainloop integration.
30455         Added GstMessage for sending notifications on the bus.
30456         Added GstTask as an abstraction for pipeline entry points.
30457         Removed GstThread.
30458         Removed Schedulers.
30459         Simplified GstQueue for multithreaded core.
30460         Made _link threadsafe, removed old capsnego.
30461         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
30462         Added pad blocking functions.
30463         Reworked scheduling functions in GstPad to prepare for
30464         scheduling updates soon.
30465         Moved events out of data stream.
30466         Simplified GstEvent types.
30467         Added return values to push/pull.
30468         Removed clocking from GstElement.
30469         Added prototypes for state change function for next merge.
30470         Removed iterate from bins and state change management.
30471         Fixed some elements, disabled others for now.
30472         Fixed -inspect and -launch.
30473         Added check for GstBus.
30474
30475 2005-03-10  Wim Taymans  <wim@fluendo.com>
30476
30477         * docs/design/part-MT-refcounting.txt:
30478         * docs/design/part-clocks.txt:
30479         * docs/design/part-gstelement.txt:
30480         * docs/design/part-gstobject.txt:
30481         * docs/design/part-standards.txt:
30482         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30483         (gst_bin_remove_func), (gst_bin_remove):
30484         * gst/gstbin.h:
30485         * gst/gstbuffer.c:
30486         * gst/gstcaps.h:
30487         * testsuite/clock/clock1.c: (main):
30488         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
30489         (main):
30490         * testsuite/dlopen/loadgst.c: (do_test):
30491         * testsuite/refcounting/bin.c: (add_remove_test1),
30492         (add_remove_test2), (main):
30493         * testsuite/refcounting/element.c: (main):
30494         * testsuite/refcounting/element_pad.c: (main):
30495         * testsuite/refcounting/pad.c: (main):
30496         * tools/gst-launch.c: (sigint_handler_sighandler):
30497         * tools/gst-typefind.c: (main):
30498         Doc updates.
30499         Added doc about clock.
30500         removed gst_bin_iterate_recurse_up(), marked methods
30501         for removal.
30502         Fix more testsuites.
30503
30504 2005-03-09  Wim Taymans  <wim@fluendo.com>
30505
30506         * gst/gstpad.c: (gst_pad_get_direction),
30507         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
30508         (gst_pad_collect_valist):
30509         * testsuite/bins/interface.c: (main):
30510         * testsuite/caps/audioscale.c: (test_caps):
30511         * testsuite/caps/caps.c: (test1), (test2), (test3):
30512         * testsuite/caps/deserialize.c: (main):
30513         * testsuite/caps/enumcaps.c: (main):
30514         * testsuite/caps/filtercaps.c: (main):
30515         * testsuite/caps/intersect2.c: (main):
30516         * testsuite/caps/random.c: (main):
30517         * testsuite/caps/renegotiate.c: (my_fixate), (main):
30518         * testsuite/caps/sets.c: (check_caps):
30519         * testsuite/caps/simplify.c: (check_caps), (main):
30520         * testsuite/caps/subtract.c: (check_caps):
30521         Fix _pad_get_direction wrt ghostpads.
30522         Fix caps testsuite.
30523
30524 2005-03-09  Wim Taymans  <wim@fluendo.com>
30525
30526         * check/Makefile.am:
30527         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
30528         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
30529         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
30530         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
30531         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
30532         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
30533         (gst_bin_remove), (gst_bin_iterate_recurse_up),
30534         (bin_element_is_sink), (gst_bin_iterate_sinks),
30535         (gst_bin_iterate_all_by_interface):
30536         * gst/gstbin.h:
30537         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
30538         (gst_element_change_state), (gst_element_dispose),
30539         (gst_element_finalize), (gst_element_set_loop_function):
30540         * gst/gstelement.h:
30541         * gst/gstiterator.c: (find_custom_fold_func):
30542         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
30543         (gst_pad_collectv), (gst_pad_collect_valist),
30544         (gst_pad_template_new):
30545         * gst/gstpipeline.c: (gst_pipeline_class_init),
30546         (gst_pipeline_dispose), (gst_pipeline_set_property),
30547         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
30548         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
30549         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
30550         * gst/gstutils.h:
30551         * gst/schedulers/entryscheduler.c:
30552         * gst/schedulers/gstbasicscheduler.c:
30553         (gst_basic_scheduler_cothreaded_chain),
30554         (gst_basic_scheduler_chain_add_element):
30555         * testsuite/bins/interface.c: (main):
30556         Added GstBin test.
30557         Added GstSystemClock test.
30558         Implemented clock distribution code in GstBin.
30559         Implemented iterate sinks method for future use.
30560         Rearranged gstelement.h
30561         Fix GstIterator comparison bug.
30562         Moved some code to GstPipeline, mostly clocking related.
30563
30564 2005-03-09  Wim Taymans  <wim@fluendo.com>
30565
30566         * configure.ac:
30567         * gst/gst_private.h:
30568         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30569         (gst_bin_remove_func), (gst_bin_remove),
30570         (gst_bin_get_by_name_recurse_up):
30571         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
30572         (gst_clock_id_compare_func), (gst_clock_id_wait),
30573         (gst_clock_id_wait_async), (gst_clock_init),
30574         (gst_clock_adjust_unlocked), (gst_clock_get_time):
30575         * gst/gstelement.h:
30576         * gst/gstinfo.c: (_gst_debug_init):
30577         * gst/gstobject.h:
30578         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
30579         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
30580         * gst/gstpad.h:
30581         Bump version number, we're now 0.9.0
30582         Add future debugging category.
30583         Fix NULL _unref() in _get_by_name_recurse_up
30584         Rearrange gstpad.h.
30585         Update some docs.
30586
30587 2005-03-08  Wim Taymans  <wim@fluendo.com>
30588
30589         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
30590         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
30591         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30592         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
30593         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
30594         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
30595         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
30596         * gst/elements/gstidentity.c: (gst_identity_class_init):
30597         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
30598         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
30599         * gst/elements/gstshaper.c: (gst_shaper_class_init):
30600         * gst/elements/gststatistics.c: (gst_statistics_class_init):
30601         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
30602         (gst_tee_link):
30603         * gst/gstelement.c: (gst_element_class_init),
30604         (gst_element_base_class_init), (gst_element_init),
30605         (gst_element_get_random_pad), (gst_element_wait_state_change),
30606         (gst_element_change_state), (gst_element_dispose),
30607         (gst_element_finalize), (gst_element_set_loop_function):
30608         * gst/gstelement.h:
30609         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
30610         * gst/gstthread.c: (gst_thread_class_init),
30611         (gst_thread_release_children_locks), (gst_thread_change_state):
30612         * gst/schedulers/gstbasicscheduler.c:
30613         (gst_basic_scheduler_loopfunc_wrapper),
30614         (gst_basic_scheduler_chain_wrapper),
30615         (gst_basic_scheduler_src_wrapper),
30616         (gst_basic_scheduler_remove_element):
30617         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
30618         Remove threadsafe properties. Fix elements because GObject
30619         complains when installing a property before declaring a
30620         set/get_property handler.
30621         Rearrange gstelement.h file, use STATE macros for state locks.
30622         Free mutexes in the finalize method instead of dispose.
30623
30624 2005-03-08  Wim Taymans  <wim@fluendo.com>
30625
30626         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30627         * gst/gstthread.c: (gst_thread_release_children_locks):
30628         Added parentage check.
30629         Fix build og GstThread again.
30630
30631 2005-03-08  Wim Taymans  <wim@fluendo.com>
30632
30633         * docs/design/part-MT-refcounting.txt:
30634         * docs/design/part-conventions.txt:
30635         * docs/design/part-gstobject.txt:
30636         * docs/design/part-relations.txt:
30637         * docs/design/part-standards.txt:
30638         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30639         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
30640         (gst_bin_get_by_name), (gst_bin_get_by_interface),
30641         (gst_bin_iterate_all_by_interface):
30642         * gst/gstbuffer.h:
30643         * gst/gstclock.h:
30644         * gst/gstelement.c: (gst_element_class_init),
30645         (gst_element_change_state), (gst_element_set_loop_function):
30646         * gst/gstelement.h:
30647         * gst/gstiterator.c:
30648         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
30649         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
30650         (gst_object_dispatch_properties_changed), (gst_object_set_name),
30651         (gst_object_set_parent), (gst_object_unparent),
30652         (gst_object_check_uniqueness):
30653         * gst/gstobject.h:
30654         Docs updates, clean up some headers.
30655
30656 2005-03-07  Wim Taymans  <wim@fluendo.com>
30657
30658         * check/.cvsignore:
30659         * check/Makefile.am:
30660         * check/gst-libs/.cvsignore:
30661         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
30662         * check/gst/.cvsignore:
30663         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
30664         (START_TEST), (gstbus_suite), (main):
30665         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
30666         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
30667         (gst_data_suite), (main):
30668         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
30669         (add_fold_func), (gstiterator_suite), (main):
30670         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
30671         (thread_name_object), (thread_name_object_default),
30672         (gst_object_name_compare), (gst_object_suite), (main):
30673         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
30674         (gst_pad_suite), (main):
30675         * check/gstcheck.c: (gst_check_log_message_func),
30676         (gst_check_log_critical_func), (gst_check_init):
30677         * check/gstcheck.h:
30678         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
30679         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
30680         Added checks.
30681
30682 2005-03-07  Wim Taymans  <wim@fluendo.com>
30683
30684         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
30685         (gst_list_iterator_next), (gst_list_iterator_resync),
30686         (gst_list_iterator_free), (gst_iterator_new_list),
30687         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
30688         (gst_iterator_free), (gst_iterator_push), (filter_next),
30689         (filter_resync), (filter_uninit), (filter_free),
30690         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
30691         (gst_iterator_foreach), (find_custom_fold_func),
30692         (gst_iterator_find_custom):
30693         * gst/gstiterator.h:
30694         Added missing files.
30695
30696 2005-03-07  Wim Taymans  <wim@fluendo.com>
30697
30698         * Makefile.am:
30699         * configure.ac:
30700         * docs/design/part-MT-refcounting.txt:
30701         * docs/design/part-conventions.txt:
30702         * docs/design/part-gstobject.txt:
30703         * docs/design/part-relations.txt:
30704         * examples/mixer/mixer.c: (main):
30705         * examples/thread/thread.c: (eos), (main):
30706         * gst/Makefile.am:
30707         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
30708         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
30709         (gst_spider_plug_from_srcpad):
30710         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
30711         (gst_spider_identity_change_state),
30712         (gst_spider_identity_sink_loop_type_finding):
30713         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
30714         * gst/elements/gstidentity.c: (gst_identity_init):
30715         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
30716         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
30717         * gst/elements/gsttypefindelement.c: (free_entry):
30718         * gst/gst.c:
30719         * gst/gst.h:
30720         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
30721         (gst_bin_set_clock_func), (gst_bin_auto_clock),
30722         (gst_bin_set_index), (gst_bin_set_element_sched),
30723         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
30724         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
30725         (gst_bin_iterate_elements), (iterate_child_recurse),
30726         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
30727         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
30728         (compare_interface), (gst_bin_get_by_interface),
30729         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
30730         * gst/gstbin.h:
30731         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
30732         (gst_buffer_default_free), (gst_buffer_default_copy),
30733         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
30734         (gst_buffer_create_sub):
30735         * gst/gstbuffer.h:
30736         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
30737         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
30738         (gst_caps_unref), (gst_static_caps_get),
30739         (gst_caps_remove_and_get_structure), (gst_caps_append),
30740         (gst_caps_append_structure), (gst_caps_remove_structure),
30741         (gst_caps_copy_nth), (gst_caps_set_simple),
30742         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
30743         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
30744         (gst_caps_structure_intersect_field), (gst_caps_intersect),
30745         (gst_caps_structure_subtract_field), (gst_caps_subtract),
30746         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
30747         (gst_caps_structure_figure_out_union),
30748         (gst_caps_switch_structures), (gst_caps_do_simplify),
30749         (gst_caps_replace), (gst_caps_from_string),
30750         (gst_caps_copy_conditional):
30751         * gst/gstcaps.h:
30752         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
30753         (_gst_clock_id_free), (gst_clock_id_unref),
30754         (gst_clock_id_compare_func), (gst_clock_id_wait),
30755         (gst_clock_id_wait_async), (gst_clock_class_init),
30756         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
30757         (gst_clock_get_time), (gst_clock_set_time_adjust),
30758         (gst_clock_set_property), (gst_clock_get_property):
30759         * gst/gstclock.h:
30760         * gst/gstcompat.h:
30761         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
30762         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
30763         * gst/gstdata.h:
30764         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
30765         (gst_element_requires_clock), (gst_element_provides_clock),
30766         (gst_element_set_clock), (gst_element_clock_wait),
30767         (gst_element_wait), (gst_element_set_time_delay),
30768         (gst_element_is_indexable), (gst_element_add_pad),
30769         (gst_element_add_ghost_pad), (gst_element_remove_pad),
30770         (pad_compare_name), (gst_element_get_static_pad),
30771         (gst_element_request_pad), (gst_element_get_request_pad),
30772         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
30773         (gst_element_class_get_pad_template_list),
30774         (gst_element_class_get_pad_template), (gst_element_error_func),
30775         (gst_element_get_random_pad), (gst_element_get_event_masks),
30776         (gst_element_send_event), (gst_element_seek),
30777         (gst_element_get_query_types), (gst_element_query),
30778         (gst_element_get_formats), (gst_element_convert),
30779         (gst_element_is_locked_state), (gst_element_set_locked_state),
30780         (gst_element_sync_state_with_parent), (gst_element_change_state),
30781         (gst_element_finalize), (gst_element_yield),
30782         (gst_element_interrupt), (gst_element_set_scheduler),
30783         (gst_element_get_scheduler), (gst_element_set_loop_function):
30784         * gst/gstelement.h:
30785         * gst/gstevent.h:
30786         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
30787         (gst_format_get_by_nick), (gst_format_get_details),
30788         (gst_format_iterate_definitions):
30789         * gst/gstformat.h:
30790         * gst/gstindex.c: (gst_index_gtype_resolver):
30791         * gst/gstinfo.c:
30792         * gst/gstinfo.h:
30793         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
30794         (gst_mem_chunk_free):
30795         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
30796         (gst_object_ref), (gst_object_unref), (gst_object_sink),
30797         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
30798         (gst_object_dispatch_properties_changed),
30799         (gst_object_set_name_default), (gst_object_set_name),
30800         (gst_object_get_name), (gst_object_set_name_prefix),
30801         (gst_object_get_name_prefix), (gst_object_set_parent),
30802         (gst_object_get_parent), (gst_object_unparent),
30803         (gst_object_check_uniqueness), (gst_object_save_thyself),
30804         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
30805         (gst_object_set_property), (gst_object_get_property),
30806         (gst_object_get_path_string):
30807         * gst/gstobject.h:
30808         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
30809         (gst_real_pad_init), (gst_real_pad_get_property),
30810         (gst_pad_custom_new), (gst_pad_get_direction),
30811         (gst_pad_set_active), (gst_pad_is_active),
30812         (gst_pad_set_event_function), (gst_pad_is_linked),
30813         (gst_pad_link_free), (gst_pad_link_intersect),
30814         (gst_pad_link_fixate), (gst_pad_set_caps),
30815         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
30816         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
30817         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
30818         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
30819         (gst_pad_get_caps), (gst_pad_peer_get_caps),
30820         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
30821         (gst_pad_realize), (gst_pad_get_allowed_caps),
30822         (gst_real_pad_dispose), (gst_real_pad_finalize),
30823         (gst_pad_collectv), (gst_pad_collect_valist),
30824         (gst_pad_template_dispose), (gst_pad_template_new),
30825         (gst_pad_get_internal_links):
30826         * gst/gstpad.h:
30827         * gst/gstpipeline.c: (gst_pipeline_dispose),
30828         (gst_pipeline_change_state):
30829         * gst/gstpipeline.h:
30830         * gst/gstplugin.c:
30831         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
30832         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
30833         * gst/gstpluginfeature.h:
30834         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
30835         * gst/gstquery.c: (_gst_query_type_initialize),
30836         (gst_query_type_register), (gst_query_type_get_by_nick),
30837         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
30838         * gst/gstquery.h:
30839         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
30840         * gst/gstscheduler.c: (gst_scheduler_add_element),
30841         (gst_scheduler_factory_create):
30842         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30843         (gst_structure_free), (gst_structure_set_name),
30844         (gst_structure_id_set_value), (gst_structure_set_value),
30845         (gst_structure_set_valist), (gst_structure_remove_field),
30846         (gst_structure_remove_fields),
30847         (gst_structure_remove_fields_valist),
30848         (gst_structure_remove_all_fields), (gst_structure_foreach),
30849         (gst_structure_map_in_place),
30850         (gst_caps_structure_fixate_field_nearest_int),
30851         (gst_caps_structure_fixate_field_nearest_double):
30852         * gst/gststructure.h:
30853         * gst/gstsystemclock.c: (gst_system_clock_class_init),
30854         (gst_system_clock_init), (gst_system_clock_dispose),
30855         (gst_system_clock_async_thread),
30856         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
30857         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
30858         * gst/gstsystemclock.h:
30859         * gst/gsttag.c: (gst_tag_list_add_value_internal),
30860         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
30861         * gst/gsttaginterface.c:
30862         * gst/gstthread.c: (gst_thread_dispose),
30863         (gst_thread_release_children_locks), (gst_thread_change_state),
30864         (gst_thread_main_loop):
30865         * gst/gsttrashstack.h:
30866         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
30867         * gst/gsttypes.h:
30868         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30869         (gst_element_request_pad), (gst_element_get_pad_from_template),
30870         (gst_element_request_compatible_pad),
30871         (gst_element_get_compatible_pad_filtered),
30872         (gst_element_get_compatible_pad), (gst_element_state_get_name),
30873         (gst_element_link_pads_filtered), (gst_element_link_filtered),
30874         (gst_element_link_many), (gst_element_link),
30875         (gst_element_link_pads), (gst_element_unlink_pads),
30876         (gst_element_unlink_many), (gst_element_unlink),
30877         (gst_pad_can_link_filtered), (gst_pad_can_link),
30878         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
30879         (gst_object_default_error), (gst_bin_add_many),
30880         (gst_bin_remove_many), (gst_element_populate_std_props),
30881         (gst_element_class_install_std_props), (gst_buffer_merge),
30882         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
30883         (link_fold_func), (gst_pad_proxy_setcaps):
30884         * gst/gstutils.h:
30885         * gst/gstvalue.c: (gst_value_deserialize_string):
30886         * gst/parse/grammar.y:
30887         * gst/schedulers/gstbasicscheduler.c:
30888         (gst_basic_scheduler_cothreaded_chain),
30889         (gst_basic_scheduler_chain_recursive_add),
30890         (gst_basic_scheduler_pad_link):
30891         * gst/schedulers/gstoptimalscheduler.c:
30892         (get_group_schedule_function),
30893         (gst_opt_scheduler_state_transition),
30894         (gst_opt_scheduler_add_element), (element_get_reachables_func):
30895         * libs/gst/bytestream/bytestream.c:
30896         * libs/gst/dataprotocol/dataprotocol.c:
30897         (gst_dp_header_from_buffer):
30898         * po/nb.po:
30899         * po/ru.po:
30900         * tests/threadstate/threadstate2.c: (eos):
30901         * tools/gst-compprep.c: (main):
30902         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
30903         (print_pad_info), (print_children_info):
30904         * tools/gst-launch.c: (idle_func), (main):
30905         * tools/gst-md5sum.c: (idle_func), (main):
30906         * tools/gst-xmlinspect.c: (print_element_info):
30907         First THREADED backport attempt, focusing on adding locks and
30908         making sure the API is threadsafe. Needs more work. More docs
30909         follow this week.
30910
30911 2005-02-24  Andy Wingo  <wingo@pobox.com>
30912
30913         * tests/bench-complexity.scm:
30914         * tests/complexity.gnuplot: New files, good for running complexity
30915         benchmarks.
30916
30917         * tests/Makefile.am:
30918         * tests/complexity.c: New test, sets up N elements, at each level
30919         teeing into M streams per element. Eeeenteresting.
30920
30921         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
30922         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
30923         running bench-mass_elements.scm.
30924
30925         * tests/bench-mass_elements.scm: New script, runs mass_elements
30926         for various numbers of identities, outputting the results to a
30927         file. Requires guile 1.6. Just for testing.
30928
30929 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
30930
30931         * gst/schedulers/fairscheduler.c:
30932           compile with debug disabled
30933
30934 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
30935
30936         * configure.ac:
30937           hunting season on 0.9 is now OPEN