gst/gstutils.c: Remove check in gst_pad_query_convert() that src_val must be positive...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-08-26  David Schleef  <ds@schleef.org>
2
3         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
4           src_val must be positive, because that's not a requirement.
5           This causes problems with converting negative granulepos
6           values for Dirac.
7
8 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
9
10         * gst/gstclock.c: (gst_clock_add_observation):
11         Add some more debugging to the clock slaving code.
12
13         * win32/common/libgstbase.def:
14         Add new basetransform method.
15
16 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
17
18         * gst/gstbin.c: (gst_bin_element_set_state):
19         Take the (recursive) state lock between getting the locked state of an
20         element and changing the element state. This allows the application to
21         lock an element's state and then change its state without races.
22
23 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
24
25         * gst/gstbin.c: (gst_bin_element_set_state):
26         When an element is in the locked state we still want to update the
27         base_time of the element.
28
29 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
30
31         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
32         Use the result from gst_pad_set_caps() instead of assuming the element
33         always accepted the caps computed by the default negotiate function.
34
35 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
36
37         * docs/libs/gstreamer-libs-sections.txt:
38         * libs/gst/base/gstbasetransform.c:
39         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
40         (gst_base_transform_chain), (gst_base_transform_suggest),
41         (gst_base_transform_reconfigure):
42         * libs/gst/base/gstbasetransform.h:
43         Implement method for reconfiguring basetransform.
44         API: GstBaseTransform::gst_base_transform_reconfigure()
45
46 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
47
48         patch by: Murray Cumming <murrayc@murrayc.com>
49
50         * gst/gstutils.c:
51           Mention that this is just like gst_buffer_merge() but with extra
52           unreffing for C coders. Advise language bindings not to wrap it.
53           Fixes Bug #533856.
54           
55           Also fix file comment.
56
57 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
58
59         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
60
61         * plugins/elements/gstfakesink.c:
62         * plugins/elements/gstfakesrc.c:
63           Call super::event() when not handling it. Fixes #544855.
64
65 2008-08-19  Michael Smith <msmith@songbirdnest.com>
66
67         Patch by: Alessandro Decina <alessandro@nnva.org>
68         * plugins/elements/gstfilesrc.c:
69           Use 64 bit variants of stat functions on win32, to enable support
70           of large files there.
71           Fixes #547277.
72
73 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
74
75         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
76         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
77         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
78         (gst_base_sink_get_position), (gst_base_sink_change_state):
79         Improve position reporting in the flushing state.
80         Also report the position when we are not yet prerolled but we
81         have a newsegment event. Fixes #543444.
82         Improve the pull-based negotiation code.
83
84         * tests/check/elements/fakesink.c: (GST_START_TEST),
85         (fakesink_suite):
86         Add testcase for position reporting while flushing in PAUSED and
87         PLAYING.
88
89         * tests/check/generic/sinks.c: (GST_START_TEST):
90         Update unit-test, we can now query the position as soon as we receive a
91         NEWSEGMENT event.
92
93 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
94
95         Based on patch by: Jason Zhao <e3423c at motorola dot com>
96
97         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
98         When the subclass event handler releases the PREROLL_LOCK, we could be
99         in the flushing state and we have to ignore the event. Fixes #548394.
100
101 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
102
103         * tools/gst-launch.1.in:
104           Document GST_REGISTRY_UPDATE environment variable.
105
106 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
107
108         * libs/gst/base/gstbasetransform.c:
109         (gst_base_transform_prepare_output_buffer):
110         If the element is configured in passthrough mode but the
111         prepare_output_buffer gave us a new output buffer, discard that buffer
112         and reuse the input buffer.
113
114 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
115
116         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
117
118         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
119         (gst_tee_request_new_pad), (gst_tee_release_pad),
120         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
121         * plugins/elements/gsttee.h:
122         Protect pad_alloc with a new lock so that we can be sure that nothing is
123         performing a pad_alloc when removing the pad. Fixes #547835.
124
125         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
126         (buffer_alloc_harness_teardown), (app_thread_func),
127         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
128         Added testcase for shutdown race.
129
130 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
131
132         * gst/gstpad.h:
133         Add doc
134
135 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
136
137         * libs/gst/base/gstbasetransform.c:
138         (gst_base_transform_prepare_output_buffer),
139         (gst_base_transform_buffer_alloc):
140         Go over the buffer_alloc function again and make sure we always end up
141         allocating a buffer.
142         Add some more docs.
143         Avoid doing pad alloc when we have a pending suggestion because we
144         cannot yet deal with changing caps in that case. Fixes #547728
145
146 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
147
148         patch by: Luc Pionchon <luc.pionchon@nokia.com>
149
150         * docs/manual/advanced-clocks.xml:
151         * docs/manual/clocks.png:
152         * docs/manual/diagrams-clocks.svg:
153           Add one more image showing different times together with a describing
154           paragraph. Fixes #547729.
155
156 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
157
158         * win32/common/libgstbase.def:
159         Add new method.
160
161 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
162
163         * libs/gst/base/gstbasetransform.c:
164         (gst_base_transform_transform_caps),
165         (gst_base_transform_prepare_output_buffer),
166         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
167         Don't overwrite the outsize when calculating the expected size of a new
168         buffer because we still need it in case we cannot process the new
169         buffer.
170         When converting the size of the new buffer to an upstream size, actually
171         use the expected size of the buffer, not some other random value.
172         Use an atomic int to signal that a new upstream caps suggestion is
173         available.
174         When we can convert the current buffer to a new format, check if the
175         buffer size is of the expected size and allocate a new buffer of the
176         expected size when this is not the case. Fixes #546883.
177
178         * tests/check/libs/transform1.c: (GST_START_TEST):
179         remove ifdeffed code from the unit test.
180
181 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
182
183         * pkgconfig/gstreamer-uninstalled.pc.in:
184         * pkgconfig/gstreamer.pc.in:
185           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
186           called gstcontroller-0.10.
187
188 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
189
190         * gst/gstchildproxy.h:
191         * gst/gstpreset.h:
192           Remove double interface from doc-string.        
193
194 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
195
196         * libs/gst/base/gstbasesrc.c:
197         * libs/gst/base/gstbasetransform.c:
198           Fix headings in docs and gtk-doc warnings.
199
200 2008-08-11  Michael Smith <msmith@songbirdnest.com>
201
202         * gst/gstregistrybinary.c:
203           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
204           libc.
205           Fixes #544776.
206
207 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
208
209         * libs/gst/base/gstbasetransform.c:
210         (gst_base_transform_buffer_alloc):
211         Fix a "may be used unitialized" warning.
212
213 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
214
215         * docs/gst/gstreamer-sections.txt:
216         * gst/gstpreset.h:
217           Document preset-iface vmethods.
218
219 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
220
221         * docs/manual/advanced-interfaces.xml:
222           Turn thoughts about HAL into a note-tag. Remove mentioning that is
223           only used to discover devices.
224
225 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
226
227         Patch by: Frederic Crozat <fcrozat@mandriva.org>
228
229         * gst/gst.c: (init_pre):
230         Make sure gettext returns translations in UTF-8 encoding rather
231         than in the current locale encoding (#546822).
232
233 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
234
235         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
236         Fix subset test.
237
238         * tests/check/gst/gstcaps.c: (GST_START_TEST):
239         Improve unit test subset tests and add a testcase for the subset failure
240         cases.
241
242         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
243         Improve subtraction unit test.
244
245 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
246
247         * plugins/elements/gsttee.c:
248           Unlock, instead of locking again.
249
250 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
251
252         * gst/gstpad.h:
253         Clarify the docs a bit more.
254
255 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
256
257         * tests/examples/metadata/read-metadata.c:
258           Don't leak old taglist.
259
260 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
261
262         Patch by: Olivier Crete <tester at tester dot ca>
263
264         * gst/gststructure.c:
265         (gst_structure_fixate_field_nearest_fraction):
266         Avoid overflows in fixation code when dealing with MAXINT values, which
267         v4l2src seems to do.
268         Fixes #546328.
269
270         * tests/check/gst/gststructure.c: (GST_START_TEST):
271         Make a unit test to check the fix. 
272
273 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
274
275         * plugins/elements/gstcapsfilter.c: (copy_func),
276         (gst_capsfilter_set_property):
277         Use new caps suggestion feature of basetransform to request a caps
278         negotiation upstream.
279
280 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
281
282         * docs/libs/gstreamer-libs-sections.txt:
283         Add new function:
284         API: GstBaseTransform::gst_base_transform_suggest()
285
286         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
287         (gst_base_transform_init), (gst_base_transform_transform_caps),
288         (gst_base_transform_transform_size),
289         (gst_base_transform_configure_caps),
290         (gst_base_transform_can_transform),
291         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
292         (gst_base_transform_prepare_output_buffer),
293         (gst_base_transform_buffer_alloc),
294         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
295         (gst_base_transform_chain), (gst_base_transform_activate),
296         (gst_base_transform_set_passthrough),
297         (gst_base_transform_is_passthrough),
298         (gst_base_transform_set_in_place),
299         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
300         (gst_base_transform_set_qos_enabled),
301         (gst_base_transform_is_qos_enabled),
302         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
303         (gst_base_transform_reconfigure):
304         * libs/gst/base/gstbasetransform.h:
305         Rewrite of basetransform to perform negotiation outside of the
306         buffer_alloc functions.  Fixes #545853.
307
308         * tests/check/libs/transform1.c: (GST_START_TEST),
309         (buffer_alloc_ct2):
310         Update unit test.
311
312 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
313
314         * tests/check/gst/gstpreset.c:
315           Only run preset tests when $HOME is writable. Preliminary fix for
316           #545433.
317
318 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
319
320         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
321         (gst_bin_change_state_func), (bin_handle_async_done),
322         (gst_bin_handle_message_func):
323         Fix race for bins that simulate ASYNC state changes by inserting
324         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
325         pending ASYNC messages even when the bin does not have ASYNC children.
326         We note detect this behaviour because we will receive an ASYNC message
327         that is originating from the bin itself. 
328         Fixes races with decodebin2 state changes.
329
330         * tests/check/gst/gstbin.c: (GST_START_TEST):
331         Add some more debug.
332
333 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
334
335         * gst/gsttaglist.c: (_gst_tag_initialize):
336           Fix typo.
337
338 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
339
340         * gst/gsttaglist.c:
341           Argh. actually save the text before committing. Now adds
342           gst_tag_merge_strings_with_comma() to gst_tag_register().
343
344 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
345
346         * gst/gsttaglist.c:
347         * gst/gsttaglist.h:
348           Do as tim pointed out and actually register the new tag. Also improve
349           te docs and use gst_tag_merge_strings_with_comma() method to allow
350           retriving all keywords merged in one list.
351
352 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
353
354         * configure.ac:
355         * docs/gst/gstreamer.types:
356           Revert 'accidential' change of the configure option removal. We still
357           need to generate the types file in configure --disable-load-save.
358
359 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
360
361         * docs/gst/gstreamer-sections.txt:
362         * gst/gsttaglist.h:
363           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
364
365 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
366
367         * gst/gstpadtemplate.c:
368           (gst_pad_template_class_init), (gst_static_pad_template_get),
369           (gst_pad_template_new), (gst_pad_template_pad_created),
370           (gst_pad_template_set_property), (gst_pad_template_get_property):
371           Add "name-template", "direction", "presence" and "caps" properties,
372           so that gst_pad_template_new() is just a thin wrapper around
373           g_object_new(), which is better for bindings. (Fixes: #539772)
374
375 2008-07-31  Michael Smith <msmith@songbirdnest.com>
376
377         * gst/gsturi.c:
378           Be more liberal in what URIs we accept.
379           Do not unescape bits of the URI for no apparent reason before passing to
380           the element. Fixes #545352.
381
382 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
383
384         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
385
386         * gst/gst.c:
387         Include gstconfig.h as macros from it are used. Fixes bug #545607.
388
389 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
390
391         * configure.ac:
392         * docs/gst/gstreamer-sections.txt:
393         * docs/gst/gstreamer.types:
394         * docs/gst/gstreamer.types.in:
395         * gst/Makefile.am:
396         * gst/gst.c:
397         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
398         * gst/gstconfig.h.in:
399         * gst/gstelement.c: (gst_element_get_index):
400         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
401         (gst_registry_binary_load_feature),
402         (gst_registry_binary_read_cache):
403         * gst/gstregistryxml.c: (load_feature),
404         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
405         * plugins/Makefile.am:
406         * tools/gst-indent:
407         * tools/gst-inspect.c: (print_index_info), (print_element_list),
408         (print_plugin_features), (print_element_features):
409         * tools/gst-xmlinspect.c: (print_event_masks),
410         (print_element_info):
411         * win32/common/gstconfig.h:
412         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
413
414         Disabling the indexers and URI handler code will only reduce the
415         required amount of memory by a very small amount but on the other hand
416         requires much more maintaince work. Apart from that many places of
417         code are broken when disabling them.
418
419         Disabling the enum types doesn't reduce the required amount of memory
420         by more than a few bytes and makes it hard to fix bugs like #539772,
421         i.e. use the enums as GObject properties.
422
423 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
424
425         * docs/design/part-TODO.txt:
426         Add some thoughts and problems with upstream renegotiation.
427
428 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
429
430         * gst/gstpad.c: (gst_pad_acceptcaps_default),
431         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
432         Remove silly redundant debug.
433         Add some more debug info.
434         Clarify the docs regarding new caps received from pad_alloc.
435
436 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
437
438         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
439         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
440         Make setting the caps more threadsafe.
441
442 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
443
444         * docs/design/part-element-transform.txt:
445         Update docs.
446
447 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
448
449         * plugins/elements/gstqueue.c: (gst_queue_init),
450         (gst_queue_acceptcaps):
451         Add and use a custom acceptcaps function instead of falling back to the
452         potentially less optimized default implementation.
453
454 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
455
456         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
457           Only sanity-check the buffer size if requested_caps == buffer_caps
458           (ie. don't take pad caps into account, they're not relevant here)
459
460 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
461
462         * plugins/elements/gsttee.c:
463         * plugins/elements/gsttee.h:
464           Reverting as not everything is clear yet. Needs some general design
465           work.
466
467 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
468
469         * ChangeLog:
470           ChangeLog surgery for tee commit.
471
472 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
473
474         * docs/gst/gstreamer-sections.txt:
475           Cleanup section-file.
476
477 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
478
479         * plugins/elements/gsttee.c:
480         * plugins/elements/gsttee.h:
481           Relay tag events in tee. Fixes parts of #474016.
482           Downgrades 3 reoccurring debugs to log.
483
484 2008-07-28  Michael Smith <msmith@songbirdnest.com>
485
486         * configure.ac:
487         * libs/gst/Makefile.am:
488           Build the net library if we have winsock2.
489
490 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
491
492         patch by: Luc Pionchon <luc.pionchon@nokia.com>
493
494         * docs/manual/advanced-threads.xml:
495         * docs/manual/diagrams-pipelines.svg:
496         * docs/manual/hello-world.png:
497         * docs/manual/linked-elements.png:
498         * docs/manual/mime-world.png:
499         * docs/manual/queue.png:
500         * docs/manual/thread-buffering.png:
501         * docs/manual/thread-synchronizing.png:
502           Replace one diagram with two separate ones and updates others.
503           Fixes #542401.
504
505 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
506
507         * gst/gstelement.h:
508         Fix link in documentation.
509
510 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
511
512         * gst/gstmessage.c:
513         Fix confusing documentation.
514
515 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
516
517         * libs/gst/base/gstbasesrc.h:
518         revert the changes to the header file for the ABI.
519
520 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
521
522         * libs/gst/base/gstbasesrc.c:
523         * libs/gst/base/gstbasesrc.h:
524         Don't cache the seekable status.
525         Fixes bug #544174
526
527 2008-07-24  Rene Stadler  <mail@renestadler.de>
528
529         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
530         code to close the pipeline graph.  This prevents the program from
531         printing internal data flow errors.
532
533 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
534
535         * docs/manual/basics-bus.xml:
536         Correct typo. Fixes bug #544320.
537
538 2008-07-22  Michael Smith <msmith@songbirdnest.com>
539
540         * configure.ac:
541           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
542           Add check (taken from -base) for winsock, adds WIN32_LIBS
543         * gst/Makefile.am:
544           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
545           winsock.
546           Define GST_EXPORTS when building libgstreamer (only used on win32)
547         * gst/gst_private.h:
548         * gst/gstinfo.h:
549           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
550           for symbols that we need to export in both these files.
551         * gst/gstpoll.c:
552           Include gst_private.h higher up to avoid some compile problems on win32.
553
554 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
555
556         * gst/gstvalue.c:
557         Fix typos.
558
559 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
560
561         * gst/gstcaps.c:
562         Previous commit was wrong NULL caps does not exist
563         and indicate an error, so also add a FIXME to
564         gst_caps_is_equal where NULL caps are accepted.
565
566 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
567
568         * gst/gstcaps.c:
569         Allow passing of NULL to gst_caps_union
570
571 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
572
573         * gst/gstghostpad.c:
574         Add in doc that gst_ghost_pad_set_target can accept
575         NULL to clear target
576
577 2008-07-15  Michael Smith <msmith@songbirdnest.com>
578
579         * gst/gstplugin.c:
580         * gst/gstregistry.c:
581           GstRegistryPool doesn't exist; don't refer to it in docs.
582           Don't refer to functions that don't exist in docs, it's
583           unhelpful.
584
585 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
586
587         * gst/gst.c:
588         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
589
590 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
591
592         Patch by: tmatth <le dot businessman at gmail dot com>
593
594         * docs/pwg/building-testapp.xml:
595         Don't use an undeclared variable in the example program.
596         Fixes bug #542573.
597
598 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
599
600         * gst/gstdebugutils.c:
601           Squeeze ghost-pad links and remove <> from classname labels to save
602           more horizontal space.
603
604 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
605
606         * gst/gstdebugutils.c:
607           Give request and sometimes pads a different shpe style. Condense the
608           graphs a little more.
609
610 2008-07-09  Michael Smith <msmith@songbirdnest.com>
611
612         * configure.ac:
613           Don't require flex and bison if the parser is disabled.
614
615 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
616
617         * libs/gst/controller/gstinterpolationcontrolsource.c:
618         (_list_find_sorted_custom):
619         Don't use declarations after statements.
620
621 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
622
623         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
624         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
625         of the the child-added / -removed signals as GstChildProxy
626         only supports GstObjects.
627
628 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
629
630         * gst/gstdebugutils.c:
631         Fix memleak
632
633 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
634
635         Patch by: Alessandro Decina <alessandro at nnva dot org>
636
637         * gst/gstpoll.c:
638         Fix "ignored return value" compiler warning with newer glibc.
639
640 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
641
642         * gst/gstchildproxy.c:
643         Fix copy&paste error in gst_child_proxy_removed() documentation.
644
645 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
646
647         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
648           Print error debug message if plugin description fields that should
649           be set are NULL.
650
651         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
652           Don't crash if the string to serialise is NULL (it really should
653           not be, but apparently this used to work with the xml registry ...).
654
655 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
656
657         * tools/gst-plot-timeline.py:
658         Fix parsing of log messages
659
660 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
661
662         * win32/common/libgstbase.def::
663           Sort alphabetically so make check-exports doesn't barf.
664
665 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
666
667         * gst/gstevent.c:
668           Use gst_format_get_name() to improve debug output.
669
670         * gst/gstpreset.c:
671           Remove #ifdef'ed code. Add TODO comment.
672
673         * gst/gstsegment.c:
674           Add debug output to ease spotting format != segment.format assertions.
675
676 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
677
678         * tests/check/libs/gdp.c: (gst_dp_suite):
679         Also enable the GDP unit test again on PPC now that the bug
680         is fixed.
681
682 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
683
684         * libs/gst/dataprotocol/dataprotocol.c:
685         Don't write to the same region of memory as a uint64 and uint16
686         as this breaks strict aliasing rules and apparantly breaks on PPC
687         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
688
689 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
690
691         * libs/gst/controller/gstinterpolationcontrolsource.c:
692           Optimize list handling. Use own find function. Exploit that fact that
693           the list is sorted. Also pass back the node before, so that we can
694           insert quickly. Have a fast path for append.
695
696 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
697
698         * docs/design/draft-framestep.txt:
699         * docs/design/part-negotiation.txt:
700           Fix two typos.
701
702 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
703
704         * configure.ac:
705           Show configuration sumary after configure run. Based on patch by
706           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
707
708 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
709
710         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
711
712         * docs/manual/advanced-autoplugging.xml:
713         * docs/manual/advanced-threads.xml:
714         * docs/manual/basics-bins.xml:
715         * docs/manual/basics-elements.xml:
716         * docs/manual/basics-helloworld.xml:
717         * docs/manual/basics-pads.xml:
718           Add scale factor for pdf output.
719
720         * docs/manual/intro-basics.xml:
721           Switched sections "pads" and "bins" and added a pipeline diagram.
722
723         * docs/manual/intro-gstreamer.xml:
724           Added more info on gstreamer.
725
726         * docs/manual/intro-motivation.xml:
727           Commented out the whole section "current problem", which sounds
728           historical and somehow osolete; it could be turned in a positive
729           way and reused to improve the design principles.
730
731         * docs/manual/intro-preface.xml:
732           - Update URLs to library.gnome.org. 
733           - Do not mention GTK+ in preliminary reading (irrelevant). 
734           - Mention Plugin Writer's Manual and further reading only in the
735             previous section.
736           - Added a list of most relevant GObject/glib topics.
737
738         * docs/manual/Makefile.am:
739         * docs/manual/bin-element-ghost.fig:
740         * docs/manual/bin-element-ghost.png:
741         * docs/manual/bin-element-noghost.fig:
742         * docs/manual/bin-element-noghost.png:
743         * docs/manual/bin-element.fig:
744         * docs/manual/bin-element.png:
745         * docs/manual/filter-element-multi.fig:
746         * docs/manual/filter-element-multi.png:
747         * docs/manual/filter-element.fig:
748         * docs/manual/filter-element.png:
749         * docs/manual/gstreamer-overview.png:
750         * docs/manual/hello-world.fig:
751         * docs/manual/hello-world.png:
752         * docs/manual/linked-elements.fig:
753         * docs/manual/linked-elements.png:
754         * docs/manual/mime-world.fig:
755         * docs/manual/mime-world.png:
756         * docs/manual/queue.fig:
757         * docs/manual/queue.png:
758         * docs/manual/simple-player.png:
759         * docs/manual/sink-element.fig:
760         * docs/manual/sink-element.png:
761         * docs/manual/src-element.fig:
762         * docs/manual/src-element.png:
763         * docs/manual/diagrams-general.svg:
764         * docs/manual/diagrams-pipelines.svg:
765           Removed .fig, added .png counterpart.
766           
767           Fixes: #539137
768
769 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
770
771         * plugins/elements/gstmultiqueue.c:
772         * plugins/elements/gstmultiqueue.h:
773         revert extra-size-buffers stuff, caused some race conditions
774         and extra-size-buffers is not used anymore. Docs needs some updates
775
776 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
777
778         * win32/common/config.h:
779         * win32/common/gstenumtypes.c:
780         * win32/common/gstenumtypes.h:
781         * win32/common/gstversion.h:
782           Update win32 files.
783
784 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
785
786         * gst/gstdebugutils.h: (GstDebugGraphDetails),
787           (GST_DEBUG_BIN_TO_DOT_FILE):
788           Add missing Since' markers to gtk-doc blurbs.
789
790 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
791
792         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
793         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
794         (set_caps_1), (set_caps_ct1), (transform_ct1),
795         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
796         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
797         (transform_size_ct2), (buffer_alloc_ct2):
798         Add some more tests with switching caps in buffer_alloc.
799
800 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
801
802         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
803         (gst_test_trans_class_init), (result_sink_chain),
804         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
805         (gst_test_trans_push), (gst_test_trans_pop):
806         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
807         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
808         (set_caps_1), (set_caps_ct1), (transform_ct1),
809         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
810         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
811         (transform_size_ct2), (buffer_alloc_ct2),
812         (gst_basetransform_suite):
813         More tests, prepare for tests with switching caps in buffer_alloc.
814
815 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
816
817         * plugins/elements/gstmultiqueue.c:
818         * plugins/elements/gstmultiqueue.h:
819         Fix dead-lock in underrun_cb
820
821 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
822
823         * docs/design/part-states.txt:
824         Fix device open/close docs.
825
826 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
827
828         * ChangeLog:
829           Mention bugnumber for last commit.
830
831 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
832
833         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
834
835         * docs/manual/manual.xml:
836         - Reorganised the previous "introduction" bundle into Foreword,
837         Introduction, and About GStreamer. The two first are <preface>
838         docbook elements. The later is the first part of the book.
839         - added intro-gstreamer.xml (content partially from
840         intro-preface.xml)
841         - moved appendix-win32.xml into appendix-integration.xml
842
843         * docs/manual/intro-preface.xml: gstreamer section moved...
844         * docs/manual/intro-gstreamer.xml: ...here. new file.
845
846         * docs/manual/appendix-win32.xml: removed file. Content moved...
847         * docs/manual/appendix-integration.xml: ...here.
848         
849         * docs/manual/highlevel-components.xml: section about GstEditor moved...
850         * docs/manual/appendix-checklist.xml: ...here.
851         
852         Fixes: 538764
853
854 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
855
856         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
857
858         * docs/manual/basics-helloworld.xml:
859         * docs/manual/hello-world.fig:
860           - Explicitely include glib.h.
861           - Do not use global variables.
862           - Use g_printerr() instead of g_print().
863           - Minor formating/renaming to increase readibility.
864           - Renamed new_pad() to on_pad_added()
865           - Improved explenatory comments.
866           - renamed ogg parser to ogg demuxer
867           - Use "autoaudiosink" instead of "alsasink".
868           Fixes: #538619
869
870 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
871
872         * ChangeLog:
873           Remove cvs conflict marker.
874
875 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
876
877         * docs/README:
878           Document that for plgin-docs we extraxt he short-desc from the element
879           details.
880
881         * docs/design/part-states.txt:
882           Tell that devices should be closed in PAUSED -> READY.
883
884         * docs/manual/README:
885           Document how tests in the manual are handled.
886
887         * docs/manuals.mak:
888           Typo in comment.
889
890 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
891
892         * gst/gstbin.c: (bin_query_latency_fold):
893         Only care about latency min and max when the sink is actually a live
894         sink.
895
896 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
897
898         * docs/design/part-block.txt:
899         Fix typo.
900
901         * docs/design/part-element-transform.txt:
902         Add notes about why transform needs to know input/output sizes.
903         Add some issues that need to be solved.
904         Add some more use cases.
905
906         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
907         (gst_test_trans_class_init), (result_sink_chain),
908         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
909         (gst_test_trans_push), (gst_test_trans_pop):
910         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
911         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
912         (set_caps_1), (set_caps_ct1), (transform_ct1),
913         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
914         (gst_basetransform_suite):
915         Add suport for different pad templates and buffer-alloc.
916         Add more checks for caps and buffer-alloc.
917         Add checks for proxy buffer alloc.
918         Add unit test for copy transform.
919
920 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
921
922         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
923
924         * docs/manual/appendix-integration.xml:
925         * docs/manual/appendix-licensing.xml:
926         * docs/manual/basics-elements.xml:
927         * docs/manual/basics-helloworld.xml:
928         * docs/manual/basics-pads.xml:
929         * docs/manual/highlevel-components.xml:
930         * docs/manual/highlevel-xml.xml:
931         * docs/manual/intro-basics.xml:
932         * docs/manual/intro-preface.xml:
933           Typo and formatting fixes (#538594).
934
935 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
936
937         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
938         Fix some memory leaks and uses of object instances that we don't
939         actually own.
940
941 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
942
943         * plugins/elements/gstmultiqueue.c:
944         Add functionality to extra-size-buffers property.
945
946 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
947
948         * plugins/elements/gstmultiqueue.c:
949         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
950         activate the pads if they are added in STATE_NULL.
951
952 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
953
954         * docs/libs/gstreamer-libs-sections.txt:
955         Add new API to doc
956         * libs/gst/check/gstcheck.c:
957         * libs/gst/check/gstcheck.h:
958         API: gst_check_teardown_pad_by_name
959
960 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
961
962         * libs/gst/check/gstcheck.c:
963         * libs/gst/check/gstcheck.h:
964         Also setup request pads and allow setup pads by name (#537812)
965         API: gst_check_setup_src_pad_by_name
966         API: gst_check_setup_sink_pad_by_name
967
968 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
969
970         * tests/check/gst/gstbuffer.c:
971         * tests/check/pipelines/parse-launch.c:
972           Use HAVE_VALGRIND_H some more.
973
974 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
975
976         * scripts/cvs-update.sh:
977           Pass arguments to make.
978           Run autoregen.sh if Makefile is not there.
979
980 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
981
982         * configure.ac:
983         * gst/gstinfo.c:
984           Don't assume that <valgrind/valgrind.h> exists just because
985           the binary is there.
986
987 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
988
989         * tests/check/Makefile.am:
990         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
991         (gst_test_trans_class_init), (gst_test_trans_init),
992         (gst_test_trans_set_data), (result_sink_chain),
993         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
994         (gst_test_trans_pop):
995         * tests/check/libs/transform1.c: (GST_START_TEST),
996         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
997         Add some test basetransform element and the beginnings of various
998         unit tests for it.
999
1000 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1001
1002         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1003         Increase code readability.
1004         Don't try to compare buffer offsets when ther are invalid.
1005
1006 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1007
1008         * docs/design/Makefile.am:
1009           Dist some more design docs.
1010
1011         * docs/random/moving-plugins:
1012           Small addition: good plugins mustn't have functional code
1013           within assertion macros.
1014
1015 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1016
1017         * docs/design/draft-framestep.txt:
1018         Some ideas about a framestep API
1019
1020         * docs/design/part-element-transform.txt:
1021         Start design and use cases for basetransform in order to get it
1022         fixed soon.
1023
1024 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1025
1026         * gst/gsttaglist.h:
1027           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
1028           be in UTF-8 encoding.
1029
1030 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1031
1032         * gst/gstbus.c:
1033           Make it known that gst_bus_poll() is pure evil (fixes #538810).
1034
1035 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1036
1037         * plugins/elements/gstcapsfilter.c:
1038         * plugins/elements/gstfakesink.c:
1039         * plugins/elements/gstfakesrc.c:
1040         * plugins/elements/gstfdsink.c:
1041         * plugins/elements/gstfdsrc.c:
1042         * plugins/elements/gstfilesink.c:
1043         * plugins/elements/gstfilesrc.c:
1044         * plugins/elements/gstidentity.c:
1045         * plugins/elements/gstmultiqueue.c:
1046         * plugins/elements/gstqueue.c:
1047         * plugins/elements/gsttee.c:
1048         * plugins/elements/gsttypefindelement.c:
1049           Remove short_description. Add basic docs for gsttypefindelement.
1050           Simplify markup for fakesrc/fdsrc.
1051
1052 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1053
1054         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1055         Added Since doc.
1056
1057 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1058
1059         Patch by: joel larsson <tilljoel at gmail dot com>
1060
1061         * docs/plugins/gstreamer-plugins.args:
1062         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
1063         (gst_fd_src_init), (gst_fd_src_update_fd),
1064         (gst_fd_src_set_property), (gst_fd_src_get_property),
1065         (gst_fd_src_create):
1066         * plugins/elements/gstfdsrc.h:
1067         Add timeout property like udpsrc. Fixes #538628.
1068         Add some more docs and example pipelines.
1069
1070 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1071
1072         * docs/libs/gstreamer-libs-sections.txt:
1073         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1074         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
1075         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
1076         (gst_base_sink_do_sync):
1077         * libs/gst/base/gstbasesink.h:
1078         * win32/common/libgstbase.def:
1079         Add method to allow sinks to specify additional delay between the sync
1080         times and the actual rendering of the data.
1081         API: gst_base_sink_set_render_delay()
1082         API: gst_base_sink_get_render_delay()
1083
1084 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
1085
1086         * configure.ac:
1087         Bump version number back to dev -> 0.10.20.1
1088
1089 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
1090
1091         * docs/gst/gstreamer-sections.txt:
1092         * gst/gsttaglist.c: (_gst_tag_initialize):
1093         * gst/gsttaglist.h:
1094         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
1095         Fixes bug #538568.
1096
1097 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1098
1099         * libs/gst/controller/gstcontroller.c:
1100           Revert one change, that make ret value possible uninitialized.
1101
1102 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1103
1104         * libs/gst/controller/gstcontroller.c:
1105           Use freeze/thaw notify to sync notify emission a bit (its also more
1106           efficient). Move debug output to LOG (is called a lot in a loop).
1107           Always unset g_values if the have been initialized.
1108
1109 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1110
1111         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1112         (gst_base_sink_wait_eos), (gst_base_sink_event):
1113         If we have not seen a buffer before EOS, use the segment values to
1114         report the current position instead of invalid positions.
1115
1116 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1117
1118         * docs/plugins/tmpl/.cvsignore:
1119         * tests/check/gst/.cvsignore:
1120           Ignore more.
1121
1122 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1123
1124         * libs/gst/controller/gstinterpolation.c:
1125         * libs/gst/controller/gstinterpolationcontrolsource.c:
1126         * tests/check/libs/controller.c:
1127           Rewrite handling of default values. Fix overflow with unsigned types
1128           in linear interpolation. Remove now obsolete _first_value() function.
1129           Add more tests. Fixes #538201.
1130
1131 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1132
1133         * libs/gst/base/gstbasetransform.c:
1134         (gst_base_transform_class_init), (gst_base_transform_init),
1135         (gst_base_transform_transform_caps),
1136         (gst_base_transform_prepare_output_buffer):
1137         Add debug info.
1138         When a buffer is writable, its metadata is also writable so we don't
1139         need to subbuffer (which then makes the buffer not-writable anymore).
1140
1141 === release 0.10.20 ===
1142
1143 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
1144
1145         * configure.ac:
1146           releasing 0.10.20, "You Crazy Diamond"
1147
1148 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
1149
1150         * configure.ac:
1151         0.10.19.3 pre-release
1152
1153 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
1154
1155         * configure.ac:
1156         * gst/gstpreset.c:
1157         Rename DATADIR to GST_DATADIR to avoid build problems
1158         on win32. Patch By: David Schleef <ds@schleef.org>
1159         Fixes: #536857
1160
1161 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
1162
1163         * configure.ac:
1164         Explicitely link with -ldl if dladdr() is found there. Before it was
1165         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
1166         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
1167
1168 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1169
1170         * gst/gsterror.c: (_gst_stream_errors_init):
1171           Fix typo (spotted by Fabricio Godoy, #536723).
1172
1173 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
1174
1175         * configure.ac:
1176         0.10.19.2 pre-release
1177
1178 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1179
1180         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
1181         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
1182         Add some debug.
1183         Make sure we don't generate invalid QoS messages.
1184
1185 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1186
1187         * gst/gstevent.c: (gst_event_new_qos):
1188         Add some assert and docs for invalid input to the qos function.
1189
1190 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
1191
1192         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1193         (gst_base_sink_get_position):
1194         The reported position must always be smaller than the last seen
1195         timestamps (or timestamp + duration for reverse).
1196
1197 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
1198
1199         Patch by: Rob Bradford <rob at robster dot org dot uk>
1200
1201         * gst/gstregistry.c: (gst_registry_scan_path_level):
1202         Don't recurse into .debug directories as some distros install
1203         the debugging symbols next to the plugins in .debug directories
1204         and dlopen() crashes on them sometimes. Fixes bug #508070.
1205
1206         Add FIXME for 0.11 to not recurse into directories at all because
1207         it's very inconsistent to the behaviour of other PATH environment
1208         variables.
1209
1210 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1211
1212         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1213         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
1214         Fix position query range checks in reverse playback.
1215
1216 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
1217
1218         * gst/gstelement.c:
1219         * gst/gstelement.h:
1220         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
1221         clear of the reference to the resulting pad must be released later
1222         or not, resulting in possible leaks. Fixes bug #533865.
1223
1224 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
1225
1226         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
1227
1228         * gst/gstelementfactory.c:
1229         Small doc fix. Fixes #535285.
1230
1231 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
1232
1233         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
1234
1235         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
1236         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1237         (gst_base_src_loop), (gst_base_src_set_flushing),
1238         (gst_base_src_change_state):
1239         Make sending an EOS event to the basesrc non-blocking even if the
1240         implementation does blocking waits in the create function. This is done
1241         by unlocking the create function when EOS is sent.
1242         Fixes #535218.
1243
1244 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
1245
1246         * tools/gst-inspect.c: (print_element_properties_info):
1247         If possible print the element type of GValueArray properties.
1248
1249 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
1250
1251         * gst/gstiterator.c:
1252         Remove an unused field from the private GstListIterator struct.
1253
1254 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
1255
1256         * libs/gst/controller/gstcontroller.c:
1257           Add parameter guards.
1258
1259 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
1260
1261         * tests/check/gst/gstpipeline.c:
1262           Revert test change and add comment why it should not work.
1263
1264 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
1265
1266         * tests/check/gst/gstpipeline.c:
1267           Extending the test a little to verify that we also get the NULL state-
1268           change message.
1269
1270 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
1271
1272         * gst/gstpreset.c: (gst_preset_default_get_meta),
1273           (gst_preset_get_preset_names), (gst_preset_get_property_names),
1274           (gst_preset_load_preset), (gst_preset_save_preset),
1275           (gst_preset_rename_preset), (gst_preset_delete_preset),
1276           (gst_preset_set_meta):
1277           Add Since: markers to docs blurbs.
1278
1279         * win32/common/libgstreamer.def:
1280           Add recently-added API.
1281
1282 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1283
1284         Patch by: Stefan Kost  <ensonic@users.sf.net>
1285
1286         * configure.ac:
1287         Add DATADIR for storing presets.
1288
1289         * docs/gst/gstreamer-docs.sgml:
1290         * docs/gst/gstreamer-sections.txt:
1291         * docs/gst/gstreamer.types.in:
1292         Add GstPreset to docs.
1293
1294         * gst/Makefile.am:
1295         * gst/gst.h:
1296         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
1297         (preset_open_and_parse_header), (preset_parse_version),
1298         (preset_merge), (preset_get_keyfile),
1299         (gst_preset_default_get_preset_names),
1300         (gst_preset_default_get_property_names),
1301         (gst_preset_default_load_preset),
1302         (gst_preset_default_save_presets_file),
1303         (gst_preset_default_save_preset),
1304         (gst_preset_default_rename_preset),
1305         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
1306         (gst_preset_default_get_meta), (gst_preset_default_randomize),
1307         (gst_preset_default_reset), (gst_preset_get_preset_names),
1308         (gst_preset_get_property_names), (gst_preset_load_preset),
1309         (gst_preset_save_preset), (gst_preset_rename_preset),
1310         (gst_preset_delete_preset), (gst_preset_set_meta),
1311         (gst_preset_get_meta), (gst_preset_class_init),
1312         (gst_preset_base_init), (gst_preset_get_type):
1313         * gst/gstpreset.h:
1314         Add GstPreset to core. Fixes #396779
1315
1316         * tests/check/Makefile.am:
1317         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
1318         (gst_preset_test_set_property), (gst_preset_test_class_init),
1319         (gst_preset_test_base_init), (gst_preset_test_get_type),
1320         (gst_preset_test_plugin_init), (GST_START_TEST),
1321         (remove_preset_file), (test_setup), (test_teardown),
1322         (gst_preset_suite):
1323         Add GstPreset unit tests.
1324
1325 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1326
1327         * gst/gstpad.c: (gst_pad_event_default_dispatch):
1328         The default event function on a sinkpad should return TRUE when
1329         there are no internal links but should collect the return values from
1330         the internal links otherwise.
1331
1332 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1333
1334         * plugins/elements/gsttypefindelement.c:
1335         (gst_type_find_element_src_event),
1336         (gst_type_find_element_handle_event):
1337         Use faster and safer _pad_push_event().
1338
1339 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
1340
1341         * docs/gst/gstreamer-sections.txt:
1342         * gst/gstutils.c: (element_find_unlinked_pad),
1343           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
1344         * gst/gstutils.h:
1345           API: add gst_bin_find_unlinked_pad()
1346           API: deprecate gst_bin_find_unconnected_pad() (#401456)
1347
1348 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
1349
1350         * gst/gstclock.c:
1351         * gst/gstclock.h:
1352         * gst/gsttask.c:
1353         * gst/gsttask.h:
1354         Fixed a bunch of typos.
1355
1356 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1357
1358         * gst/gstpad.h:
1359         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
1360           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
1361           (gst_parse_bin_from_description_full):
1362         * gst/gstutils.h:
1363           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
1364
1365 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1366
1367         * docs/pwg/advanced-tagging.xml:
1368           Small docs update, can't be bothered to rewrite the nonsensical
1369           examples right now.
1370
1371 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1372
1373         * gst/gstevent.h:
1374           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
1375
1376 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1377
1378         * gst/parse/grammar.y:
1379           Remove unneeded casts.
1380
1381 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1382
1383         * gst/parse/grammar.y:
1384         * tests/check/pipelines/parse-launch.c:
1385           Get all missing elements from a parse launch string if possible
1386           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
1387
1388 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1389
1390         * tests/check/Makefile.am:
1391         * tests/check/pipelines/parse-launch.c:
1392           Add some unit tests for the new gst_parse_launch*_full() API.
1393           (Exposes a previously-existing memory leak in the error code
1394           path, so adding to VALGRIND_TO_FIX for now).
1395
1396 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1397
1398         * docs/gst/gstreamer-sections.txt:
1399         * gst/gst.c: (init_post):
1400         * gst/gst_private.h: (_GstParseContext):
1401         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
1402           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
1403           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
1404           (gst_parse_launch_full):
1405         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
1406           (GstParseFlags), (GstParseContext):
1407         * gst/gstutils.c: (gst_parse_bin_from_description),
1408           (gst_parse_bin_from_description_full):
1409         * gst/gstutils.h:
1410         * gst/parse/grammar.y:
1411         * gst/parse/types.h:
1412         * win32/common/libgstreamer.def:
1413           Add new gst_parse_*_full API (#528178):
1414           API: gst_parse_launch_full()
1415           API: gst_parse_launchv_full()
1416           API: gst_parse_bin_from_description_full()
1417           API: gst_parse_context_new()
1418           API: gst_parse_context_free()
1419           API: gst_parse_context_get_missing_elements()
1420
1421 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
1422
1423         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
1424
1425         * docs/faq/gst-uninstalled:
1426           Also support ffmpeg in gst-uninstalled.
1427
1428 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
1429
1430         * configure.ac:
1431         After discussion on IRC use the binary registry as default
1432         but allow to disable it with --disable-binary-registry.
1433
1434         * win32/common/libgstreamer.def:
1435         Add the two new symbols for the binary registry.
1436
1437 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
1438
1439         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
1440         * gst/gstutils.c: (gst_parse_bin_from_description):
1441         * gst/parse/grammar.y: (graph):
1442           More guards against bad input; typo fix; some minor clean-ups.
1443
1444 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
1445
1446         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1447
1448         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1449         If nothing else can be used, use the last buffer's start time as
1450         the segment's last stop. Fixes bug #534258.
1451
1452 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
1453
1454         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1455           Move size sanity check to the right place: downstream may return
1456           a buffer with a smaller size if the buffer caps are different than
1457           the requested ones, as may happen when doing reverse negotiation.
1458
1459 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1460
1461         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
1462         (gst_file_sink_render):
1463         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
1464         (gst_file_src_start):
1465         Small cleanups. Add note adbout g_fopen() on windows and why we don't
1466         use it yet.
1467
1468 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1469
1470         * gst/gstpad.c: (gst_pad_load_and_link):
1471         * gst/gstutils.c: (gst_element_link_pads),
1472         (gst_element_unlink_pads):
1473         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1474         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1475         (gst_check_teardown_sink_pad),
1476         (gst_check_element_push_buffer_list):
1477         * tests/check/elements/fakesink.c: (GST_START_TEST):
1478         * tests/check/elements/filesink.c:
1479         * tests/check/elements/filesrc.c: (GST_START_TEST):
1480         * tests/check/elements/multiqueue.c: (setup_multiqueue),
1481         (mq_sinkpad_to_srcpad):
1482         * tests/check/elements/tee.c: (GST_START_TEST):
1483         * tests/check/generic/sinks.c: (GST_START_TEST):
1484         * tests/check/gst/gstbin.c: (GST_START_TEST):
1485         * tests/check/gst/gstevent.c: (GST_START_TEST):
1486         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1487         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
1488         * tests/check/gst/gstquery.c: (GST_START_TEST):
1489         * tests/check/gst/gstutils.c: (GST_START_TEST):
1490         * tests/check/libs/basesrc.c: (GST_START_TEST):
1491         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
1492         (gst_parse_test_element_change_state):
1493         Don't use gst_element_get_pad().
1494
1495 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
1496
1497         * docs/Makefile.am:
1498         Fix installing plugin documentation when gtk-doc is disabled.
1499
1500 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1501
1502         * docs/manual/advanced-autoplugging.xml:
1503         * docs/manual/basics-helloworld.xml:
1504         * docs/manual/basics-pads.xml:
1505         * docs/manual/highlevel-components.xml:
1506         Avoid using a bad function in the example code.
1507
1508 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1509
1510         * gst/gstclock.c: (gst_clock_set_calibration):
1511         Fix debug of the new clock rate.
1512
1513 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1514
1515         * win32/common/libgstbase.def:
1516         Add gst_base_sink_wait_clock() to the exported symbols.
1517
1518 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
1519
1520         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
1521
1522         * libs/gst/base/gstbasetransform.c:
1523         (gst_base_transform_sink_event):
1524         Unref events that the GstBaseTransform::event vfunc didn't want to
1525         have forwarded by the base class. Closes a leak in identity.
1526         Fixes bug #446763.
1527
1528 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1529
1530         * docs/libs/gstreamer-libs-sections.txt:
1531         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
1532         * libs/gst/base/gstbasesink.h:
1533         Expose a method that was previously used internally to synchronize
1534         against the clock because it can be useful for subclasses too.
1535         API: GstBaseSink::gst_base_sink_wait_clock()
1536
1537 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
1538
1539         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
1540           Add sanity check to make sure we don't get smaller buffers
1541           than requested (and fallback to normal buffer alloc if we do).
1542
1543 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1544
1545         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
1546         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
1547         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
1548         Refactor adjusting the running_time with latency and offset into a
1549         separate method.
1550         When doing clipping, we still want to use the subclass get_times method,
1551         just in case the DURATION or TIMESTAMP are not set.
1552
1553 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
1554
1555         * docs/gst/gstreamer-sections.txt:
1556         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
1557         * gst/gsttypefind.h:
1558         * win32/common/libgstreamer.def:
1559           API: add gst_type_find_suggest_simple(), #533740.
1560
1561 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
1562
1563         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
1564           Use right error code when typefinding fails, so we can use
1565           the default (translated) error messages.
1566
1567 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1568
1569         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
1570         (gst_base_src_start):
1571         When the subclass did not set caps on outgoing buffers, configure the
1572         caps we negotiated on the source pad.
1573         When the typefind helper does not find caps, error out properly instead
1574         of doing things with NULL caps.
1575
1576 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1577
1578         * gst/gsttypefind.h:
1579           Tabs to spaces, oh yes!
1580
1581 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1582
1583         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
1584           Add David's and Benjamin's tests for array intersection to the
1585           unit test suite (#147931).
1586
1587 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1588
1589         * gst/gstevent.c:
1590           Document that gst_event_new_tag() and gst_event_new_navigation()
1591           take ownership of the taglist/structure passed to them. (#533635).
1592
1593 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
1594
1595         * docs/Makefile.am:
1596         Don't descend into the plugins dir if plugin docs building
1597         is disabled.
1598
1599         * docs/README:
1600         Add a note about the new type:GTypeName syntax for the plugin
1601         documentation .types file.
1602
1603 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1604
1605         * gst/gstmessage.c: (gst_message_new_error),
1606         (gst_message_new_warning), (gst_message_new_info):
1607         * gst/gstmessage.h:
1608         Mark the debug string parameters as const. Fixes bug #533490.
1609
1610 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
1611
1612         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1613         Sort buffer cache list by end offsets. This makes sure that we don't
1614         stop to search for a cached buffer that contains the requested data
1615         too early.
1616         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
1617         more efficient. Fixes bug #459862.
1618
1619 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
1620
1621         * gst/gstinfo.c:
1622           Explain why we copy the list.
1623
1624         * gst/gstpipeline.c:
1625           Improve docs.
1626
1627         * gst/gstutils.c:
1628           Add one debug-log statement to help tracing probelms with linking pads.
1629
1630 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
1631
1632         * tests/check/gst/gstinfo.c:
1633         Add a test for removing the default log handler. Seems to fail under
1634         windows.
1635
1636 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1637
1638         * gst/gstpad.c: (gst_pad_peer_accept_caps):
1639         Release pad lock before calling out to avoid a possible deadlock.
1640
1641 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1642
1643         * gst/parse/grammar.y:
1644         Remove unneeded value unset.
1645
1646         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1647         Add unit test for de/serialization of caps.
1648
1649 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1650
1651         * plugins/elements/gstfakesink.c:
1652         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
1653         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
1654         (gst_fake_src_class_init):
1655         Use custom marshalers that take GstMiniObject as first parameter.
1656         Using OBJECT as parameter while a GstMiniObject is given will lead
1657         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
1658
1659 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1660
1661         * plugins/elements/gsttypefindelement.c:
1662         (gst_type_find_element_handle_event),
1663         (gst_type_find_element_send_cached_events),
1664         (gst_type_find_element_change_state):
1665         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
1666         immediately.
1667
1668 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1669
1670         * plugins/elements/gsttypefindelement.c:
1671         (gst_type_find_handle_src_query), (stop_typefinding),
1672         (gst_type_find_element_handle_event),
1673         (gst_type_find_element_send_cached_events),
1674         (gst_type_find_element_change_state):
1675         Forward FLUSH_START events immediately and clean up instead of
1676         caching them.
1677
1678 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1679
1680         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1681
1682         * libs/gst/base/gstbasetransform.c:
1683         (gst_base_transform_buffer_alloc):
1684         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
1685         fall back to default negotiation in the chain function if the caps
1686         are different from what was requested. Fixes bug #526768.
1687
1688 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1689
1690         * gst/gstsegment.c:
1691         * tests/check/gst/gstsegment.c:
1692           No, let's not use g_slice_{dup|copy} here, since they only exist
1693           since GLib 2.14 and we still depend only on >= 2.12. Also add
1694           unit test for gst_segment_copy().
1695
1696 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1697
1698         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
1699           Try to fix 'dereferencing type-punned pointer will break strict
1700           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
1701           changed the default GType typedef from gulong to gsize at some point,
1702           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
1703           g_once_* functions all take a gsize * though, so work around the type
1704           mismatch for C++ by doing everything in gsize and casting to GType
1705           later.
1706
1707 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
1708
1709         * plugins/elements/gstmultiqueue.c:
1710         Add documentation for the signals to push our core plugin docs
1711         coverage back up to 100%.
1712
1713 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1714
1715         * gst/gstinfo.h (GST_FUNCTION):
1716           Reverted GST_FUNCTION to the old version as we don't want the
1717           full signature in C++ code. Also added support for MSVC.
1718
1719 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1720
1721         * gst/gstutils.h:
1722         Intern the type name string, similar to what G_DEFINE_TYPE does.
1723
1724 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1725
1726         * gst/gstutils.h:
1727         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
1728
1729 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1730
1731         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
1732
1733         * libs/gst/base/gstbasetransform.c:
1734         (gst_base_transform_buffer_alloc):
1735         Don't passthrough buffer allocation too easily if the caps change.
1736         This breaks when working in passthrough mode and upstream changes
1737         it's caps. Fixes bug #526768.
1738
1739 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1740
1741         * gst/gstinfo.c (gst_debug_log_valist):
1742           Improved the __FILE__ part of debug output for MSVC.
1743
1744 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1745
1746         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
1747           Declaration after statement fix for compilers like MSVC.
1748
1749 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1750
1751         * win32/common/config.h.in:
1752           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
1753           use the real thing than having "???" unconditionally.
1754
1755 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1756
1757         * gst/gstinfo.h (GST_FUNCTION):
1758           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
1759
1760 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1761
1762         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
1763         Small code cleanup.
1764
1765         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1766         (gst_base_sink_set_flushing):
1767         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1768         Fix some comments.
1769
1770 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1771
1772         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1773         (gst_fake_src_init), (gst_fake_src_set_property),
1774         (gst_fake_src_get_property), (gst_fake_src_start):
1775         * plugins/elements/gstfakesrc.h:
1776         Added format property to control the format of the newsegment events.
1777         API: GstFakeSrc:format
1778
1779 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
1780
1781         * win32/common/libgstreamer.def:
1782         Add gst_pad_has_name() to the exported symbols.
1783
1784 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
1785
1786         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1787         * libs/gst/base/gstbasetransform.c:
1788         (gst_base_transform_prepare_output_buffer):
1789         Don't allow negative sizes when allocating new buffers.
1790         Fixes bug #461253.
1791
1792 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1793
1794         Patch by: Sjoerd Simons <sjoerd at luon net>
1795
1796         * gst/gstbus.c: (gst_bus_source_dispatch):
1797           Don't print a warning if the queue is empty when we try to pop
1798           here. That could happen if another thread or callback set the
1799           bus to flushing between the source's check/prepare and the
1800           dispatch being called (#531538).
1801
1802 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1803
1804         * plugins/elements/gstmultiqueue.c:
1805           Small docs fix.
1806         
1807 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
1808
1809         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1810         Add unit test for deserializing uint64s and check some really large
1811         numbers in the int64 test.
1812
1813 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
1814
1815         * tools/gst-inspect.c: (n_print), (print_hierarchy),
1816         (print_interfaces), (print_element_properties_info),
1817         (print_signal_info):
1818         Use "%s" as format string instead of printing strings directly.
1819
1820 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
1821
1822         * gst/gstclock.c: (gst_clock_set_calibration):
1823         Make some checks actually useful.
1824
1825         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
1826         Remove some unused code. Unsigned integers tend to be >= 0.
1827
1828 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1829
1830         * gst/gstminiobject.c: (gst_value_get_mini_object):
1831           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
1832           function was not in the unscheduled 0.10.19 release.
1833
1834 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1835
1836         * gst/gstregistry.c: (gst_registry_scan_path_level):
1837           Only print one log message per non-plugin file.
1838
1839 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1840
1841         * gst/gstinfo.c: (gst_debug_log_default):
1842           Fix alignment of debug log columns on 64-bit.
1843
1844 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1845
1846         * docs/libs/Makefile.am:
1847         * docs/libs/gstreamer-libs-sections.txt:
1848           Ignore private controller headers for docs.
1849
1850 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
1851
1852         * libs/gst/controller/gstcontrollerprivate.h:
1853         * libs/gst/controller/gsthelper.c:
1854         * libs/gst/controller/gstinterpolation.c:
1855         * libs/gst/controller/gstinterpolationcontrolsource.c:
1856         (gst_interpolation_control_source_set_interpolation_mode):
1857         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1858         * libs/gst/controller/lib.c:
1859         Move some private declarations into private headers.
1860
1861 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
1862
1863         * gst/gstdebugutils.c: (debug_dump_element_pad):
1864         Remove some code that is unused after Stefan's refactoring and uses
1865         uninitialized variables now, resulting in a compiler warning.
1866
1867 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1868
1869         * gst/gstregistry.c: (gst_registry_scan_path_level):
1870           Run g_str_has_suffix() only on the file name, not the
1871           entire file path.
1872
1873 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
1874
1875         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
1876           Since we're not called only from the chain function any longer,
1877           we can't assume that there's always data in the queue, so move
1878           the is_full check to the beginning of the loop (otherwise we'd
1879           hit the assert when changing the limit properties while the
1880           queue is empty or not running yet).
1881           Also, only set a discont if items were actually removed from
1882           the queue.
1883
1884         * tests/check/elements/queue.c: (test_leaky_downstream):
1885           Test case for the above.
1886
1887 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
1888
1889         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
1890
1891         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
1892         (gst_queue_chain), (queue_capacity_change),
1893         (gst_queue_set_property):
1894         When changing thr max capacity of a leaky queue, immediatly drop buffers
1895         instead of waiting for a push on the sinkpad. Fixes #530637.
1896
1897 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
1898
1899         * gst/gstdebugutils.c:
1900           Refactor code and fix handling of ghostpads and their proxypads.
1901
1902 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1903
1904         * docs/gst/gstreamer-sections.txt:
1905         * gst/gstevent.c: (gst_event_has_name):
1906         * gst/gstevent.h:
1907         * tests/check/gst/gstevent.c: (GST_START_TEST):
1908         Add method to conveniently check the name of a custom event with
1909         gst_event_has_name().
1910         Reformat the event docs so that related methods are put together instead
1911         of the default alphabetical sort.
1912         Update unit test with new method.
1913         API: GstEvent::gst_event_has_name()
1914
1915 2008-04-28  Michael Smith <msmith@songbirdnest.com>
1916
1917         * libs/gst/check/Makefile.am:
1918           Don't add an explicit link to libgstreamer-0.10.la; it's already
1919           included in GST_OBJ_LIBS.
1920
1921 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
1922
1923         * gst/gst.c:
1924         Register GstClock type from a type-safe context. Fixes bug #530317.
1925
1926 2008-04-25  Michael Smith <msmith@songbirdnest.com>
1927
1928         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
1929         * tools/gst-run.c:
1930           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
1931
1932 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1933
1934         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1935         (gst_bin_dispose):
1936         Use the GLib stuff to create a private structure.
1937         Add some locking around some dispose methods to make them a little
1938         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1939
1940 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
1941
1942         * libs/gst/base/gstbasesink.h:
1943         * libs/gst/base/gstbasesrc.h:
1944         * libs/gst/base/gstbasetransform.h:
1945         * libs/gst/base/gstcollectpads.h:
1946           Fix doc typos and unify caps a bit.
1947
1948 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
1949
1950         * tools/gst-launch.1.in:
1951           Forgot to also add the envvar docs here.
1952
1953 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
1954
1955         * gst/gst.c: (init_post), (gst_deinit):
1956         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
1957           (test_concurrent_create), (gst_pipeline_suite):
1958           Ref some more classes in gst_init() to work around thread-safety
1959           issues in pre-2.16 GLibs, and add basic unit test.
1960
1961 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1962
1963         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1964         (gst_base_sink_send_event):
1965         Rearrange the latency query code. We always want to do the upstream
1966         query, even if we are not live so that the upstream elements can get the
1967         latency results too. If we fail doing the query and we are live, we
1968         return TRUE afterwards.
1969
1970 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1971
1972         patch by: Jason Zhao <e3423c@motorola.com>
1973
1974         * docs/gst/running.xml:
1975         * gst/gst.c:
1976           Enable/disable scan_and_update_registry() based on commandline switch
1977           or environment variable. Fixes #520468.
1978           
1979         * ChangeLog:
1980           Fix typo in my previous commit.
1981
1982 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1983
1984         * gst/gstregistrybinary.c:
1985           Add a warning if we hit unhandled factories when saving.
1986           More debug logging detail, but move to LOG category.
1987
1988 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1989
1990         * gst/gstregistry.c:
1991           Tell the *truth* when improving the documentation.
1992
1993 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
1994
1995         * gst/gstelementfactory.c: (gst_element_factory_make):
1996         Unref the factory after it was used the last time, not before.
1997
1998         * gst/gstindexfactory.c: (gst_index_factory_make):
1999         Improve debugging a bit and don't leak a ref to the index factory with
2000         each call.
2001
2002 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2003
2004         * gst/gstregistry.c:
2005           Improve the documentation.
2006
2007 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2008
2009         * gst/gstsegment.c:
2010           The glib macro seems to be borked. Use g_slice_copy directly and cast
2011           in the hope that this fixes the warning on 64bit.
2012
2013 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2014
2015         * gst/gstsegment.c:
2016           Document the new function. Use g_slice_dup() (no need for
2017           gst_segment_init()).    
2018
2019 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2020
2021         * docs/gst/gstreamer-sections.txt:
2022           Move GParamSepc macros to standart section.
2023   
2024         * gst/gstbin.c:
2025           Dn't document _get_type - its in private section in docs anyway and
2026           this doc-blob was incomplete.
2027
2028         * gst/gstclock.h:
2029           Fix wrong symbol names in docs.
2030
2031         * gst/gstmacros.h:
2032           Add once doc sentence.
2033
2034         * tests/check/gst/.cvsignore:
2035           Ignore more.
2036
2037 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2038
2039         * docs/gst/Makefile.am:
2040           And remove those libs here.
2041
2042 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
2043
2044         * docs/libs/Makefile.am:
2045           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
2046
2047 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2048
2049         Patch by: Olivier Crete <tester at tester dot ca>
2050
2051         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2052         Add the min-threshold to the min latency if possible. Fixes #529148.
2053
2054 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2055
2056         * docs/gst/gstreamer.types.in:
2057           Stupid editor, I removed that line as it should go in yet.
2058
2059 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2060
2061         * docs/gst/gstreamer.types.in:
2062         * docs/libs/gstreamer-libs.types:
2063           Remove library types fro core docs and have them in libs docs.
2064           Reformat and cleanup. Add comment for miniobject types.
2065
2066 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
2067
2068         * gst/gsturi.c: (gst_uri_get_protocol):
2069           Fix leak: g_strdown operates on the string in place, while
2070           g_ascii_strdown() returns a newly-allocated string.
2071
2072 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
2073
2074         * tools/gst-inspect.c: (print_uri_handler_info),
2075         (print_element_info):
2076         Print the URI protocols and the URI type supported by the element.
2077
2078 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2079
2080         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
2081         Use g_value_take_string() instead of the deprecated
2082         g_value_set_string_take_ownership().
2083
2084 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2085
2086         * gst/gstregistrybinary.c: (_gst_crc32):
2087         Return the old CRC instead of 0 if we give a NULL buffer
2088         or a buffer with a length of 0.
2089
2090 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2091
2092         * gst/gsturi.c: (gst_uri_protocol_check_internal),
2093         (gst_uri_get_protocol), (gst_uri_has_protocol),
2094         (gst_uri_construct), (gst_uri_handler_set_uri):
2095         A valid URI scheme can also include '+', '-' and '.' additional
2096         to alphanumeric characters as per RFC 3986 Section 3.1.
2097
2098         Handle URI schemes case insensitive in all places and convert
2099         to lower-case when constructing an URI or setting an URI with
2100         the GstURIHandler interface. Fixes bug #528868.
2101         All elements can still assume (as before) that they will
2102         get passed URIs with a lower-case URI scheme by the GstURIHandler
2103         interface.
2104
2105 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
2106
2107         * gst/gstcaps.c: (gst_static_caps_get):
2108         * gst/gstclock.c: (gst_clock_entry_new):
2109           Don't use g_atomic_set_int where it's not needed.
2110
2111 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
2112
2113         * gst/gstvalue.c: (gst_value_deserialize_caps):
2114         * gst/parse/grammar.y:
2115         Fix 2 caps leaks.
2116
2117 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
2118
2119         * gst/gstutils.c: (gst_atomic_int_set):
2120         Use g_atomic_int_set() here too instead of assignment +
2121         g_atomic_int_get().
2122
2123 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
2124         
2125         * gst/gstutils.c:
2126         * gst/gstutils.h:
2127         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
2128         now that we depend on new enough GLib.
2129
2130         * gst/gstcaps.c: (gst_static_caps_get):
2131         * gst/gstclock.c: (gst_clock_entry_new):
2132         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
2133         (gst_debug_set_default_threshold), (_gst_debug_category_new),
2134         (gst_debug_category_set_threshold):
2135         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2136         (gst_base_sink_set_qos_enabled):
2137         * libs/gst/net/gstnettimeprovider.c:
2138         (gst_net_time_provider_set_property):
2139         Use g_atomic_int_set() instead of gst_atomic_int_set().
2140
2141 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
2142
2143         * gst/gstquery.c:
2144           Also use G_GINT64_CONSTANT for the queries.
2145
2146 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
2147
2148         * gst/gstmessage.c:
2149           Use G_GINT64_CONSTANT in varargs function.
2150
2151 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
2152
2153         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
2154         Initialize the registry magic with zeroes.
2155
2156 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
2157
2158         * gst/gstregistrybinary.c: (_gst_crc32),
2159         (gst_registry_binary_write),
2160         (gst_registry_binary_initialize_magic),
2161         (gst_registry_binary_write_cache),
2162         (gst_registry_binary_check_magic),
2163         (gst_registry_binary_read_cache):
2164         * gst/gstregistrybinary.h:
2165         Add crc32 checksum to the binary registry file and check this before
2166         accepting a registry file.
2167
2168         Also free the data list when writing to the registry file fails.
2169
2170 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
2171
2172         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
2173         (gst_registry_binary_load_feature),
2174         (gst_registry_binary_load_plugin):
2175         If an element supports the Uri interface, returns a valid pointer
2176         to the supported URI protocols but this pointer contains nothing
2177         don't try to save that as it will corrupt the registry.
2178
2179         Don't unref the plugin if we added it to the registry already but
2180         fail to load a feature as gst_registry_add_plugin() takes ownership
2181         of the plugin.
2182
2183         Improve debugging a bit.
2184
2185 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
2186
2187         * gst/gsttaglist.h:
2188           Clarify some tag item docs after discussion on irc.
2189
2190 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
2191
2192         * docs/gst/gstreamer-docs.sgml:
2193           Remove commented out plugins (they have their own docs). Update
2194           comments.
2195
2196 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
2197
2198         * docs/gst/gstreamer-docs.sgml:
2199         * docs/gst/gstreamer-sections.txt:
2200         * gst/gstparamspecs.c:
2201         * gst/gstparamspecs.h:
2202           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
2203           docs to own section.
2204
2205         * gst/gstvalue.c:
2206           This now only documents GValue.
2207           
2208         * docs/libs/gstreamer-libs-sections.txt:
2209         * libs/gst/controller/gstcontroller.h:
2210           Remove GST_PARAM_CONTROLLABLE.
2211
2212 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
2213
2214         * docs/README:
2215           Correct file path. Tell about how to use -overrides.txt.
2216         * docs/design/draft-tagreading.txt:
2217           Small design update.
2218
2219 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
2220
2221         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
2222         (gst_registry_binary_load_plugin):
2223         Fix a typo in a debug message and revert change from yesterday as
2224         gst_registry_add_plugin() will only fail if something is really wrong
2225         already and we can't survive it anyway.
2226
2227 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
2228
2229         * gst/gst.c: (init_post), (gst_deinit):
2230           Pre-register GstGError GType from a thread-safe context
2231           (fixes #527967); unref enum type classes in deinit.
2232
2233 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
2234
2235         Patch by: Rene Stadler <mail at renestadler de>
2236
2237         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
2238           Merging an empty list with another list in KEEP_ALL mode should
2239           yield an empty list as result and not the second list (#512578).
2240
2241         * tests/check/gst/gsttagsetter.c:
2242           Add unit test for tag merge modes and the aforementioned bug.
2243
2244 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
2245
2246         Patch by: Rene Stadler <mail at renestadler de>
2247
2248         * gst/gsttaglist.h:
2249           Fix description to match the order in the table (#512577).
2250   
2251 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
2252
2253         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
2254
2255         * libs/gst/net/gstnettimepacket.h:
2256         * docs/libs/gstreamer-libs-sections.txt:
2257           Define socklen_t as int if it's not defined yet. Fixes compilation
2258           with MSVC6 and other versions where socklen_t is not defined in
2259           the windows headers (#518022).
2260
2261 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
2262
2263         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2264         If gst_registry_add_plugin() fails our reference to the plugin is
2265         invalid so don't try to use it anymore and instead error out.
2266
2267 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2268
2269         * tools/gst-xmlinspect.c: (print_element_info), (main):
2270           De-cruft a bit. If no argument is specified, print all elements in
2271           XML syntax rather than a freestyle list of elements like gst-inspect.
2272           Also, don't print XML header chunk unless we actually have something
2273           to print (ie. don't print it before an error message); print error
2274           message to stderr not stdout. Remove support for printing plugin
2275           info (it would just output something freestyle along the lines of
2276           gst-inspect so far), which fixes #514507. Also add license header.
2277
2278 2008-04-11  Julien Moutte  <julien@fluendo.com>
2279
2280         Mac OS X love...
2281         * configure.ac: Merge platform specific defines, introduce a new
2282         define on OS X to remember that forking when updating registry is
2283         unsafe.
2284         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
2285         module.
2286         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
2287         is defined.
2288         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
2289         condition that leads to absolutely no plugins being registered on
2290         OS X.
2291
2292 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
2293
2294         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2295
2296         * gst/gstutils.c: (gst_pad_add_data_probe),
2297           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
2298           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
2299           (gst_pad_add_buffer_probe_full):
2300         * gst/gstutils.h:
2301         * docs/gst/gstreamer-sections.txt:
2302         * win32/common/libgstreamer.def:
2303           Add gst_pad_add_*_probe_full() functions with a notify callback that
2304           lets the caller free the data it passes to the probe functions. This
2305           is useful for bindings such as gst-python or gstreamermm (#526814).
2306           API: gst_pad_add_data_probe_full
2307           API: gst_pad_add_buffer_probe_full
2308           API: gst_pad_add_event_probe_full
2309
2310         * tests/check/gst/gstutils.c:
2311           Add minimal unit test to make sure freeing the data actually works
2312           as expected.
2313
2314         * tests/benchmarks/.cvsignore:
2315           Random cvsignore addendum.
2316
2317 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
2318
2319         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
2320           (GST_DEBUG_BIN_TO_DOT_FILE):
2321           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
2322           to it in the docs (since these are macros the types of the arguments
2323           won't be shown in the docs otherwise).
2324
2325 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
2326
2327         * gst/gstpad.c:
2328           Do not abort on out of memory for pad_alloc_buffer.
2329
2330 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
2331
2332         * libs/gst/check/gstcheck.c:
2333           Remove blank line between symbol name ad parameters to fix gtkdoc
2334           warning.
2335
2336 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2337
2338         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
2339
2340         * docs/gst/gstreamer-sections.txt:
2341         * gst/gstsegment.c:
2342         * gst/gstsegment.h:
2343         * win32/common/libgstreamer.def:
2344           Expose gst_segment_copy() to make things easier for the c++ bindings.
2345           Fixes #518932.
2346           API: gst_segment_copy()
2347
2348 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2349
2350         * gst/gst.c: (gst_init_get_option_group), (init_post):
2351           Fix const position; ref GType classes for enum types to work
2352           around thread-safety issues in GLib versions < 2.16.
2353
2354 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2355
2356         * docs/design/part-buffering.txt:
2357         Fix some typos and set the estimated total for push mode to -1.
2358
2359         * gst/gstquery.c: (gst_query_new_buffering):
2360         Set buffering-left to 0 as we're not buffering by default.
2361
2362         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
2363         Implement BUFFERING query.
2364
2365 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2366
2367         Based on patch by: Milosz Derezynski <internalerror gmail com>
2368
2369         * gst/gsterror.c: (_gst_stream_errors_init):
2370         * gst/gsterror.h:
2371           Add two new error codes for encrypted content. Fixes #524659.
2372           API: GST_STREAM_ERROR_DECRYPT
2373           API: GST_STREAM_ERROR_DECRYPT_NOKEY
2374
2375 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2376
2377         * gst/gstquery.h:
2378           Fix typo.
2379
2380         * win32/common/libgstreamer.def:
2381           Add new functions.
2382
2383 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
2384
2385         * plugins/elements/gstidentity.c: (gst_identity_event),
2386         (gst_identity_start):
2387         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
2388         event after processing some data. Fixes bug #526042.
2389
2390 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2391
2392         * docs/gst/gstreamer-sections.txt:
2393         * gst/gstquery.c: (gst_query_parse_latency),
2394         (gst_query_set_buffering_percent),
2395         (gst_query_parse_buffering_percent),
2396         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
2397         * gst/gstquery.h:
2398         Rename _avail -> _range
2399         API: gst_query_set_buffering_range
2400         API: gst_query_parse_buffering_range
2401
2402 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2403
2404         * docs/design/part-buffering.txt:
2405         * gst/gstquark.c:
2406         * gst/gstquark.h:
2407         * gst/gstquery.c: (gst_query_parse_latency),
2408         (gst_query_new_buffering), (gst_query_set_buffering_percent),
2409         (gst_query_parse_buffering_percent):
2410         * gst/gstquery.h:
2411         Add busy field and quark for the buffering query so that the app can
2412         only use the query to see if buffering is in progress.
2413
2414 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2415
2416         * docs/gst/gstreamer-sections.txt:
2417         * gst/gstmessage.c: (gst_message_set_buffering_stats),
2418         (gst_message_parse_buffering_stats):
2419         * gst/gstmessage.h:
2420         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
2421         (gst_query_parse_latency), (gst_query_new_buffering),
2422         (gst_query_set_buffering_percent),
2423         (gst_query_parse_buffering_percent),
2424         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
2425         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
2426         * gst/gstquery.h:
2427         Reorder the message docs and headers for clarity.
2428         Add aditional buffering stats API for messages.
2429         Add buffering query.
2430         Convert some leftover queries to use GstQuark.
2431         API: gst_message_set_buffering_stats
2432         API: gst_message_parse_buffering_stats
2433         API: GST_QUERY_BUFFERING
2434         API: GstBufferingMode
2435         API: gst_query_new_buffering
2436         API: gst_query_set_buffering_percent
2437         API: gst_query_parse_buffering_percent
2438         API: gst_query_set_buffering_stats
2439         API: gst_query_parse_buffering_stats
2440
2441 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2442
2443         * gst/gstmessage.c: (gst_message_new_error),
2444         (gst_message_new_warning), (gst_message_new_info),
2445         (gst_message_new_buffering), (gst_message_new_state_changed),
2446         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
2447         (gst_message_new_new_clock), (gst_message_new_segment_start),
2448         (gst_message_new_segment_done), (gst_message_new_duration),
2449         (gst_message_new_async_start), (gst_message_parse_buffering),
2450         (gst_message_parse_state_changed),
2451         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
2452         (gst_message_parse_new_clock), (gst_message_parse_error),
2453         (gst_message_parse_warning), (gst_message_parse_info),
2454         (gst_message_parse_segment_start),
2455         (gst_message_parse_segment_done), (gst_message_parse_duration),
2456         (gst_message_parse_async_start):
2457         Use GstQuark for messages.
2458
2459 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2460
2461         * gst/gstquark.c: (_priv_gst_quarks_initialize):
2462         * gst/gstquark.h:
2463         Add some more quarks needed for messages and queries.
2464
2465 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2466
2467         * docs/design/part-buffering.txt:
2468         Remove the "none" buffering mode, STREAM is a good default.
2469         Move estimated-time to the avail query, that's when it will be needed.
2470         Other small typo fixes and updates.
2471
2472 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
2473
2474         * gst/gstindex.c: (gst_index_resolver_get_type):
2475           Don't put descriptions into the nick field of a GEnumValue: it's not
2476           meant for that and some language bindings rely on the nick field to
2477           construct constants and the like. Fixes #526705.
2478
2479 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
2480
2481         * NEWS:
2482         * RELEASE:
2483         * gstreamer.doap:
2484           Merge other changes from 0.10.19 release branch.
2485
2486 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
2487
2488         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
2489
2490         * configure.ac:
2491         Actually build dlls when cross-compiling with mingw32.
2492         Fixes bug #526247.
2493
2494 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
2495
2496         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
2497
2498         * gst/gstpoll.c:
2499         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
2500
2501 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2502
2503         * docs/design/draft-latency.txt:
2504         Fix typo.
2505
2506         * docs/design/part-buffering.txt:
2507         Update design docs with more buffering ideas.
2508
2509 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
2510
2511         * configure.ac:
2512           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
2513
2514 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
2515
2516         * configure.ac:
2517           Revert part that belongs to the preset patch.
2518
2519 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
2520
2521         * configure.ac:
2522           Add qoutes to the define. Fixes # 525961.
2523
2524 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
2525
2526         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
2527         (gst_file_index_load), (gst_file_index_add_id),
2528         (gst_file_index_get_assoc_entry):
2529         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
2530         (gst_mem_index_free_id), (gst_mem_index_add_id),
2531         (gst_mem_index_index_format):
2532         Use GSlice when possible.
2533
2534 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
2535
2536         * libs/gst/controller/gstinterpolationcontrolsource.c:
2537         (gst_control_point_free),
2538         (gst_interpolation_control_source_set_internal):
2539         Use GSlice for allocating the control points.
2540
2541 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
2542
2543         * plugins/elements/gsttypefindelement.c:
2544         (gst_type_find_element_class_init),
2545         (gst_type_find_element_set_property),
2546         (gst_type_find_element_get_property),
2547         (gst_type_find_element_activate):
2548         * plugins/elements/gsttypefindelement.h:
2549         Cleanup properties.
2550         Fix pad leak when peer query fails.
2551         We can still typefind when the peer returns -1.
2552         Add property to force caps and bypass typefinding. This will be used in
2553         uridecodebin.
2554         API::force-caps
2555
2556 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
2557
2558         * configure.ac:
2559         Require GLib 2.12.
2560
2561         * gst/glib-compat-private.h:
2562         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
2563         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
2564         Unconditionally use GSlice for allocation.
2565
2566         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
2567         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
2568         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
2569         (gst_structure_free):
2570         Use GSlice for allocation.
2571
2572 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
2573
2574         * gst/parse/Makefile.am:
2575         * gst/parse/grammar.tab.pre.c:
2576         * gst/parse/grammar.tab.pre.h:
2577         * gst/parse/lex._gst_parse_yy.pre.c:
2578         Require a new enough flex and bison and remove the parser hacks to use
2579         a pre-regenerated version.
2580
2581 2008-04-01  Julien Moutte  <julien@fluendo.com>
2582
2583         patch by: Jason Zhao <E3423C@motorola.com>
2584
2585         * configure.ac: Add a configure switch to disable option parsing
2586         in gst_init.
2587         Fixes #522882.
2588
2589 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
2590
2591         * configure.ac:
2592         * gst/gstregistry.c:
2593           MacOS has plugins under .so or under .dylib. Add detection for MacOS
2594           and handle this case.
2595
2596         * gst/gst.c:
2597           Add a comment here describing, why we stat each plugin and not try to
2598           be smart.
2599
2600 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
2601
2602         * libs/gst/base/gstbasetransform.c:
2603         (gst_base_transform_prepare_output_buffer):
2604         Also unset the GAP flag on buffers if we're working inplace but
2605         the element is not GAP-aware.
2606
2607         Mark a comment as FIXME 0.11.
2608
2609 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
2610
2611         * gst/gst.c:
2612           Fix type in log message and add one to ease seeing how long registry
2613           cache verification takes.
2614
2615         * gst/gstregistry.c:
2616           Only test plugin filenames against G_MODULE_SUFFIX.
2617
2618 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
2619
2620         * gst/gstdebugutils.c:
2621           Improve handling ghost/proxy pads.
2622
2623 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
2624
2625         * docs/gst/gstreamer-sections.txt:
2626         * gst/gstpad.c:
2627         * gst/gstpad.h:
2628           Expose macro to docs and fix link to it.
2629
2630 2008-03-27  Michael Smith <msmith@fluendo.com>
2631
2632         * libs/gst/dataprotocol/dataprotocol.c:
2633         (gst_dp_packet_from_event_1_0):
2634           When calculating GDP body CRC, use the correct pointer. 
2635           Fixes part of #522401.
2636
2637 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2638
2639         Patch by: Mark Nauwelaerts <manauw at skynet be>
2640
2641         * plugins/elements/gstidentity.c: (gst_identity_class_init),
2642         (gst_identity_init), (gst_identity_prepare_output_buffer):
2643         Identity is not always a passthrough element, it can modify the buffer
2644         timestamps when it has a datarate and operates in single-segment mode.
2645         We therefore make it an in_place filter with a custom buffer prepare
2646         function that conditionally makes the input buffer metadata writable
2647         when needed.  Fixes #523985.
2648
2649 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2650
2651         Patch by: Mark Nauwelaerts <manauw at skynet be>
2652
2653         * gst/gstclock.h:
2654         * libs/gst/base/gstbasesrc.h:
2655         * libs/gst/base/gstbasetransform.c:
2656         * libs/gst/check/gstcheck.c:
2657         Small documentation fixes. Fixes #523978.
2658
2659 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2660
2661         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2662         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2663         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
2664
2665 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2666
2667         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
2668         (single_queue_underrun_cb):
2669         When trying to make room in the queue, bump the max allowed buffers
2670         bigger than the current amount of buffers in the queue. this fixes some
2671         nasty deadlocks in multiqueue when dynamically changing the limits of
2672         the queue.
2673
2674 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2675
2676         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
2677
2678         * gst/gstcaps.c: (gst_caps_set_simple),
2679         (gst_caps_set_simple_valist), (gst_caps_intersect):
2680         * gst/gstcaps.h:
2681         Constify the field gchar * params in set_simple and friends.
2682         Fixes #522326.
2683
2684 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2685
2686         * gst/gstvalue.c: (gst_value_transform_object_string):
2687         Transform a GstObject to a more meaningfull string that includes the
2688         object type in addition to its name.
2689
2690 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
2691
2692         * ChangeLog:
2693           ChangeLog surgery to add bugnumber to commit.
2694
2695 2008-03-23  Rene Stadler  <mail@renestadler.de>
2696
2697         * libs/gst/base/gstbasetransform.c:
2698         (gst_base_transform_set_gap_aware): Fix confusing documentation.
2699
2700 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2701
2702         * gst/gstregistrybinary.c: (gst_registry_binary_write):
2703         Rename constant everywhere and don't forget one occurence.
2704
2705 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2706
2707         * gst/gstregistrybinary.c: (gst_registry_binary_write):
2708         Align memory to the pointer size even if the architecture allows
2709         unaligned memory access. Unaligned memory access usually comes with
2710         performance penality.
2711
2712 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2713
2714         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2715         (gst_registry_binary_check_magic),
2716         (gst_registry_binary_load_pad_template),
2717         (gst_registry_binary_load_feature),
2718         (gst_registry_binary_load_plugin):
2719         Align memory to the pointer size instead of always 32 bit. Fixes
2720         unaligned memory accesses on ia64 and friends.
2721
2722         * gst/gstregistrybinary.h:
2723         Bump binary registry format version for this as it changes the
2724         format on those architectures that don't have unaligned access
2725         and 64 bit pointers.
2726
2727 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2728
2729         * docs/pwg/advanced-dparams.xml:
2730         * docs/pwg/building-props.xml:
2731         * docs/pwg/other-source.xml:
2732         * gst/glib-compat.h:
2733         * gst/gstbin.c: (gst_bin_class_init):
2734         * gst/gstclock.c: (gst_clock_class_init):
2735         * gst/gstindex.c: (gst_index_class_init):
2736         * gst/gstobject.c: (gst_object_class_init):
2737         * gst/gstpad.c: (gst_pad_class_init):
2738         * gst/gstpipeline.c: (gst_pipeline_class_init):
2739         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2740         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
2741         * libs/gst/base/gstbasetransform.c:
2742         (gst_base_transform_class_init):
2743         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
2744         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
2745         (_gst_check_fault_handler_sighandler),
2746         (_gst_check_fault_handler_setup), (gst_check_init):
2747         * libs/gst/controller/gstcontroller.c:
2748         (_gst_controller_class_init):
2749         * libs/gst/controller/gstlfocontrolsource.c:
2750         (gst_lfo_control_source_class_init):
2751         * libs/gst/net/gstnetclientclock.c:
2752         (gst_net_client_clock_class_init):
2753         * libs/gst/net/gstnettimeprovider.c:
2754         (gst_net_time_provider_class_init):
2755         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
2756         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2757         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2758         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
2759         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2760         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2761         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2762         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2763         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
2764         * plugins/elements/gstqueue.c: (gst_queue_class_init):
2765         * plugins/elements/gsttee.c: (gst_tee_class_init):
2766         * plugins/elements/gsttypefindelement.c:
2767         (gst_type_find_element_class_init):
2768         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2769         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
2770         use it everywhere for GParamSpecs that use static strings (i.e. all).
2771         This gives us less memory usage, fewer allocations and thus less
2772         memory defragmentation. Fixes bug #523806.
2773
2774 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2775
2776         * gst/gstminiobject.c: (gst_value_dup_mini_object),
2777         (gst_param_spec_mini_object):
2778         * gst/gstminiobject.h:
2779         * win32/common/libgstreamer.def:
2780         * docs/gst/gstreamer-sections.txt:
2781         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
2782         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
2783         GstParamSpecMiniObject into a public header for this.
2784
2785         This make GstMiniObject a bit more consistent with GObject and makes
2786         it possible to extend the param specs.
2787
2788         gst_value_dup_mini_object is mainly useful for set_property methods.
2789
2790         Fixes bug #523798.
2791
2792         * tools/gst-inspect.c: (print_element_properties_info):
2793         Print something useful for GstMiniObject properties and not just
2794         "unknown type".
2795
2796 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
2797
2798         * docs/gst/gstreamer-sections.txt:
2799         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
2800         (gst_registry_binary_check_magic):
2801         * gst/gstregistrybinary.h:
2802         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
2803         and add it to the (private part) of the docs to fix the build.
2804
2805 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
2806
2807         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
2808         (gst_registry_binary_check_magic),
2809         (gst_registry_binary_read_cache):
2810         * gst/gstregistrybinary.h:
2811         Don't use GST_MAJORMINOR for the binary registry version. Instead
2812         hardcode a value that must be changed whenever the format changes
2813         in an incompatible way.
2814         Also don't GST_ERROR when there is a version mismatch, just
2815         regenerate the registry silently.
2816
2817 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
2818
2819         * configure.ac:
2820         Back to development - 0.10.18.1
2821
2822 === release 0.10.18 ===
2823
2824 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
2825
2826         * configure.ac:
2827           releasing 0.10.18, "So far away"
2828
2829 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
2830
2831         * configure.ac:
2832         * win32/common/config.h:
2833         0.10.17.4 pre-release
2834
2835 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
2836
2837         Patch by: Ole André Vadla Ravnås
2838             <ole dot andre dot ravnas at tandberg dot com>
2839
2840         * docs/gst/gstreamer-sections.txt:
2841         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
2842         (gst_poll_update_winsock_event_mask),
2843         (gst_poll_prepare_winsock_active_sets),
2844         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
2845         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
2846         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
2847         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
2848         (gst_poll_check_ctrl_commands), (gst_poll_wait):
2849         * gst/gstpoll.h:
2850         * win32/common/libgstreamer.def:
2851         Add new function gst_poll_fd_ignored() for improved Windows
2852         compatibility.
2853         Various minor fixes and cleanups. See #520808.
2854
2855 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
2856
2857         * gst/gstindex.c: (gst_index_entry_free):
2858         * gst/gstindex.h:
2859           Don't free key strings which we don't own. Fixes crash in
2860           gst_index_entry_free() (#522741).
2861
2862         * tests/check/Makefile.am:
2863         * tests/check/gst/.cvsignore:
2864         * tests/check/gst/gstindex.c: (test_index_entries),
2865           (gst_index_suite), (gst_index):
2866           Add unit test for the above.
2867
2868 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
2869
2870         * win32/common/libgstreamer.def:
2871         Remove symbols that were removed recently. Fixes bug #521740.
2872
2873 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
2874
2875         * configure.ac:
2876         * win32/common/config.h:
2877         0.10.17.3 pre-release
2878
2879 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2880
2881         Patch by: Ole André Vadla Ravnås
2882             <ole dot andre dot ravnas at tandberg dot com>
2883
2884         * docs/gst/gstreamer-sections.txt:
2885         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
2886         (gst_poll_update_winsock_event_mask), (gst_poll_new),
2887         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
2888         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
2889         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
2890         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
2891         (gst_poll_fd_can_write), (gst_poll_wait),
2892         (gst_poll_set_controllable), (gst_poll_restart),
2893         (gst_poll_set_flushing):
2894         * gst/gstpoll.h:
2895         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
2896         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
2897         (gst_net_time_provider_new):
2898         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
2899         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
2900         * tests/benchmarks/gstpollstress.c: (main):
2901         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
2902         Remove GstPollMode from the API, it does not make sense to let the
2903         application control this.
2904         Add support for Win32.
2905         Fix the testsuite. Fixes #520671.
2906
2907 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
2908
2909         Patch by: Ole André Vadla Ravnås
2910             <ole dot andre dot ravnas at tandberg dot com>
2911
2912         * gst/gstregistrybinary.c:
2913         Include io.h for write() and close() when building with MSVC. Fixes
2914         bug #520877.
2915
2916 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
2917
2918         * configure.ac:
2919         * gst/gst_private.h:
2920         * gst/gstconfig.h.in:
2921         * gst/gstregistry.h:
2922         * gst/gstregistrybinary.c:
2923         * win32/common/gstconfig.h:
2924           Move registry backend API to private headers where we can. Add
2925           fixme-0.11 comments for the others. Add stubs for the xml backend when
2926           using the binary to ensure they functions exists (they should not be
2927           used though). Fixes #520756.
2928
2929 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
2930
2931         * configure.ac:
2932         * win32/common/config.h:
2933         0.10.17.2 prelease
2934
2935 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
2936
2937         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2938         (gst_registry_binary_read_cache):
2939         * gst/gstregistryxml.c: (gst_registry_save):
2940         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
2941         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
2942         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
2943         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2944         Switch to using portabl gsize/gssize instead of size_t/ssize_t
2945         Fixes #520152
2946
2947 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
2948
2949         * gst/gstminiobject.c:
2950         Import gst_private.h before any other header that might include other
2951         glib headers. This fixes the build on windows using native compilers.
2952
2953 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2954
2955         * win32/common/gstconfig.h:
2956           Add here too, just for completeness.
2957
2958 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2959
2960         * configure.ac:
2961         * gst/gstconfig.h.in:
2962         * gst/gstregistry.h:
2963           Fix broken use of config.h-defined preprocessor directive in a public
2964           header file. Add a corresponding define to gstconfig.h, since we can't
2965           really remove those function declarations from the header file now
2966           (or can we? and why are they there in the first place?).
2967
2968 2008-03-03  Andy Wingo  <wingo@pobox.com>
2969
2970         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
2971         the new warning.
2972
2973         * gst/gststructure.c (gst_structure_from_string): Warn if
2974         structure_from_string didn't consume the whole string, but the
2975         caller did not provide an end pointer.
2976
2977 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
2978
2979         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
2980
2981         * gst/gstregistryxml.c: (read_string), (load_feature):
2982           Strings allocated by libxml2 should be freed with xmlFree(), not
2983           with g_free(). Fixes issues on windows in certain contexts (#519698).
2984
2985 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
2986
2987         * gst/gstinterface.c: (gst_element_implements_interface):
2988           Don't crash if the element supports the interface queried, but does
2989           not implement GstImplementsInterface. Fixes #519584.
2990
2991         * tests/check/Makefile.am:
2992         * tests/check/gst/.cvsignore:
2993         * tests/check/gst/gstinterface.c:
2994           Add unit test for the above.
2995
2996 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2997
2998         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2999         Small doc update.
3000
3001 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3002
3003         * gst/gstsegment.c: (gst_segment_set_seek),
3004         (gst_segment_to_stream_time):
3005         Improve some comment.
3006         Update variables where it makes more sense.
3007
3008 2008-02-29  Rene Stadler  <mail@renestadler.de>
3009
3010         * gst/gsturi.c: (gst_uri_handler_get_protocols):
3011         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
3012         URIHandlers implemented using language bindings.
3013
3014 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
3015
3016         * gst/gstelementfactory.h:
3017         * tests/check/elements/fakesink.c:
3018         * tests/check/elements/fakesrc.c: (setup_fakesrc):
3019         * tests/check/elements/fdsrc.c: (setup_fdsrc):
3020         * tests/check/elements/filesink.c: (setup_filesink):
3021         * tests/check/elements/filesrc.c: (setup_filesrc):
3022         * tests/check/elements/identity.c: (setup_identity):
3023         * tests/check/elements/tee.c:
3024         * tests/check/generic/sinks.c:
3025         * tests/check/generic/states.c: (setup), (teardown):
3026         * tests/check/gst/gst.c:
3027         * tests/check/gst/gstabi.c:
3028         * tests/check/gst/gstbin.c:
3029         * tests/check/gst/gstbus.c: (pull_messages):
3030         * tests/check/gst/gstcaps.c:
3031         * tests/check/gst/gstelement.c:
3032         * tests/check/gst/gstevent.c:
3033         * tests/check/gst/gstghostpad.c:
3034         * tests/check/gst/gstiterator.c:
3035         * tests/check/gst/gstmessage.c:
3036         * tests/check/gst/gstminiobject.c: (my_foo_init):
3037         * tests/check/gst/gstobject.c: (thread_name_object),
3038         (gst_object_suite):
3039         * tests/check/gst/gstpad.c:
3040         * tests/check/gst/gstplugin.c:
3041         * tests/check/gst/gstpoll.c:
3042         * tests/check/gst/gstquery.c:
3043         * tests/check/gst/gstsegment.c:
3044         * tests/check/gst/gststructure.c:
3045         * tests/check/gst/gstsystemclock.c:
3046         * tests/check/gst/gsttask.c:
3047         * tests/check/gst/gstutils.c:
3048         * tests/check/gst/gstvalue.c:
3049         * tests/check/gst/struct_hppa.h:
3050         * tests/check/gst/struct_i386.h:
3051         * tests/check/gst/struct_ppc32.h:
3052         * tests/check/gst/struct_ppc64.h:
3053         * tests/check/gst/struct_x86_64.h:
3054         * tests/check/libs/adapter.c: (create_and_fill_adapter):
3055         * tests/check/libs/basesrc.c:
3056         * tests/check/libs/controller.c: (GST_START_TEST):
3057         * tests/check/libs/gdp.c:
3058         * tests/check/libs/gstnetclientclock.c:
3059         * tests/check/libs/gstnettimeprovider.c:
3060         * tests/check/libs/libsabi.c:
3061         * tests/check/libs/struct_hppa.h:
3062         * tests/check/libs/struct_i386.h:
3063         * tests/check/libs/struct_ppc32.h:
3064         * tests/check/libs/struct_ppc64.h:
3065         * tests/check/libs/struct_x86_64.h:
3066         * tests/check/pipelines/cleanup.c:
3067         * tests/check/pipelines/simple-launch-lines.c:
3068         * tests/check/pipelines/stress.c:
3069         And correct even more valid sparse warnings.
3070
3071         * win32/common/libgstreamer.def:
3072         Add gst_poll_fd_init to the list of symbols.
3073
3074 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
3075
3076         * gst/gstconfig.h.in:
3077         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
3078         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
3079         (gst_check_log_critical_func), (gst_check_drop_buffers),
3080         (gst_check_element_push_buffer_list):
3081         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
3082         (gst_controller_get_type):
3083         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
3084         (gst_object_get_controller), (gst_object_get_control_source):
3085         * libs/gst/controller/gstinterpolationcontrolsource.c:
3086         (gst_interpolation_control_source_new):
3087         * libs/gst/controller/gstlfocontrolsource.c:
3088         (gst_lfo_control_source_new):
3089         * libs/gst/dataprotocol/dataprotocol.c:
3090         (gst_dp_event_from_packet_0_2):
3091         * plugins/elements/gstfdsrc.c:
3092         * plugins/elements/gstmultiqueue.c:
3093         * plugins/elements/gsttee.c:
3094         * plugins/elements/gsttypefindelement.c:
3095         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
3096         (gst_file_index_add_association):
3097         * plugins/indexers/gstmemindex.c:
3098         * tests/benchmarks/gstpollstress.c: (mess_some_more):
3099         * tests/check/elements/queue.c: (setup_queue):
3100         * tests/check/gst/gstpipeline.c:
3101         * tests/check/libs/collectpads.c: (setup), (teardown),
3102         (gst_collect_pads_suite):
3103         * tests/examples/adapter/adapter_test.c:
3104         * tests/examples/metadata/read-metadata.c: (make_pipeline):
3105         * tests/examples/xml/createxml.c:
3106         * tests/examples/xml/runxml.c:
3107         * tools/gst-inspect.c:
3108         * tools/gst-run.c:
3109         Correct all relevant warnings found by the sparse semantic code
3110         analyzer. This include marking several symbols static, using
3111         NULL instead of 0 for pointers, not using variable sized arrays
3112         on the stack, moving variable declarations to the beginning of
3113         a block and using "foo (void)" instead of "foo ()" for declarations.
3114
3115 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
3116
3117         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
3118         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3119         Don't reset GstPollFDs, this is not necessary at all.
3120
3121         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
3122         (delayed_restart), (delayed_control):
3123         Use GST_POLL_FD_INIT.
3124
3125 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3126
3127         * gst/gstpoll.c: (gst_poll_fd_init):
3128         * gst/gstpoll.h:
3129         Added Since tags.
3130
3131         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
3132         Use some more init macros.
3133
3134 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3135
3136         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3137         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3138         Use init macros and functions.
3139
3140 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3141
3142         * docs/gst/gstreamer-sections.txt:
3143         * gst/gstpoll.c: (gst_poll_fd_init):
3144         * gst/gstpoll.h:
3145         Add INIT macro and _init method for initializing the GstPollFD.
3146
3147 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
3148
3149         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
3150         (gst_fd_sink_update_fd):
3151         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3152         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
3153         (delayed_restart), (delayed_control):
3154         Initialize some uninitialized variables as spotted by valgrind.
3155
3156 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
3157
3158         * tests/benchmarks/Makefile.am:
3159         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
3160         (main):
3161         Add poll stress test.
3162
3163 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
3164
3165         Patch by: Peter Kjellerstedt <pkj at axis dot com>
3166
3167         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3168         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
3169         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
3170         * plugins/elements/gstfdsink.h:
3171         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
3172         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
3173         (gst_fd_src_unlock_stop), (gst_fd_src_create),
3174         (gst_fd_src_uri_set_uri):
3175         * plugins/elements/gstfdsrc.h:
3176         Port to GstPoll. See #505417.
3177
3178 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
3179
3180         * win32/common/libgstreamer.def:
3181         Add new gst_poll_ symbols to win32 defs.
3182
3183 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
3184
3185         * docs/libs/gstreamer-libs-sections.txt:
3186         * libs/gst/net/gstnetclientclock.c:
3187         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
3188         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
3189         (gst_net_client_clock_thread), (gst_net_client_clock_start),
3190         (gst_net_client_clock_stop), (gst_net_client_clock_new):
3191         * libs/gst/net/gstnetclientclock.h:
3192         * libs/gst/net/gstnettimeprovider.c:
3193         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
3194         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
3195         (gst_net_time_provider_start), (gst_net_time_provider_stop),
3196         (gst_net_time_provider_new):
3197         * libs/gst/net/gstnettimeprovider.h:
3198         Use a private stuct to not break ABI.
3199
3200 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
3201
3202         Patch by: Peter Kjellerstedt <pkj at axis dot com>
3203
3204         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
3205         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
3206         (gst_net_client_clock_thread), (gst_net_client_clock_start),
3207         (gst_net_client_clock_stop), (gst_net_client_clock_new):
3208         * libs/gst/net/gstnetclientclock.h:
3209         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
3210         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
3211         (gst_net_time_provider_start), (gst_net_time_provider_stop),
3212         (gst_net_time_provider_new):
3213         * libs/gst/net/gstnettimeprovider.h:
3214         Massive code removal and cleanups because of GstPoll.
3215         Fixes #505417.
3216
3217 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
3218
3219         * configure.ac:
3220         Add checks for poll, ppoll and pselect.
3221
3222         * docs/gst/gstreamer-docs.sgml:
3223         * docs/gst/gstreamer-sections.txt:
3224         Add docs for GstPoll.
3225
3226         * gst/Makefile.am:
3227         * gst/gst.h:
3228         * gst/gstpoll.c: (find_index), (selectable_fds),
3229         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
3230         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
3231         (gst_poll_set_mode), (gst_poll_get_mode),
3232         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
3233         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3234         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
3235         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
3236         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
3237         (gst_poll_fd_can_write), (gst_poll_wait),
3238         (gst_poll_set_controllable), (gst_poll_restart),
3239         (gst_poll_set_flushing):
3240         * gst/gstpoll.h:
3241         Add generic poll abstraction. We ideally don't want to have this in core
3242         here but in glib intead...
3243         This code will be used in various network elements and ultimately for
3244         the nanosecond precision monotonic clock (that's why it's here in core).
3245         It'll allow us to implement cancelable socket operations for windows too.
3246
3247         * tests/check/Makefile.am:
3248         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
3249         (delayed_stop), (delayed_restart), (delayed_flush),
3250         (delayed_control), (gst_poll_suite):
3251         Add GstPoll unit test.
3252
3253 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
3254
3255         * gst/gstfilter.c:
3256           Improve documentation of gst_filter_run(). Fixes #518627.
3257
3258 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3259
3260         * docs/README:
3261           Add a few lines about the new 'check-inspected-versions' target.
3262
3263 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
3264
3265         * tests/check/gst/gstevent.c:
3266           Add qos to the event test. Rename tcase/tsuite; is not only about
3267           custom events.
3268
3269 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
3270
3271         * plugins/elements/gstqueue.c:
3272           Ensure that buffer metadata is writeable, before modifying. Spotted by
3273           Mike.
3274
3275 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
3276
3277         * plugins/elements/gstqueue.c:
3278         * plugins/elements/gstqueue.h:
3279           When dropping buffers in leaky modes, mark next buffers we sent as
3280           DISCONT.
3281
3282 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
3283
3284         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
3285           Also, if mmap() fails that would be a READ error, not OPEN_READ.
3286
3287 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
3288
3289         * plugins/elements/Makefile.am:
3290         * plugins/elements/gstbufferstore.c:
3291         * plugins/elements/gstbufferstore.h:
3292         * plugins/elements/gsttypefindelement.h:
3293           Remove GstBufferStore, no idea why we were still building it.
3294           It's not used anywhere and superseded by GstAdapter.
3295
3296         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3297           (gst_file_src_create_mmap):
3298         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
3299           Printf format fixes for 64-bit integers.
3300
3301 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
3302
3303         * configure.ac:
3304         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
3305         We're not in 0.8 times anymore.
3306
3307 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
3308
3309         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
3310         (gst_check_element_push_buffer_list):
3311         * libs/gst/check/gstcheck.h:
3312         Make the declaration in the header for
3313         gst_check_element_push_buffer_list match the implementation.
3314
3315         Fix up spelling, grammar and wording of the documentation in a few
3316         places, and add the Since keyword to new API functions.
3317         Use g_list_delete_link instead of g_list_remove in
3318         gst_check_drop_buffers, since it's immeasurably more efficient.
3319
3320         * tests/check/elements/fakesrc.c: (GST_START_TEST):
3321         Use new gst_check_drop_buffers function where appropriate.
3322
3323         * win32/common/libgstbase.def:
3324         * win32/common/libgstreamer.def:
3325         Add new symbols gst_collect_pads_take_buffer, 
3326         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
3327         exports
3328
3329         Changelog surgery to add API keyword to new gst_check API.
3330
3331 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
3332
3333         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
3334         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
3335         Update pre-generated flex files with flex 2.3.34.
3336
3337 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
3338
3339         * gst/gstminiobject.c:
3340           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
3341           friendly to subclasses and not require them to know all internals
3342           of their parent class.
3343
3344 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
3345
3346         * docs/libs/gstreamer-libs-sections.txt:
3347         * libs/gst/base/gstcollectpads.c:
3348         * libs/gst/base/gstcollectpads.h:
3349           Add sub-buffer functions to collectpads. Fixes #516187.
3350           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
3351
3352 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
3353
3354         * gst/gstbuffer.c:
3355           Copy selected buffer-flags when creating subbuffers.
3356           Fixes #516395.
3357
3358 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
3359
3360         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
3361         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
3362         * gst/gstmessage.c: (gst_message_class_init),
3363         (gst_message_finalize):
3364         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
3365         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
3366         (gst_mmap_buffer_finalize):
3367         Properly chain up finalize functions to the parent class.
3368
3369 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
3370
3371         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
3372
3373         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
3374         (gst_index_set_resolver_full):
3375         * gst/gstindex.h:
3376         Add new function with option to dispose of user_data in resolver.
3377         Actually call the dispose function when finalizing the object and not
3378         just when changing the resolver/filter.
3379         API: GstIndex::gst_index_set_resolver_full()
3380
3381         * docs/gst/gstreamer-sections.txt:
3382         Add new function to docs. Fixes #515469.
3383
3384 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
3385
3386         * gst/gstindex.c: (gst_index_finalize):
3387         Chain up finalize to the parent class. Fixes leaking the GstObject
3388         name and other things.
3389
3390 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
3391
3392         * configure.ac:
3393         Make DISABLE_DEPRECATED defined *only* during CVS, not during
3394         pre-releases or releases.
3395
3396         * docs/faq/gst-uninstalled:
3397         Add gst-plugins-gl
3398
3399         * docs/random/release:
3400         Change one of the steps - we only upload core & base to Gnome FTP
3401
3402 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
3403
3404         * gst/gstconfig.h.in:
3405           Add 'id' for example.
3406
3407         * gst/gstpad.c:
3408         * gst/gstutils.c:
3409         * plugins/elements/gstfdsink.c:
3410           Link to signals. Doc and comment fixes.
3411
3412 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
3413
3414         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
3415         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
3416           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
3417           unused and unimplemented; finally, it is plugin features, not
3418           plugins, that have ranks.
3419           
3420 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
3421
3422         * gst/gstpluginfeature.h:
3423           Clarify GstRank range docs.
3424
3425 2008-02-05  David Schleef  <ds@schleef.org>
3426
3427         * gst/gst.c: Add a separate gst_deinitialized that prevents
3428           gst_init() from being called after gst_deinit().  Fixes #509559
3429
3430 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
3431
3432         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
3433         (gst_bin_class_init):
3434         * gst/gstelement.c: (gst_element_base_class_init),
3435         (gst_element_class_add_pad_template):
3436         * gst/gstpadtemplate.c: (gst_pad_template_init):
3437         * gst/gstpipeline.c: (gst_pipeline_get_type),
3438         (gst_pipeline_base_init), (gst_pipeline_class_init):
3439         * libs/gst/base/gstbasesink.c:
3440         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
3441         (gst_base_src_base_init), (gst_base_src_class_init):
3442         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
3443         (gst_capsfilter_class_init):
3444         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
3445         (gst_fake_sink_class_init):
3446         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
3447         (gst_fake_src_class_init):
3448         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
3449         (gst_fd_sink_class_init):
3450         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
3451         (gst_fd_src_class_init):
3452         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
3453         (gst_file_sink_class_init):
3454         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
3455         (gst_file_src_class_init):
3456         * plugins/elements/gstidentity.c: (gst_identity_base_init),
3457         (gst_identity_class_init):
3458         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3459         (gst_multi_queue_class_init):
3460         * plugins/elements/gstqueue.c: (gst_queue_base_init),
3461         (gst_queue_class_init):
3462         * plugins/elements/gsttee.c: (gst_tee_base_init),
3463         (gst_tee_class_init):
3464         * plugins/elements/gsttypefindelement.c:
3465         (gst_type_find_element_base_init),
3466         (gst_type_find_element_class_init):
3467         * tests/check/gst/gstelement.c: (gst_element_suite):
3468         Revert previous changes to the behaviour of GstPadTemplates, etc
3469         and the possiblity to call them in class_init as it breaks too
3470         many elements. Reopens bug #491501.
3471
3472         Should be applied again for 0.11, thus added a few FIXME 0.11 at
3473         several places.
3474
3475 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
3476
3477         * tools/gst-launch.c:
3478         Dump one graph per pipeline state-change and state change name
3479         (if GST_DEBUG_DUMP_DOT_DIR is set).
3480
3481 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
3482
3483         * gst/gstpad.c:
3484         * tests/check/gst/gstpad.c:
3485         Be sure that we have a new copy of the caps and not
3486         reffed caps from a template
3487
3488 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
3489
3490         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
3491         * gst/gstpipeline.c: (gst_pipeline_get_type),
3492         (gst_pipeline_class_init):
3493         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
3494         (gst_base_sink_class_init):
3495         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
3496         (gst_base_src_class_init):
3497         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3498         (gst_base_transform_class_init):
3499         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3500         (gst_collect_pads_class_init):
3501         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
3502         * libs/gst/net/gstnettimeprovider.c:
3503         (gst_net_time_provider_base_init),
3504         (gst_net_time_provider_class_init):
3505         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
3506         (gst_capsfilter_class_init):
3507         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
3508         (gst_fake_sink_class_init):
3509         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
3510         (gst_fake_src_class_init):
3511         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
3512         (gst_fd_sink_class_init):
3513         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
3514         (gst_fd_src_class_init):
3515         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
3516         (gst_file_sink_class_init):
3517         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
3518         (gst_file_src_class_init):
3519         * plugins/elements/gstidentity.c: (gst_identity_base_init),
3520         (gst_identity_class_init):
3521         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3522         (gst_multi_queue_class_init):
3523         * plugins/elements/gstqueue.c: (gst_queue_base_init),
3524         (gst_queue_class_init):
3525         * plugins/elements/gsttee.c: (gst_tee_base_init),
3526         (gst_tee_class_init):
3527         * plugins/elements/gsttypefindelement.c:
3528         (gst_type_find_element_base_init),
3529         (gst_type_find_element_class_init):
3530         Don't use base_init where not absolutely necessary. For example it's
3531         not necessary anymore for adding pad templates or setting element
3532         details.
3533
3534         Leave empty base_init functions in several places as GST_BOILERPLATE
3535         still defines and uses them.
3536
3537 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
3538
3539         * gst/gstelement.c: (gst_element_base_class_init),
3540         (gst_element_class_add_pad_template):
3541         * gst/gstpadtemplate.c:
3542         Make it possible (and recommended) to set element details and add
3543         pad templates in the class_init functions by copying the details/pad
3544         templates in GstElement's base_init.
3545
3546         Also make it possible to replace existing pad templates by adding
3547         a new one with the same name. This was done in a hackish fashion
3548         in same elements before already.
3549
3550         Don't reference pad templates that are added a second time. A
3551         new pad template has a refcount of one and is not floating anymore
3552         and to be owned by the element's class. Make this more explicit by
3553         mentioning it in the docs of gst_element_class_add_pad_template().
3554
3555         These changes are backwards compatible. Fixes bug #491501.
3556
3557         * tests/check/gst/gstelement.c:
3558         Add unit test for setting element details, adding pad templates and
3559         replacing them in a subclass.
3560
3561 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
3562
3563         * tools/gst-inspect.c: (print_interfaces),
3564         (print_element_properties_info), (print_pad_info),
3565         (print_signal_info), (print_element_info):
3566         Fix a few memory leaks.
3567
3568 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3569
3570         * docs/libs/gstreamer-libs-sections.txt:
3571         * libs/gst/check/gstcheck.c:
3572         * libs/gst/check/gstcheck.h:
3573         Add more functions for unit testing: gst_check_drop_buffers,
3574         gst_check_caps_equal, gst_check_element_push_buffer_list,
3575         gst_check_element_push_buffer
3576         API: gst_check_drop_buffers
3577         API: gst_check_caps_equal
3578         API: gst_check_element_push_buffer_list
3579         API: gst_check_element_push_buffer
3580
3581 2008-02-01  Julien Moutte  <julien@fluendo.com>
3582
3583         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
3584         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
3585         (gst_index_finalize), (gst_index_entry_free),
3586         (gst_index_add_association): Fix memory leaks.
3587         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
3588         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
3589         (gst_mem_index_free_format), (gst_mem_index_free_id),
3590         (gst_mem_index_finalize): Fix memory leaks.
3591         * win32/common/config.h: Updated to CVS HEAD.
3592
3593 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
3594
3595         * docs/README:
3596           Some more details about how the plugin docs works.
3597
3598         * docs/plugins/gstreamer-plugins-sections.txt:
3599           Whitespace cleanup.
3600
3601 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
3602
3603         * gst/parse/grammar.tab.pre.c:
3604         * gst/parse/grammar.tab.pre.h:
3605         * gst/parse/grammar.y:
3606         * gst/parse/lex._gst_parse_yy.pre.c:
3607           Add delayed set-property. This allows to set properties on dynamicaly
3608           created objects (pads in videomxer). Fixes #509391.
3609
3610 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3611
3612         * gst/gstutils.c:
3613         Check if caps are not NULL (fix bug #510194)
3614
3615 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
3616
3617         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
3618         (gst_base_sink_get_position_paused):
3619         Add fixme regarding EOS in pull mode.
3620         Fix position reporting in PAUSED for negative rates.
3621
3622 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
3623
3624         * gst/gstminiobject.c: (gst_mini_object_replace):
3625         When replacing a miniobject, do a quick equality check first so that we
3626         can avoid a ref/unref pair.
3627
3628 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
3629
3630         * docs/design/part-synchronisation.txt:
3631         Update some docs.
3632
3633         * docs/plugins/Makefile.am:
3634         * docs/plugins/gstreamer-plugins-docs.sgml:
3635         * docs/plugins/gstreamer-plugins-sections.txt:
3636         * plugins/elements/gstmultiqueue.c:
3637         Add multiqueue to the docs.
3638
3639 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3640
3641         * configure.ac:
3642           Back to CVS
3643
3644 === release 0.10.17 ===
3645
3646 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
3647
3648         * configure.ac:
3649           releasing 0.10.17, "Due Negligence"
3650
3651 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3652
3653         * gst/gstutils.c:
3654         Revert caps != NULL check temporarily for 0.10.17 release.
3655
3656 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
3657
3658         * gst/gstutils.c:
3659         Check if caps are not NULL (fix bug #510194)
3660
3661 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3662
3663         * gst/gstutils.c:
3664         Fix compilation on systems that have posix timers but no
3665         monotonic clock.
3666         Fixes: #512715
3667         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
3668         dot net>
3669
3670 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3671
3672         * tools/gst-inspect.c:
3673         Revert previous commit in preparation for an impromptu 0.10.17 release
3674
3675 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
3676
3677         * tools/gst-inspect.c: (print_interfaces),
3678         (print_element_properties_info), (print_pad_info),
3679         (print_signal_info), (print_element_info):
3680         Fix a few memory leaks.
3681
3682 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
3683
3684         * configure.ac:
3685         Back to CVS
3686
3687 === release 0.10.16 ===
3688
3689 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
3690
3691         * configure.ac:
3692           releasing 0.10.16, "Special Dispensation"
3693
3694 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3695
3696         * configure.ac:
3697           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
3698           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
3699           not fail when trying to crosscompile on OpenEmbedded (#511750).
3700
3701 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
3702
3703         * docs/manuals.mak:
3704         Use $(MAKE) instead of make to fix the build if GNU make is
3705         called different. Fixes bug #510747.
3706
3707 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3708
3709         * gst/gstplugin.c: (_gst_plugin_initialize):
3710           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
3711           again, which I broke two commits ago when changing the API
3712           of gst_plugin_register_static(): the g_list_foreach() in
3713           _gst_plugin_register_static still assumed the old function
3714           signature and would therefore fail (re-fixes #510187).
3715
3716         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
3717           (_gst_plugin_register_static), (gst_plugin_register_static):
3718           Revert the (technically correct) change to call g_thread_init() from
3719           the pre-main() constructor. This will break programs which call
3720           g_thread_init() without an if (!g_thread_supported()) guard in their
3721           main function. We could just blame it on GLib or the application, but
3722           it's probably best to just avoid this altogether and simply not use
3723           any GLib functions here and use plain old malloc() with a simple
3724           array to store the plugins to register later when gst_init() is
3725           finally called (re-fixes #510187).
3726
3727         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
3728           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
3729           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
3730           (GST_START_TEST), (gst_plugin_suite):
3731           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
3732           works.
3733
3734 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3735
3736         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
3737           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
3738           This makes gtk-doc complain, but results in slightly better
3739           compiler errors. The old _gst_plugin_register_static() is
3740           still guarded, so there'll be a compiler warning about that
3741           instead. Fixes #510187 too.
3742
3743 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3744
3745         * gst/gst.c: (init_post):
3746         * gst/gstplugin.c: (_gst_plugin_register_static),
3747           (gst_plugin_register_static), (_gst_plugin_initialize):
3748         * gst/gstplugin.h: (GstPluginFilter):
3749           Change API of gst_plugin_register_static() to not take
3750           a GstPluginDesc, but rather just take all the arguments
3751           in a GstPluginDesc directly. This is more intuitive and
3752           avoids certain mistakes when porting code from
3753           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
3754           Fixes #510187.
3755
3756         * tests/check/gst/gstplugin.c:
3757           Fix up for changed API.
3758
3759 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3760
3761         * docs/faq/legal.xml:
3762           Update FAQ, Totem actually has an exception these days.
3763
3764 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
3765
3766         * win32/common/libgstreamer.def:
3767         Add new API declarations
3768
3769 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
3770
3771         * gst/gstminiobject.c:
3772           Spelling fixes for the API docs.
3773
3774 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
3775
3776         * libs/gst/base/gstbasetransform.c:
3777           Fix long property description for QoS.
3778
3779 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
3780
3781         * gst/gst.c:
3782         _gst_trace_on is already provided by gsttrace.h, no need to declare
3783         it ourselves.
3784
3785         * docs/libs/gstreamer-libs-sections.txt:
3786         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
3787         and remove strange tcase_add_test which is outputting a warning.
3788
3789         * libs/gst/check/gstcheck.c:
3790         * libs/gst/check/gstcheck.h:
3791         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
3792         and define them in gstcheck.c instead of having every .c file whcih
3793         includes gstcheck.h be defining its own copy and relying on symbol
3794         interposing to marry them all, which doesn't work on Solaris.
3795
3796         * tests/check/elements/identity.c: (GST_START_TEST):
3797         Don't define 'buffers' locally, it comes from libgstcheck.
3798
3799         * tests/check/generic/sinks.c: (send_buffer):
3800         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
3801
3802         * tests/check/gst/gststructure.c: (GST_START_TEST):
3803         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
3804         * tests/check/gst/gstutils.c: (GST_START_TEST):
3805         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3806         Add a bunch of casts to make various constants fit the types
3807         they're being assigned to.
3808
3809 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
3810
3811         * gst/gstchildproxy.c:
3812           Improve docs and add some ideas for making this more general-purpose.
3813
3814 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
3815
3816         * gst/gst_private.h: (GST_CAT_TYPES):
3817           Add GST_CAT_TYPES, for consistency, and so that the other
3818           debug categories don't make fun of it. Spotted by Saur on IRC.
3819
3820 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
3821
3822         * gst/parse/Makefile.am:
3823           Move types.h from EXTRA_DIST to noinst_HEADERS.
3824
3825 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
3826
3827         * autogen.sh:
3828           Add -Wno-portability to the automake parameters to stop warnings
3829           about GNU make extensions being used. We require GNU make in almost
3830           every Makefile anyway.
3831
3832         * configure.ac:
3833           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
3834           at the same time is required for per target flags.
3835
3836 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3837
3838         * gst/gstmacros.h:
3839           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
3840           __GNUC__ is defined before using it.
3841
3842 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3843
3844         * docs/gst/gstreamer-sections.txt:
3845         * gst/gst.c: (init_post):
3846         * gst/gstplugin.c: (_gst_plugin_register_static),
3847           (gst_plugin_register_static), (_gst_plugin_initialize),
3848           (gst_plugin_register_func):
3849         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
3850           API: add gst_plugin_register_static() and deprecate
3851           GST_PLUGIN_DEFINE_STATIC, since it's not portable
3852           (#498924).
3853           Also, in _gst_plugin_register_static(), make sure to call
3854           g_thread_init() before calling GLib functions such as
3855           g_list_append() if we're not initialised yet, since that
3856           may lead to random crashes with older GSlice/GLib versions.
3857
3858         * tests/check/gst/gstplugin.c:
3859           Adapt unit test to above changes.
3860
3861 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3862
3863         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
3864         * gst/gstcaps.c: (gst_caps_to_string):
3865         * gst/gststructure.c: (GST_ASCII_IS_STRING),
3866           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
3867           Yet another gratuitous GString micro-optimisation: add a (private)
3868           function that serialises a structure appending to an existing
3869           GString, so that when we serialise caps we don't need to alloc+free
3870           a throwaway GString for each structure (each of which also entailing
3871           multiple reallocs on the way); also use g_string_sized_new() in
3872           various places with an approximate string length to avoid reallocs
3873           within GString. See #500143.
3874
3875 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3876
3877         * gst/gststructure.c: (gst_structure_id_set_value):
3878           Always check UTF-8 conformance of structure strings and not only
3879           if the debugging system is enabled; reasoning: the behaviour of
3880           the actual code shouldn't really change depending on whether the
3881           debugging system is enabled or not (#508291).
3882
3883 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
3884
3885         * Makefile.am:
3886           Remove old coverage target in favour of "make lcov".
3887
3888 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3889
3890         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3891         (gst_base_src_loop):
3892         The start segment for reverse playback goes from start to last_stop.
3893
3894 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3895
3896         Patch by: Peter Kjellerstedt <pkj axis com>
3897
3898         * gst/gstclock.h:
3899         Cast the results from the timeval/spec_to_time macros to what the
3900         docs say it casts to, a GstClockTime. fixes #508175.
3901
3902 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3903
3904         * gst/gstbuffer.c:
3905         Update some comments.
3906
3907         * tools/gst-inspect.c: (print_element_properties_info):
3908         Improve printing of flags.
3909
3910 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3911
3912         * libs/gst/base/gstbasetransform.c:
3913           (gst_base_transform_transform_size):
3914           Print element name with g_warning() if there's a problem
3915           with the unit size.
3916
3917 2008-01-07  David Schleef  <ds@schleef.org>
3918
3919         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
3920
3921         * libs/gst/controller/gstcontroller.h:
3922         * libs/gst/controller/gstcontrolsource.h:
3923         * libs/gst/controller/gstinterpolationcontrolsource.h:
3924         * libs/gst/controller/gstlfocontrolsource.h:
3925         * libs/gst/dataprotocol/dataprotocol.h:
3926           Fix empty prototypes.  Fixes bug #507957.
3927
3928 2008-01-07  David Schleef  <ds@schleef.org>
3929
3930         * docs/faq/dependencies.xml: Fix typo.
3931
3932 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3933
3934         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
3935         (gst_base_src_loop):
3936         Don't update the last_stop position in do_seek, that's the position we
3937         did a seek to.
3938         Read backwards when we have a negative rate.
3939
3940         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
3941         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
3942         (filesrc_suite):
3943         Add check for reverse reading.
3944
3945 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
3946
3947         Patch by: Alexis Ballier <aballier at gentoo org>
3948
3949         * tests/check/gst/gstabi.c:
3950         * tests/check/gst/struct_ppc64.h:
3951         * tests/check/libs/libsabi.c:
3952         * tests/check/libs/struct_ppc64.h:
3953           Decide which header to include based on the userland ABI target
3954           and not the kernel/cpu. Fix up structure sizes of ppc64 header
3955           for 64-bit userland (#503590).  Might need something similar for
3956           x86 too.
3957
3958 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3959
3960         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
3961           Log the reason why fopen fails in addition to the fact that it failed.
3962           
3963 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
3964
3965         * gst/parse/parse.l:
3966         Use "%option never-interactive" to prevent useless calls to isatty()
3967         on every input when parsing. Also use "%option noinput" to not define
3968         the static input/yyinput functions which we don't use anyway. This
3969         removes a compiler warning with gcc 4.3 and saves some bytes in the
3970         library.
3971         
3972         * gst/parse/lex._gst_parse_yy.pre.c:
3973         Regenerated for the above change.
3974
3975 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3976
3977         * gst/gstpad.c: (fixate_value):
3978         Don't crash when trying to fixate and empty list.
3979         Fixes #506643.
3980
3981 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
3982
3983         * docs/faq/gst-uninstalled:
3984         Clarify the comments to make the usage of this script and what it
3985         does easier to understand.
3986
3987 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3988
3989         * tools/gst-plot-timeline.py:
3990         Add more options to gst-plot-timeline
3991
3992 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
3993
3994         * docs/design/part-synchronisation.txt:
3995         Some more info on how the stream_time in GstBaseSink is done.
3996
3997 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
3998
3999         * tests/check/generic/sinks.c: (gst_sinks_suite):
4000           Put back the tcase_set_timeout(), apparently it's needed after
4001           all; fix it up in a way that makes things work with valgrind too.
4002
4003 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4004
4005         * gst/gstdebugutils.c:
4006           Add warning when failed to open file for writing.
4007
4008 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4009
4010         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
4011
4012         * gst/gstvalue.c: (gst_value_is_fixed):
4013           Optimisation: bail out of the loop as early as possible (#500143).
4014
4015 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4016
4017         * gst/gstcaps.c: (gst_caps_to_string):
4018         * gst/gstinfo.c: (gst_debug_construct_term_color):
4019         * gst/gstparse.c: (gst_parse_launchv):
4020         * gst/gstutils.c: (gst_util_dump_mem):
4021         * gst/gstvalue.c: (gst_value_serialize_any_list),
4022           (gst_value_transform_any_list_string):
4023           Bunch of gratuitous nano-optimisations.
4024
4025 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4026
4027         * tests/check/generic/sinks.c: (async_done_func),
4028           (async_done_eos_func):
4029           Fix leak in unit test (bus sync handler must unref the message
4030           if it returns GST_BUS_DROP). Don't fiddle with the default test
4031           timeout, this is smaller than the current preconfigured value
4032           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
4033           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
4034
4035 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4036
4037         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
4038
4039         * configure.ac:
4040         Check for stdio_ext.h for the filesink changes.
4041
4042         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
4043         (gst_file_sink_class_init), (gst_file_sink_init),
4044         (gst_file_sink_dispose), (gst_file_sink_set_property),
4045         (gst_file_sink_get_property), (gst_file_sink_open_file),
4046         (gst_file_sink_close_file):
4047         * plugins/elements/gstfilesink.h:
4048         Add two properties to control the buffering mode and size.
4049         API: GstFileSink::buffer-mode
4050         API: GstFileSink::buffer-size
4051         Fixes #500150.
4052
4053 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4054
4055         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
4056         Add some more docs to explain why a FIXME was wrongly added. 
4057
4058 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
4059
4060         * gst/gstobject.c:
4061           Fix typo in the gst_object_{ref,unref} documentation.
4062
4063 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
4064
4065         * tests/check/libs/controller.c:
4066         * tests/check/libs/typefindhelper.c:
4067         * tests/check/pipelines/parse-launch.c:
4068           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
4069           going to be deprecated (see #498924).
4070
4071 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
4072
4073         * gst/gsttypefind.c: (gst_type_find_register):
4074           Make gst_type_find_register work for static typefind functions,
4075           ie. allow passing plugin == NULL (prerequisite for #498924).
4076
4077         * gst/gstelementfactory.c: (gst_element_register):
4078           Small docs addition.
4079
4080 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
4081
4082         * gst/gstpad.c: (gst_pad_dispose):
4083         Really unlink the peer pad instead of setting the peer pointer to NULL
4084         when we dispose the pad.
4085         This correctly calls the unlink functions and makes sure that the peer
4086         does not have a handle to invalid memory. See #504671.
4087
4088         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
4089         Add testsuite for above case.
4090
4091 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
4092
4093         Patch by: Peter Kjellerstedt <pkj axis com>
4094
4095         * libs/gst/check/gstcheck.h:
4096           Fix detection of the check version we're compiling against (would
4097           otherwise break if check goes v0.10.0); correctly report the
4098           name of the failed test again in case of failure, instead of
4099           just 'tf' (fixes #504499).
4100
4101 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
4102
4103         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
4104         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4105         (gst_base_src_loop), (gst_base_src_set_flushing),
4106         (gst_base_src_change_state):
4107         Allow sending EOS to the source to make it send out an EOS event from
4108         the streaming thread.
4109         Update docs and deprecate the old NULL/READY shutdown method.
4110
4111         * tests/check/libs/basesrc.c: (GST_START_TEST),
4112         (gst_basesrc_suite):
4113         Add unit test for controlled shutdown.
4114
4115 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
4116
4117         * docs/design/part-synchronisation.txt:
4118         Small updates.
4119
4120         * gst/gstsegment.c: (gst_segment_set_seek),
4121         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
4122         (gst_segment_to_running_time):
4123         The seek format can be different from the segment format when the start
4124         and stop values are not to be updated, when we only do a rate change for
4125         example.
4126
4127         * tests/check/gst/gstsegment.c: (GST_START_TEST),
4128         (gst_segment_suite):
4129         Add a testcase for the rate-only seeks, checking that the format is
4130         correctly ignored when start and stop are not updated.
4131
4132 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
4133
4134         Patch by: Matthias Bolte <photon at mail dot upb dot de>
4135
4136         * win32/vs8/grammar.vcproj:
4137         * win32/vs8/libgstcontroller.vcproj:
4138         * win32/vs8/libgstreamer.vcproj:
4139         Fix compilation with VS8 and include some missing files.
4140
4141 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4142
4143         * gst/gsttaglist.c:
4144           Small docs addition: mention that the strings returned by
4145           gst_tag_list_get_string*() are in UTF-8 encoding.
4146
4147 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4148
4149         * Makefile.am:
4150           The check-exports stuff moved to common/win32.mak, so include that.
4151
4152 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
4153
4154         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4155         (gst_base_src_perform_seek), (gst_base_src_get_range),
4156         (gst_base_src_set_playing), (gst_base_src_change_state):
4157         Make _wait_playing() not check any variables so that we can call this
4158         function from subclasses. Move the checks elsewhere similar to
4159         _wait_preroll() in basesink.
4160         Add some debugging.
4161         Only signal the LIVE cond when we are going back to PLAYING.
4162
4163 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4164
4165         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
4166           Use g_remove() and g_rename(). Check result of g_rename(), and
4167           don't leak the open file descriptor if we error out when writing.
4168
4169         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
4170           Must check the return value of close() after writing out the new
4171           registry file.  Sometimes write problems such as out-of-diskspace
4172           are only reported when the file is closed and not already during
4173           the write.  This may have caused partial/broken registry files in
4174           some rare circumstances. Should fix #503675.
4175
4176 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
4177
4178         * docs/gst/.cvsignore:
4179         * docs/libs/.cvsignore:
4180         * docs/plugins/.cvsignore:
4181         Ignore files generated by new common/* modifications
4182
4183 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
4184
4185         * win32/common/libgstbase.def:
4186           Yes, you can also have a <TAB> if you want.
4187
4188 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
4189
4190         * win32/common/libgstbase.def:
4191           Add new basetransform API to win export file.
4192
4193 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
4194
4195         * tests/check/gst/gstbin.c:
4196           Adjust the test to the refcount change two days ago.
4197
4198 2007-12-14  David Schleef  <ds@schleef.org>
4199
4200         * docs/faq/getting.xml: Fix typo.
4201
4202 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
4203
4204         * docs/libs/gstreamer-libs-sections.txt:
4205         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
4206           (gst_base_transform_prepare_output_buffer),
4207           (gst_base_transform_set_gap_aware):
4208         * libs/gst/base/gstbasetransform.h:
4209           API: Add gst_base_transform_set_gap_aware() to control whether
4210           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
4211           get buffers with this flag at all. Fixes #503231.
4212
4213 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
4214
4215         * libs/gst/base/gstbasesink.c:
4216         * libs/gst/base/gstbasesrc.c:
4217         * libs/gst/base/gstbasetransform.c:
4218           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
4219           thread. Correct log message in gstbasesrc.c.
4220
4221 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
4222
4223         * gst/gstutils.c: (element_find_unconnected_pad):
4224           Fix possible compiler warning (#503417).
4225
4226 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
4227
4228         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
4229           Don't use GST_CAT_EVENT here for logging, it makes no sense.
4230
4231 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
4232
4233         * tools/gst-inspect.c: (print_element_properties_info):
4234           Add support for GstFraction properties.
4235
4236 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4237
4238         * Makefile.am:
4239           Add check-exports target and run it as part of 'make check'
4240           (see #499140 and #493983).
4241
4242         * gst/gst_private.h:
4243         * gst/gstelementfactory.h:
4244         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
4245         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
4246           (_priv_gst_in_valgrind):
4247         * gst/gstinfo.h: (GstLogFunction):
4248         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
4249           (gst_type_find_register):
4250         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
4251           (gst_type_find_factory_get_type):
4252         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
4253           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
4254           (gst_controller_new_valist), (gst_controller_new_list),
4255           (_gst_controller_dispose), (_gst_controller_class_init):
4256         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
4257         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
4258           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
4259           (gst_object_get_controller), (gst_object_set_controller),
4260           (gst_object_suggest_next_sync), (gst_object_sync_values),
4261           (gst_object_set_control_source), (gst_object_get_control_source),
4262           (gst_object_get_value_arrays), (gst_object_get_value_array),
4263           (gst_object_get_control_rate), (gst_object_set_control_rate):
4264         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
4265         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
4266           Make some functions that should be static static; rename some
4267           private symbols so that they don't get exported; add some FIXME
4268           comments so we can move accidentally exported functions into
4269           our private section in 0.11.
4270
4271         * win32/common/libgstreamer.def:
4272           Add gst_utils_get_timestamp().
4273
4274 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
4275
4276         * gst/gstvalue.c:
4277         * gst/gstvalue.h:
4278           Add more missing "Since:" tags to docs.
4279
4280 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
4281
4282         * gst/gstutils.c:
4283           Add mising "Since:" to docs.
4284
4285 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
4286
4287         * gst/gstplugin.c:
4288           Include "glib-compat-private.h" to fix the build on system with
4289           glib < 2.10. Fixes #503131.
4290
4291 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
4292
4293         * gst/gstutils.c:
4294         * gst/gstutils.h:
4295           Actually its not PURE as it gets the time from elsewhere.
4296
4297 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
4298
4299         * docs/gst/gstreamer-sections.txt:
4300         * gst/gstclock.h:
4301         * gst/gstdebugutils.c:
4302         * gst/gstinfo.c:
4303         * gst/gstutils.c:
4304         * gst/gstutils.h:
4305         * libs/gst/base/gstbasesink.c:
4306         * tools/gst-launch.c:
4307           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
4308           uses as we don't have HAVE_POSIX_TIMERS in public headers.
4309           Thanks Tim for spotting.
4310           API: gst_util_get_timestamp
4311
4312 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
4313
4314         * configure.ac:
4315           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
4316
4317 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
4318
4319         * gst/gststructure.c: (gst_structure_validate_name),
4320           (gst_structure_new_valist), (gst_structure_parse_value),
4321           (gst_structure_from_string):
4322           Don't crash in _from_string() if the structure name is not valid
4323           (fixes #501560).  Allow structure names to start with a number
4324           again (this apparently broke the ubuntu codec installer).
4325
4326         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
4327           (GST_START_TEST):
4328           Add unit test for the crash; update unit tests for new behaviour.
4329
4330 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
4331
4332         * gst/gstutils.c:
4333         Clarify gst_element_get_compatible_pad() documentation.
4334         Fixes #500919.
4335
4336 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
4337
4338         * tests/check/Makefile.am:
4339           Don't forget to dist {gst,libs}/struct_hppa.h.
4340
4341 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4342
4343         * libs/gst/base/gstbasesink.c:
4344           Use new API to get elapsed time.
4345
4346 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4347
4348         * gst/gstdebugutils.c:
4349         * gst/gstinfo.c:
4350           Fix wrong order of args in GST_CLOCK_DIFF() usage.
4351
4352         * tools/gst-launch.c:
4353           Use new API to get elapsed time.
4354
4355 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4356
4357         * docs/gst/gstreamer-sections.txt:
4358         * gst/gstclock.h:
4359         * gst/gstdebugutils.c:
4360         * gst/gstinfo.c:
4361           Rename new API + ChangeLog surgery to remove old name from last entry..
4362
4363 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4364
4365         * docs/gst/gstreamer-sections.txt:
4366         * gst/gstclock.h:
4367         * gst/gstdebugutils.c:
4368         * gst/gstinfo.c:
4369           Now hide the different clock stuff behind a macro.
4370
4371 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4372
4373         * configure.ac:
4374         * gst/gstdebugutils.c:
4375         * gst/gstinfo.c:
4376           Apply the posix-timer check from #361155. Conditionally use the posix
4377           timer for logging. This gives better timestamp precission, less
4378           overhead and no ntp jitter.
4379
4380 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
4381
4382         * gst/gstminiobject.c: (gst_mini_object_get_type),
4383         (gst_mini_object_class_init), (gst_mini_object_copy_default),
4384         (gst_mini_object_finalize), (gst_mini_object_copy),
4385         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
4386         (gst_mini_object_replace), (param_mini_object_validate),
4387         (gst_param_spec_mini_object_get_type):
4388         Some cleanup and checking against invalid function parameters.
4389
4390 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
4391
4392         * docs/gst/gstreamer-sections.txt:
4393         * gst/gstclock.h:
4394         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4395         (gst_systemclock_suite):
4396         Start merging in the easy bits of #361155, the monotonic clock patch.
4397         This one adds a few handy macros with docs and a testsuite.
4398
4399 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
4400
4401         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
4402         Be a bit smarter when seeking, like, don't try to do a seek when it's
4403         not needed. This avoids errors when the file is not seekable.
4404         Fixes #499771.
4405
4406 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
4407
4408         * docs/gst/gstreamer-docs.sgml:
4409         * docs/gst/gstreamer-sections.txt:
4410         * docs/gst/gstreamer.types.in:
4411         * gst/Makefile.am:
4412         * gst/gst.h:
4413         * gst/gstpreset.c:
4414         * gst/gstpreset.h:
4415         * plugins/elements/gstqueue.c:
4416           Due to popular request remove preset interface again. :-(.
4417
4418 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
4419
4420         * tools/gst-inspect.c:
4421           Print 'default value' for enums and flags too.
4422
4423 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
4424
4425         * docs/random/ensonic/profiling.txt:
4426           More ideas.
4427
4428         * gst/gstbin.c:
4429           Fix typo and give better log output.
4430
4431         * gst/gstdebugutils.c:
4432         * gst/gstdebugutils.h:
4433           More ideas, make graphs a bit smaller and fix param name in macro.
4434
4435 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
4436
4437         * gst/gstpreset.c:
4438           Try harder to use the return value from fgets().
4439
4440 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
4441
4442         * gst/gstpreset.c:
4443           For theses two fgets we handle the error below.
4444
4445 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
4446
4447         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
4448         Only send upstream events upstream. Fixes #498746.
4449
4450 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
4451
4452         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
4453
4454         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4455         (gst_identity_init), (gst_identity_transform_ip),
4456         (gst_identity_set_property), (gst_identity_get_property):
4457         * plugins/elements/gstidentity.h:
4458         Add property to disable handoff signal emission. Fixes #498694.
4459         API: GstIdentity::signal-handoffs
4460
4461 2007-11-21  Julien Moutte  <julien@fluendo.com>
4462
4463         * docs/faq/gst-uninstalled: Yet another missing library for the
4464         uninstalled script (fft)
4465
4466 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
4467
4468         * docs/faq/developing.xml:
4469         Add a question about how to submit new translations.
4470
4471         * docs/random/release:
4472         Update the contact email address for the Translation Project
4473
4474         * plugins/elements/gstfdsrc.c:
4475         The parent_class for fdsrc is pushsrc, not GstElement.
4476
4477 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
4478
4479         * gst/gstpreset.c:
4480           Plug a leak and fix saving.
4481
4482 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
4483
4484         * docs/gst/gstreamer-sections.txt:
4485         Add new gst_preset__get_property_names() function to the docs
4486         to fix the build.
4487
4488 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
4489
4490         * gst/gstpreset.c:
4491         * gst/gstpreset.h:
4492           Change _get_preset_names API to return a strv with copies. Add
4493           _get_property_names to allow implementations to filter and provide
4494           good default implementation.
4495
4496 2007-11-20  Julien MOUTTE  <julien@moutte.net>
4497
4498         * docs/faq/gst-uninstalled: Add another library to the uninstalled
4499         script (sdp).
4500
4501 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
4502
4503         * gst/gstpreset.c:
4504           More cleanups, docs, and TODOs from comments that now slowly come in.
4505
4506 2007-11-19  Julien MOUTTE  <julien@moutte.net>
4507
4508         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
4509         search path.
4510
4511 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
4512
4513         * gst/gstpreset.c:
4514           Fix bogus warning and make the property type specific code more
4515           similar.
4516
4517 2007-11-19  Julien MOUTTE  <julien@moutte.net>
4518
4519         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
4520         it build on OS X.
4521
4522 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
4523
4524         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4525         (gst_bin_add_func), (gst_bin_remove_func),
4526         (gst_bin_change_state_func), (gst_bin_continue_func):
4527         Change email, cleanups add some more debug and comments.
4528         Also set bus and clock on new elements when the pipeline was in error.
4529
4530 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
4531
4532         * gst/gstbin.c:
4533         * gst/gstdebugutils.c:
4534           Fix build with --disable-gst-debug. Fixes #497859.
4535           Spotted by Sameer Naik.
4536
4537 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
4538
4539         * gst/gstevent.c:
4540           Little documentation improvment.
4541
4542         * gst/gstpreset.c:
4543           More TODO cleanups. Remove c++ comments.
4544
4545         * libs/gst/controller/gstcontroller.c:
4546           Add TODO and use quark from static string.
4547
4548         * tests/check/gst/gstmessage.c:
4549         * tests/check/gst/gststructure.c:
4550           Use quark from static string.
4551
4552 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
4553
4554         * gst/gstpreset.c:
4555           Add some comments and TODOs.
4556
4557         * gst/gstpreset.h:
4558           Add padding for future changes.
4559
4560         * plugins/elements/gstqueue.c:
4561           Implement the iface.    
4562
4563 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
4564
4565         * docs/gst/gstreamer-docs.sgml:
4566         * docs/gst/gstreamer-sections.txt:
4567         * docs/gst/gstreamer.types.in:
4568         * gst/Makefile.am:
4569         * gst/gst.h:
4570         * gst/gstpreset.c:
4571         * gst/gstpreset.h:
4572           Add the preset interface (Fixes #396779). Do some doc cleanups along.
4573
4574 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
4575
4576         * configure.ac:
4577
4578         Back to CVS
4579
4580 === release 0.10.15 ===
4581
4582 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
4583
4584         * configure.ac:
4585           releasing 0.10.15, "October"
4586
4587 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
4588
4589         * win32/vs6/libgstreamer.dsp:
4590         Convert line endings back to DOS.
4591
4592 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
4593
4594         * docs/design/draft-tagreading.txt:
4595         * docs/random/ensonic/profiling.txt:
4596         Update fast tagreading draft and performance profiling ideas.
4597
4598 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
4599
4600         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
4601         Don't hold the object lock when unreffing a buffer because it could
4602         cause a deadlock when the finalize function wants to grab the object
4603         lock too. Fixes #495133.
4604
4605 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
4606
4607         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
4608         (gst_segment_to_stream_time), (gst_segment_to_running_time):
4609         Also accumulate time correctly when doing reverse playback. Fixes
4610         #488201,
4611         When converting to running and stream time, use default values for
4612         start/stop/time/accum when comparing different formats. Fixes #494245.
4613
4614         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4615         Do running/stream time in TIME format.
4616
4617         * tests/check/gst/gstsegment.c: (GST_START_TEST),
4618         (gst_segment_suite):
4619         2 new unit tests for segment accumulation.
4620
4621 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4622
4623         * gst/gst.c: (init_pre):
4624         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
4625           (_gst_debug_bin_to_dot_file):
4626           Move getenv() back into gst_init, so everyone can live happily
4627           ever after. Make sure the symbol isn't exported though.
4628
4629 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4630
4631         Patch by: Sebastien Moutte  <sebastien moutte net>
4632
4633         * win32/common/gstenumtypes.c:
4634         * win32/common/gstenumtypes.h:
4635           Update enum types.
4636
4637         * win32/vs6/libgstreamer.dsp:
4638           Update vs6 project files (#494343).
4639
4640 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4641
4642         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
4643         (gst_base_src_perform_seek), (gst_base_src_default_event),
4644         (gst_base_src_set_flushing), (gst_base_src_activate_push),
4645         (gst_base_src_activate_pull):
4646         Unify flushing code, remove some old unlock code that is no longer used.
4647         Take the streaming lock when seeking to avoid races. Fixes #492729.
4648         Added some more comments.
4649
4650 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4651
4652         * gst/gst.c: (_gst_disable_segtrap):
4653           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
4654           we can use gst_segtrap_is_enabled() there now that we have that API.
4655           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
4656           to do the getenv here (and export the variable).
4657
4658         * gst/gstdebugutils.c: (debug_dump_element),
4659           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
4660           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
4661
4662         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
4663           (gst_debug_log_default):
4664           Rename _gst_info_start_time to priv_gst_info_start_time so it
4665           doesn't get exported (was never in any header).
4666
4667         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
4668           (gst_plugin_loading_mutex):
4669           Make static mutex gst_plugin_loading_mutex really static (was never
4670           in any header), and use gst_segtrap_is_enabled() instead of
4671           _gst_disable_segtrap.
4672
4673         * gst/gsttrace.c: (_gst_trace_default):
4674           Make local _gst_trace_default static (was never in any header).
4675
4676 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4677
4678         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
4679
4680         * win32/common/libgstbase.def:
4681         * win32/common/libgstcontroller.def:
4682         * win32/common/libgstdataprotocol.def:
4683         * win32/common/libgstnet.def:
4684         * win32/common/libgstreamer.def:
4685           Add more missing symbols, remove some duplicates, and sort
4686           as the 'sort' command sorts it (partially fixes #493983).
4687
4688 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4689
4690         * gst/gstelement.c: (gst_element_set_state_func):
4691         Only change the state cookie if a different state was set on the
4692         element. See #492729.
4693
4694 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4695
4696         * gst/gstvalue.c:
4697           Remove unused and uninitialised type variables that were still
4698           exported for some reason (they were never in any header files
4699           though).
4700
4701 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4702
4703         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4704         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
4705         (gst_base_sink_event), (gst_base_sink_get_position_last),
4706         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4707         (gst_base_sink_change_state):
4708         Don't try to report a 0 position when we don't know, return -1 and FALSE
4709         instead. This mostly happens when we are prerolling.
4710         Make sure we can report the right position before we post the ASYNC_DONE
4711         message so that a message handler can query position without races.
4712
4713         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
4714         (async_done_handoff), (async_done_func), (send_buffer),
4715         (async_done_eos_func), (gst_sinks_suite):
4716         Add two tests for the above.
4717
4718 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4719
4720         * MAINTAINERS:
4721         Update with new email address.
4722
4723         * docs/design/part-TODO.txt:
4724         Add some more info about future pad-block and negotiation changes.
4725
4726         * docs/design/part-buffering.txt:
4727         Add some ideas about buffering reporting.
4728
4729 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
4730
4731         * tests/check/gst/gstobject.c:
4732         Disable silly racy test that always fails on this combination of CPU
4733         and kernel.
4734
4735 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4736
4737         Patch by: Murray Cumming  <murrayc@murrayc.com>
4738
4739         * gst/gstobject.c:
4740           Corrected the registration of the parent-set and parent-unset
4741           signals: The parameter is a GstObject, not a GObject (#493134).
4742
4743 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4744
4745         * gst/gst_private.h:
4746         * gst/gstbuffer.h:
4747         * gst/gstevent.h:
4748         * gst/gstformat.h:
4749         * gst/gstmessage.h:
4750         * gst/gstplugin.h:
4751         * gst/gstquery.h:
4752         * gst/gsttaglist.h:
4753         * gst/gstvalue.h:
4754           Move declaration of private _gst_foo_initialize() functions into
4755           our private header file where they should have been all along.
4756
4757 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4758
4759         * docs/plugins/gstreamer-plugins-sections.txt:
4760         * gst/gstdebugutils.h:
4761         * gst/gstxml.h:
4762         * plugins/elements/gstqueue.c:
4763           gtk-doc fixes; trailing-comma-in-enum fix.
4764
4765 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4766
4767         * gst/gst.c: (gst_deinit):
4768           Clean up on deinit (not the external ones though, doesn't seem to be
4769           needed for some reason).
4770
4771 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4772
4773         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
4774           Remove __declspec(dllimport) for MSVC that was copied over into core
4775           from a plugin, obviously without ever having been tested (note the
4776           single underscore in _declspec in the initial commit), and that doesn't
4777           really make sense.  See #492077.
4778
4779 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4780
4781         * gst/gst.c: (init_post):
4782         * gst/gstevent.c: (_gst_event_initialize):
4783         * gst/gstquery.c: (_gst_query_initialize):
4784         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
4785           g_type_class_ref() other types as well, see #349410 and #64764.
4786
4787         * gst/gstbuffer.c: (_gst_buffer_initialize):
4788         * gst/gstmessage.c: (_gst_message_initialize):
4789           Simplify existing g_type_class_ref().
4790
4791 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4792
4793         * gst/gstformat.c: (_gst_format_initialize):
4794           g_type_class_ref() our GstFormat type to make sure we avoid the
4795           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
4796           bug #64764. Should fix intermittent tee unit test failures (#474823).
4797
4798 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4799
4800         * tests/check/elements/tee.c: (test_num_buffers):
4801           Simplify, simplify, simplify - or not.  Rewrite unit test
4802           not to use gst_parse_launch(); allow N sub-streams. Increasing
4803           the number of sub-streams seems to reproduce #474823 more easily.
4804
4805 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
4806
4807         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
4808
4809         * gst/gsttrace.c:
4810         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4811         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4812         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
4813           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
4814           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
4815           so use _pipe() directly (#492077).
4816
4817         * win32/common/dirent.c: (_treaddir):
4818           Add a couple of casts to make it build without warnings with MSVC.
4819
4820         * win32/common/libgstreamer.def:
4821           Add some more symbols that need to be exported.
4822
4823 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
4824
4825         * tests/examples/metadata/read-metadata.c: (message_loop):
4826           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
4827           arriving in a second or third tag message are added to
4828           the tag list as well.
4829
4830 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
4831
4832         * libs/gst/base/gstbasesrc.c:
4833           Its "Since:" and not "@Since:". And remove an superflous cast.
4834
4835 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
4836
4837         * docs/libs/gstreamer-libs-sections.txt:
4838         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4839         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
4840         (gst_base_sink_get_property), (gst_base_sink_render_object),
4841         (gst_base_sink_preroll_object),
4842         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
4843         (gst_base_sink_change_state):
4844         * libs/gst/base/gstbasesink.h:
4845         Add a new last-buffer property that contains the last buffer used in
4846         basesink for preroll or rendering. useful for making snapshots.
4847         API: gst_base_sink_get_last_buffer()
4848         API: GstBaseSink::last-buffer
4849
4850 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
4851
4852         * docs/gst/running.xml:
4853         * gst/gst.c:
4854         * gst/gstdebugutils.c:
4855         * gst/gstdebugutils.h:
4856         * tools/gst-launch.c:
4857           Improve bin graph dumping, by using the envvar to specify a path.
4858           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
4859
4860 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
4861
4862         * plugins/elements/gsttypefindelement.c:
4863           (gst_type_find_element_handle_event),
4864           (gst_type_find_element_activate):
4865           Post special error message if we can't determine the type of a stream
4866           because it's empty.
4867
4868 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
4869
4870         * docs/gst/running.xml:
4871         * gst/gstdebugutils.c:
4872           Document new env-var. Add one log-line after dumpng a graph.
4873
4874 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
4875
4876         * configure.ac:
4877           Ugly hack to put the (recently removed and non-portable, apparently)
4878           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
4879           GNU ld, because without that 'make check' fails miserably on my debian
4880           stable box.  Someone with more knowledge of linker intricacies and
4881           portability issues than me fix this properly please.
4882
4883 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
4884
4885         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
4886         Reset last seen position after flushing so that we don't report the old
4887         position anymore.
4888
4889 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4890
4891         * gst/gstelementfactory.c: (gst_element_register):
4892         * gst/gsturi.h:
4893         Patch from Alessandro Decina adding get_type_full and
4894         get_protocols_full private vfuncs to the URIHandler interface
4895         to allow bindings to support creating URI handlers. 
4896         Partially fixes: #339279
4897         API: GstURIHandlerInterface::get_type_full
4898         API: GstURIHandlerInterface::get_protocols_full
4899
4900 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4901
4902         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
4903         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
4904         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
4905         Make it so that pads are considered linked until a buffer is pushed
4906         and discovered otherwise. This avoids problems with decodebin2 hanging
4907         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
4908         case.
4909
4910         Make sure we lock the multiqueue when updating the max-size properties.
4911         
4912         Fix a crash on Solaris in a debug statement in get_request_pad that
4913         passes a NULL string to GST_DEBUG. 
4914
4915         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
4916         (run_output_order_test):
4917         Fix the test to allow the first buffer on not-linked pads to come out
4918         of sequence while multiqueue discovers that they are not-linked.
4919
4920 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4921
4922         * configure.ac:
4923         * libs/gst/check/Makefile.am:
4924         Use a custom export symbol regex for libgstcheck, as it needs
4925         to export symbols that don't match the standard GStreamer gst_*
4926         pattern, and  --export-dynamic is not portable (only works on 
4927         GNU ld)
4928
4929         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4930         (gst_check_setup_sink_pad):
4931         Make sure to pass a message parameter to the fail_* macros.
4932
4933         * tests/check/gst/gstinfo.c: (GST_START_TEST):
4934         Fix some compiler warnings.
4935
4936 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
4937
4938         * tests/check/gst/gststructure.c: (test_to_string):
4939           Disable test that checks that white spaces are not allowed
4940           in structure names or field names, since we need to
4941           support that for now for backwards compatibility reasons.
4942
4943 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
4944
4945         * docs/gst/gstreamer-sections.txt:
4946         * gst/gsttaglist.c:
4947         * gst/gsttaglist.h:
4948           API: add GST_TAG_ARTIST_SORTNAME
4949           API: add GST_TAG_ALBUM_SORTNAME
4950           API: add GST_TAG_TITLE_SORTNAME
4951           Add tag variants for sorting (#414539).
4952
4953 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
4954
4955         * gst/gststructure.c:
4956           Also allow white space for names so we don't break
4957           backwards compatibility.
4958
4959 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
4960
4961         * docs/design/part-TODO.txt:
4962         * docs/design/part-segments.txt:
4963         * docs/design/part-streams.txt:
4964         Small updates.
4965
4966 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
4967
4968         * docs/gst/gstreamer-sections.txt:
4969          Fixed documentation from my previous commit (added new API add
4970          gst_value_set_structure(), add gst_value_get_structure() and
4971          GST_VALUE_HOLDS_STRUCTURE).
4972
4973 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
4974
4975         * gst/gstdebugutils.c:
4976           Reflow code to fix uninitialized variable warning.
4977
4978 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
4979
4980         * gst/gstcaps.c: (gst_caps_to_string),
4981         (gst_caps_from_string_inplace):
4982         * gst/gststructure.c: (gst_structure_get_abbrs),
4983         (gst_structure_to_string), (gst_structure_from_string):
4984         * gst/gstvalue.c: (gst_value_set_structure),
4985         (gst_value_get_structure), (gst_value_serialize_structure),
4986         (gst_value_deserialize_structure), (_gst_value_initialize):
4987         * gst/gstvalue.h:
4988         * tests/check/gst/gststructure.c: (GST_START_TEST),
4989         (gst_structure_suite):
4990         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4991          Added GstStructure to gst_value_table and its related functions.
4992          Changed gst_structure_to_string to print ';' in the end.
4993          Changed gst_caps_to_string to not print ';' beteween its
4994          fields (structures) anymore and remove the lastes ';' from latest
4995          structure. Now it is possible to have nested structures.
4996          In addition, backward compatibilty is assured by accepting '\0' as
4997          end delimiter. Fixes: #487969.
4998          API: add gst_value_set_structure()
4999          API: add gst_value_get_structure()
5000          API: add GST_VALUE_HOLDS_STRUCTURE
5001
5002 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
5003
5004         * gst/gstbus.c:
5005           When no GSource callback has been set up, tell developer
5006           to use a function that actually exists.
5007
5008 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
5009
5010         * docs/gst/gstreamer-sections.txt:
5011         * gst/Makefile.am:
5012         * gst/gst.c:
5013         * gst/gst.h:
5014         * gst/gstdebugutils.c:
5015         * gst/gstdebugutils.h:
5016         * gst/gstinfo.c:
5017         * gst/gstinfo.h:
5018         * tools/gst-launch.c:
5019           Allow dumping pipelines as dot graphs. Fixes #456573.
5020
5021 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5022
5023         * gst/gststructure.c:
5024           Allow '+' as well, it can be part of media or mime types
5025           such as image/svg+xml.
5026
5027 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5028
5029         * docs/gst/gstreamer-sections.txt:
5030         * gst/gstbus.c:
5031         * gst/gstbus.h:
5032           API: add gst_bus_pop_filtered
5033           API: add gst_bus_timed_pop_filtered
5034           Two new functions for waiting for specific message types on the
5035           bus for a specified amount of time without iterating any main
5036           loops or main contexts.
5037
5038         * tests/check/gst/gstbus.c:
5039           Some tests for the new functions.
5040
5041 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5042
5043         * docs/libs/gstreamer-libs-sections.txt:
5044           Make gtk-doc ignore stuff it should ignore.
5045
5046 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5047
5048         * libs/gst/check/gstcheck.c:
5049         * libs/gst/check/gstcheck.h:
5050           Allow runtime selection of unit tests to run via the GST_CHECKS
5051           environment variable (test case function names, comma-separated).
5052
5053 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
5054
5055         * gst/gststructure.c:
5056         * tests/check/gst/gststructure.c:
5057           Revert serialisation change and constrain structure-names after
5058           consensus on irc. Update api documentation to reflect the change.
5059
5060 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
5061
5062         * gst/gststructure.c:
5063           Improve serialization and fix tests.
5064
5065         * tests/check/gst/gststructure.c:
5066           Add another test that covers why I actually did the previous structure
5067           change.
5068
5069 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
5070
5071         * tools/gst-inspect.c: (print_element_info):
5072         Don't crash when inspecting an element.
5073
5074 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5075
5076         * tests/check/gst/gststructure.c:
5077           Add unit test for escaping of structure name when serialising
5078           and deserialising to/from strings.
5079
5080 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
5081
5082         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
5083         (gst_single_queue_new):
5084         * plugins/elements/gstqueue.c: (gst_queue_init),
5085         (gst_queue_push_one):
5086         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
5087         upstream is tricked into thinking it can suggest a format downstream
5088         while downstream does not support that format. The real problem is that
5089         core calls acceptcaps when pushing a buffer with new caps, for which we
5090         do a little workaround by setting the caps on the srcpad ourselves
5091         before pushing the buffer (until this is figured out). Fixes #486758.
5092
5093 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
5094
5095         * gst/gststructure.c:
5096         * gst/gstvalue.c:
5097           Add some more comments and debug output. Quote structure name to fix
5098           deserialisation of some strings.
5099
5100 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
5101
5102         * gst/gstbuffer.h:
5103           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
5104           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
5105
5106 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
5107
5108         * tools/gst-inspect.c:
5109           Save approx. 400 1 byte allocs when printing. Use API to acces element
5110           details.
5111
5112         * tools/gst-run.c:
5113           Avoid a strdup.
5114
5115         * tools/gst-xmlinspect.c:
5116           Use API to acces element details.
5117
5118 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
5119
5120         * gst/gstinfo.c:
5121           Fix some spelling errors.
5122
5123 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
5124
5125         * gst/gstbin.c: (bin_handle_async_done):
5126         Correctly set the next state if all of our async children commited their
5127         state. This makes sure we can actually cancel the state change in
5128         progress. Fixes a regression in Rhythmbox when seeking.
5129
5130 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5131
5132         * gst/gstbin.c:
5133           Don't shadow local variable.
5134
5135         * gst/gstinfo.c:
5136           Don't shadow global function name.
5137
5138 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5139
5140         * gst/gstelementfactory.c:
5141         * gst/gstpluginfeature.c:
5142         * gst/gstpluginfeature.h:
5143         * gst/gstregistrybinary.c:
5144         * gst/gstregistryxml.c:
5145         * gst/gsttypefind.c:
5146           Use already-interned string for the private GstPluginFeature
5147           plugin_name field.
5148
5149 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5150
5151         * docs/libs/gstreamer-libs-sections.txt:
5152           Add new API to docs; fixes the build.
5153
5154 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
5155         
5156         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
5157
5158         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
5159         (gst_base_sink_event):
5160         * libs/gst/base/gstbasesink.h:
5161         Add function to wait for EOS, subclasses can use this to correctly wait
5162         for devices to drain before performing the EOS logic. Fixes #485343.
5163         API: gst_base_sink_wait_eos()
5164
5165 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5166
5167         * gst/gstplugin.h:
5168           Cast description string constants in GST_PLUGIN_DEFINE macros
5169           to a (gchar*) to make C++ code using these macros compile
5170           without warning with g++-4.2 (see #462737).  Even if slightly
5171           ugly, this seems preferable to putting the description strings
5172           into the GLib quark table or making the structure member a
5173           const gchar * and doing casts in core code that allocs and
5174           frees these strings, or requiring a cast in the C++ code.
5175
5176 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5177
5178         * gst/gstinfo.h:
5179           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
5180           to print the entire class/function signature into the log
5181           file for C++ code.  This only affects C++ code, for C code
5182           everything remains the same.
5183
5184 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
5185
5186         * gst/gstbin.c: (remove_from_queue):
5187         Work around a problem with pipelines containing (semi)loops until a
5188         proper, more complicated solution is ready. See #475455.
5189
5190 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5191
5192         * gst/gstplugin.c:
5193         * gst/gstplugin.h:
5194         * gst/gstregistrybinary.c:
5195         * gst/gstregistryxml.c:
5196           Put more strings into the GLib quark table. No need to keep
5197           a hundred-something copies of identical version strings,
5198           license strings, package name strings and package origin
5199           strings around. 
5200
5201 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5202
5203         * docs/manual/advanced-dataaccess.xml:
5204           Don't imply that it's okay to unconditionally change
5205           buffer data or buffer metadata in a pad probe callback,
5206           and a bunch of other comments. Fixes #430031.
5207
5208 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5209
5210         * win32/common/gstenumtypes.c:
5211         * win32/common/gstenumtypes.h:
5212         * win32/common/gstversion.h:
5213           Update generated files.
5214
5215 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5216
5217         * docs/manual/advanced-autoplugging.xml:
5218           Prefix section with broken code with a warning (see #342432).
5219
5220 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5221
5222         * docs/manual/appendix-integration.xml:
5223         * docs/manual/basics-init.xml:
5224           Call g_thread_init() before g_option_context_new() to
5225           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
5226
5227 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
5228
5229         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5230         (gst_base_sink_queue_object_unlocked),
5231         (gst_base_sink_queue_object), (gst_base_sink_event),
5232         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
5233         When we received EOS and are waiting for when to post the EOS message,
5234         our state is prerolled and we should not return ASYNC.
5235         Reorganize some code paths to implement this behavior.
5236
5237         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5238         (gst_sinks_suite):
5239         Add unit test to verify above EOS fix.
5240
5241 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
5242
5243         * plugins/elements/gsttypefindelement.c:
5244         (gst_type_find_element_have_type), (gst_type_find_element_init),
5245         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
5246         Move detecting the input caps of the sinkpad to the setcaps function.
5247         This allows us to update the output caps when we receive new input caps
5248         instead of always using the first detected caps.
5249
5250 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
5251
5252         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
5253         (gst_base_sink_get_position):
5254         Don't try to preroll non-async elements after a flush.
5255         Subtract latency form clock times when reporting position.
5256
5257 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
5258
5259         * gst/gstpad.c: (gst_pad_pause_task):
5260         * gst/gstutils.c:
5261         Small comment and documentation update.
5262
5263 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
5264
5265         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5266         (gst_base_src_set_live), (gst_base_src_is_live),
5267         (gst_base_src_query_latency), (gst_base_src_perform_seek),
5268         (gst_base_src_default_event), (gst_base_src_wait),
5269         (gst_base_src_do_sync), (gst_base_src_get_range),
5270         (gst_base_src_pad_get_range), (gst_base_src_loop),
5271         (gst_base_src_unlock), (gst_base_src_unlock_stop),
5272         (gst_base_src_set_flushing), (gst_base_src_set_playing),
5273         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5274         (gst_base_src_change_state):
5275         Rework the locking of basesrc in a similar fashion to basesink. We
5276         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
5277         us to handle live sources and semi live ones much better.
5278         Simplify flushing.
5279         Fix unlocking when seeking, shutting down and pausing in live sources.
5280
5281 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
5282
5283         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
5284         Fix compilation again.
5285
5286 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5287
5288         * gst/gstelement.c:
5289           Use meaningful categories for the logs to clean the default one.
5290
5291 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5292
5293         * tests/check/pipelines/cleanup.c:
5294           Print message name and not just number.
5295
5296 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5297
5298         * docs/design/draft-tagreading.txt:
5299           Add some more thoughts.
5300
5301 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5302
5303         * tests/check/pipelines/simple-launch-lines.c:
5304           Print message name and not just number.
5305
5306 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5307
5308         * libs/gst/base/gsttypefindhelper.c:
5309           Speedup typefinding. This is work in progress (see #459862).
5310
5311 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5312
5313         * gst/gstplugin.c:
5314           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
5315           Spotted by Josep Torra Valles <josep@fluendo.com>.
5316
5317 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
5318
5319         * gst/gstclock.h:
5320           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
5321           field has moved to GstObject.
5322
5323 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
5324
5325         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
5326         (gst_base_src_get_range), (gst_base_src_change_state):
5327         Call unlock for live sources so that they can't get stuck in _create and
5328         produce a buffer before they are set back to PLAYING.
5329
5330 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
5331
5332         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
5333         (gst_queue_locked_dequeue):
5334         Comment the segment-related code... in the PROPER function.
5335         See #482147 and my commit from yesterday.
5336
5337 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
5338
5339         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5340         Also initialize the counter that calculates the first timestamp on a
5341         buffer correctly for non-live sources.
5342
5343 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
5344
5345         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
5346         Disable code that's breaking the current-time-level reporting.
5347         See #482147
5348
5349 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
5350
5351         * docs/gst/gstreamer-sections.txt:
5352         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
5353         as they shouldn't show up. Fixes the docs build.
5354
5355 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
5356         
5357         * gst/gstinfo.h:
5358         Add an explicit variable importation needed on VS6 (only for MSC_VER)
5359         Define M_PI which is used in files which are including gstinfo.h. 
5360         VS6 includes doesn't define it.
5361         * win32/common/libgstbase.def:
5362         * win32/common/libgstcontroller.def:
5363         * win32/common/libgstreamer.def:
5364         Add new exported functions and variables.
5365         * win32/vs6/libgstcontroller.dsp:
5366         * win32/vs6/libgstreamer.dsp:
5367         Update the list of files to build.
5368         
5369 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
5370
5371         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
5372
5373         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
5374         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
5375         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
5376         Improve debugging. Fixes #480858.
5377
5378 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
5379
5380         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
5381
5382         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5383         First patch of code cleanups, use the macros and right arguments in the
5384         macros to signal and lock the queue. See #480858.
5385
5386 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
5387
5388         * gst/gstbus.c: (poll_func):
5389         Improve debugging when dealing with _poll().
5390
5391 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5392
5393         * gst/gstregistryxml.c:
5394           Fix memory leak I introduced a few days ago.
5395
5396 2007-09-26  Michael Smith <msmith@fluendo.com>
5397
5398         * gst/gstbuffer.c: (gst_buffer_finalize):
5399           Make it once again possible to free GstBuffers in the default
5400           build.
5401           The poisoning scribbles on parts of the miniobject we need in
5402           order to free it.
5403           Fixes #480341
5404
5405 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
5406
5407         * docs/gst/gstreamer-sections.txt:
5408         * gst/gsttaglist.c:
5409         * gst/gsttaglist.h:
5410         API: add GST_TAG_COMPOSER, fixes #459809.
5411
5412 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
5413
5414         * gst/gstplugin.c:
5415         * gst/gstplugin.h:
5416         Add the 3-clause BSD license and the MIT/X11 license to the license
5417         list. Fixes #479784.
5418
5419 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5420
5421         * docs/faq/getting.xml:
5422           Add Q+A about different GStreamer versions (#364056).
5423
5424 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
5425
5426         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5427         (gst_base_sink_event), (gst_base_sink_change_state):
5428         Return correct gboolean from query function.
5429
5430 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
5431
5432         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5433         (gst_base_sink_event), (gst_base_sink_query),
5434         (gst_base_sink_change_state):
5435         Simplify latency query.
5436         When not synchronizing, we can report latency without querying the peer
5437         element.
5438
5439 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
5440
5441         * gst/gstobject.h:
5442         * gst/gstvalue.c:
5443         Fix small typos in the docs.
5444
5445 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
5446
5447         * docs/design/draft-latency.txt:
5448         * docs/design/draft-push-pull.txt:
5449         * docs/design/draft-tagreading.txt:
5450         * docs/design/part-MT-refcounting.txt:
5451         * docs/design/part-activation.txt:
5452         * docs/design/part-block.txt:
5453         * docs/design/part-element-source.txt:
5454         * docs/design/part-events.txt:
5455         * docs/design/part-gstbin.txt:
5456         * docs/design/part-gstelement.txt:
5457         * docs/design/part-gstobject.txt:
5458         * docs/design/part-gstpipeline.txt:
5459         * docs/design/part-messages.txt:
5460         * docs/design/part-preroll.txt:
5461         * docs/design/part-push-pull.txt:
5462         * docs/design/part-qos.txt:
5463         * docs/design/part-query.txt:
5464         * docs/design/part-scheduling.txt:
5465         * docs/design/part-seeking.txt:
5466         * docs/design/part-segments.txt:
5467         * docs/design/part-states.txt:
5468         Documentation updates and typo fixes.
5469
5470 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5471
5472         * plugins/elements/gstfakesink.c:
5473           Add some debug text to error message to indicate that
5474           we errored out on request.
5475
5476         * tools/gst-launch.c:
5477           When the state change to PLAYING fails, check for an
5478           error message on the bus and print it.
5479
5480 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5481
5482         translated by: Jorge González González <aloriel@gmail.com>
5483
5484         * po/LINGUAS:
5485         * po/es.po:
5486           Added Spanish translation.
5487
5488 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
5489
5490         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5491         Fix printf arguments.
5492
5493 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
5494
5495         * tests/check/generic/states.c:
5496           Improved state change unit test.
5497
5498 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
5499
5500         * gst/gstbin.h:
5501           Move priv to the right place.
5502
5503         * gst/gstsystemclock.c:
5504           Add FIXME: and improve log.
5505
5506         * tests/check/Makefile.am:
5507         * tests/examples/manual/Makefile.am:
5508           Work with all types of registries.
5509
5510 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
5511
5512         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
5513         Don't unref the event after pushing it. Fixes #478401.
5514
5515 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
5516
5517         * .cvsignore:
5518         * tests/examples/manual/.cvsignore:
5519           Ignore registries in any format.
5520
5521 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5522
5523         * gst/glib-compat-private.h:
5524           Add compatibility macro for g_intern_string() for
5525           GLib-2.8 (any reason we can't just bump the
5526           requirement to at least 2.10?)
5527
5528         * gst/gstpadtemplate.h:
5529         * gst/gstelementfactory.c:
5530         * gst/gstregistryxml.c:
5531         * gst/gstregistrybinary.c:
5532           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
5533           up the internal code accordingly.  This shouldn't be a problem, since
5534           there is no reason external code could ever assume the string in such
5535           a structure is dynamically allocated unless it did that itself;  the
5536           use of g_strdup() is private to element factories.  The new code also
5537           saves some memory by putting pad template name strings into the GLib
5538           quark table instead of allocating them dynamically.
5539           Declaring this field constant fixes warnings with g++-4.2 when using
5540           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
5541
5542 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
5543
5544         * gst/gstelementfactory.c:
5545           Release static caps. Fixes #475723.
5546
5547 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
5548
5549         * gst/gstinfo.c:
5550         * gst/gstinfo.h:
5551           Make some internal API take const gchar * instead of just
5552           gchar * to avoid compiler warnings with g++-4.2.2 when
5553           passing string constants (partially fixes #478092).
5554
5555 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
5556
5557         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
5558         A latency query fails when one of the sinks fail.
5559
5560         * gst/gstelement.c: (gst_element_set_base_time):
5561         Improve debugging.
5562
5563 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
5564
5565         * gst/gstbin.c: (gst_bin_continue_func):
5566         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
5567         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
5568         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
5569
5570         Fix minor compilation warnings shown with Forte.
5571
5572 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
5573
5574         * plugins/elements/gstqueue.c: (apply_buffer),
5575         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
5576         Measure queue level based on the diff between head and tail timestamps
5577         even when pushing the first buffer.
5578
5579 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
5580
5581         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5582         (gst_base_sink_event), (gst_base_sink_change_state):
5583         Sinks that don't preroll can always be queried for the latency.
5584         Don't post ASYNC start when we are not async.
5585
5586 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
5587
5588         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
5589         (gst_queue_handle_sink_event), (gst_queue_chain),
5590         (gst_queue_push_one), (gst_queue_handle_src_query),
5591         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
5592         * plugins/elements/gstqueue.h:
5593         When downstream returns UNEXPECTED from pushing a buffer, don't try to
5594         push more buffers but allow pushing of EOS and NEWSEGMENT.
5595         Add some more debug info here and there. Fixes #476514.
5596
5597 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
5598
5599         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5600         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
5601         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
5602         (gst_base_sink_set_flushing), (gst_base_sink_query),
5603         (gst_base_sink_change_state):
5604         Latency query is allowed after we are prerolled. Introduce a new flag
5605         for this and stop abusing other variables.
5606
5607 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5608
5609         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
5610         Push OOB events downstream when we get them in send_event. This allows
5611         the application to insert events in the pipeline.
5612         Add some more comments.
5613
5614 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5615
5616         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
5617         (do_bin_latency), (gst_bin_change_state_func):
5618         * gst/gstpipeline.c: (gst_pipeline_change_state):
5619         Move latency query from GstPipeline to GstBin so that we can also
5620         use it when async-handling is enabled on bins.
5621
5622 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5623
5624         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5625         (gst_base_src_do_sync), (gst_base_src_change_state):
5626         Update docs.
5627         Clean up the timestamping and syncing code for pseudo live sources.
5628
5629 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
5630
5631         Patch by: Steve Fink  <sphink gmail com>
5632
5633         * docs/manual/appendix-checklist.xml:
5634           Mention less -R switch in the section about debug output (#474055).
5635
5636 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5637
5638         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
5639         Queue can latency to the pipeline up to the configured max size in time.
5640         Report this fact in the latency query.
5641
5642 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
5643
5644         Patch by: Sebastien Moutte <sebastien at moutte dot net>
5645
5646         * libs/gst/controller/gstinterpolation.c:
5647         * libs/gst/controller/gstlfocontrolsource.c:
5648         Use gst_guint64_to_gdouble() when converting from a uint64 or
5649         GstClockTime to double to fix the build on win32. Fixes #474371.
5650
5651 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
5652
5653         * gst/gstbuffer.c: (gst_buffer_finalize):
5654         Implement poisoning for GstBuffer if --enable-poisoning is specified.
5655         When finalizing a buffer the complete struct is filled with 0xff,
5656         thus making a use of the buffer after the final unref impossible.
5657
5658 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
5659
5660         * tests/check/libs/controller.c: (GST_START_TEST):
5661         Use fail_unless_equals_int(a, b) instead of
5662         fail_unless_equals (a == b) to get better output on failures.
5663
5664 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
5665
5666         * tests/check/gst/gsturi.c:
5667           Also check for the other file URI variant on win32.
5668
5669 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
5670
5671         * gst/gsturi.c: (gst_uri_get_location):
5672           If there's no hostname, we want to return 'c:/foo/bar.txt'
5673           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
5674
5675         * tests/check/gst/gsturi.c:
5676           Unit test for the above and a few more things.
5677
5678 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
5679
5680         * docs/design/part-live-source.txt:
5681         Add docs on how live sources should timestamp.
5682
5683         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
5684         Add some more debug info.
5685         For subclasses that are live and like to sync, add aditional startup
5686         latency to sync time and timestamps so that we timstamp according to the
5687         design doc.
5688
5689 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
5690
5691         * gst/gstbuffer.c:
5692           Also do a g_type_class_ref() for the subbuffer type in
5693           the init function.
5694
5695 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
5696
5697         * docs/gst/gstreamer-sections.txt:
5698         * gst/gstpad.c: (gst_pad_peer_query):
5699         * gst/gstpad.h:
5700         Add function to perform a query on the peer of a pad.
5701         API: gst_pad_peer_query()
5702
5703 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
5704
5705         * tests/check/gst/gstsystemclock.c:
5706           Cleanup the test a little (use gst-logging and not g_message). Improve
5707           test to check if a wait reached the target.
5708
5709 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
5710
5711         * docs/libs/gstreamer-libs-sections.txt:
5712           Add new API to docs and fix the build.
5713
5714 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
5715
5716         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5717         (gst_base_src_init), (gst_base_src_set_do_timestamp),
5718         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
5719         (gst_base_src_get_property), (gst_base_src_do_sync):
5720         * libs/gst/base/gstbasesrc.h:
5721         Add property to make the basesrc timestamp buffers based on the current
5722         running time.
5723         API: GstBaseSrc::do-timestamp
5724         API: gst_base_src_set_do_timestamp()
5725         API: gst_base_src_get_do_timestamp()
5726
5727 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
5728
5729         * docs/random/release:
5730           Really make sure translations are up-to-date before
5731           a release (#465010).
5732
5733 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
5734
5735         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5736         Always destroy the timer, also in error cases.
5737
5738 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
5739
5740         * docs/manual/highlevel-xml.xml:
5741         Fix XML example code. Fixes #472714.
5742
5743 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
5744
5745         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5746         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
5747         (gst_base_sink_query):
5748         Protect eos and have_preroll with the OBJECT lock so we don't need to
5749         take the PREROLL lock when querying the latency. Fixes #473846.
5750
5751 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
5752
5753         * gst/gstelement.c:
5754           Give some log-messages a category.
5755
5756 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
5757
5758         * gst/gststructure.c:
5759         (gst_structure_fixate_field_nearest_fraction):
5760         Fix fraction list fixation code. Take the fraction with the smallest
5761         difference with the target instead of the first one in the list.
5762
5763         * tests/check/gst/gststructure.c: (GST_START_TEST),
5764         (gst_structure_suite):
5765         Added test to verify correct fraction list fixation behaviour.
5766
5767 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
5768
5769         * win32/common/libgstreamer.def:
5770           Export gst_bus_add_signal_watch too.
5771
5772 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
5773
5774         * docs/libs/gstreamer-libs-sections.txt:
5775         Add new methods to docs.
5776
5777         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5778         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
5779         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
5780         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
5781         * libs/gst/base/gstbasesink.h:
5782         Add ts-offset property to fine-tune the synchronisation.
5783         API: GstBaseSink::ts-offset property
5784         API: gst_base_sink_set_ts_offset()
5785         API: gst_base_sink_get_ts_offset()
5786
5787 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
5788
5789         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5790         (gst_base_sink_init), (gst_base_sink_set_sync),
5791         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
5792         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
5793         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
5794         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
5795         (gst_base_sink_get_property), (gst_base_sink_change_state):
5796         * libs/gst/base/gstbasesink.h:
5797         Add async property to instruct the sink never to inform the parent about
5798         ASYNC state changes, update docs.
5799         Check argument with g_return_* for the public functions.
5800         API: GstBaseSink::async property
5801         API: gst_base_sink_set_async_enabled()
5802         API: gst_base_sink_is_async_enabled()
5803
5804 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
5805
5806         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
5807         Improve debugging.
5808
5809         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5810         (gst_base_src_default_query), (gst_base_src_wait),
5811         (gst_base_src_do_sync), (gst_base_src_change_state):
5812         Rearrange some code so that we can add support for measuring the 
5813         startup latency.
5814
5815 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
5816
5817         * docs/random/ensonic/dynlink.txt:
5818           More thoughs on this.
5819
5820         * plugins/elements/gstcapsfilter.c:
5821           Add bugzilla ticket number to FIXME comment.
5822
5823 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
5824
5825         * docs/design/part-TODO.txt:
5826         * docs/design/part-block.txt:
5827         Update some docs.
5828
5829 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5830
5831         * gst/Makefile.am:
5832           Revert patch which uses $(gst_headers) instead of $^ because it
5833           breaks make dist.
5834
5835 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5836
5837         * tests/check/gst/gstbin.c: (GST_START_TEST):
5838           Fix leaks in the new unit test.
5839
5840 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
5841
5842         * gst/gst.c:
5843           Don't use GST_INFO before the debug system is actually initialised
5844           (shouldn't do any harm, but won't print anything either, so we can
5845           just as well remove it).
5846
5847         * gst/gstinfo.h:
5848           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
5849           compilers that don't support variadic macros (such as MSVC), should
5850           check for debug_level <= __gst_debug_min as well, since that's the
5851           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
5852           inline helper functions. Should improve performance a bit, but also
5853           makes sure uses of GST_INFO et.al are ignored if the debugging
5854           system isn't initialised yet (instead of printing an assertion
5855           failure).
5856
5857 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
5858
5859         patch by: David Nečas <yeti@physics.muni.cz>
5860
5861         * gst/Makefile.am:
5862           Replace some non portable makefile constructs.
5863
5864 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
5865
5866         * common/gtk-doc-plugins.mak:
5867           Grrrrr. Don't remove the types file on make clean.
5868
5869 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
5870
5871         * tools/gst-launch.1.in:
5872         Add colorspace to example pipeline. Fixes #458274.
5873
5874 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
5875
5876         * docs/random/release:
5877           The release manager should run 'make download-po' before making a
5878           release to make sure translations are up-to-date.
5879
5880         * po/LINGUAS:
5881         * po/be.po:
5882         * po/pl.po:
5883         * po/rw.po:
5884           Add some new translations.
5885
5886 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
5887
5888         * tools/gst-launch.c: (event_loop), (main):
5889         Don´t try to do any state management when a live pipeline posts
5890         buffering messages.
5891         Also make the buffering string translatable.
5892
5893 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5894
5895         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
5896         (bin_handle_async_start), (gst_bin_handle_message_func):
5897         Improve debugging.
5898         When adding elements, insert messages into the bus of the newly added
5899         element and make sure the element is the source of the message. This
5900         allows the parent bin to intercept the message and do the
5901         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
5902         messages to the app (which is not allowed).
5903         Update some docs.
5904
5905         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5906         Fix testsuite so that is does not work around messages that should not
5907         have been posted in the first place.
5908
5909 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5910
5911         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
5912         (update_degree), (gst_bin_sort_iterator_next):
5913         Fix annoying bug in the sorted iterator where a sink that is not really
5914         a sink (when it has downstream links) screwed up the iterator.
5915
5916         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5917         Unit test to verify the fix.
5918
5919 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5920
5921         * gst/gstmessage.h:
5922         Add some more docs for the messages.
5923
5924         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5925         (gst_base_sink_query):
5926         Add some more debugging.
5927
5928         * tools/gst-launch.c: (event_loop):
5929         When interrupting, don't try to set pipeline to PAUSED twice.
5930
5931 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
5932
5933         
5934         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
5935         (bin_handle_async_start), (gst_bin_handle_message_func):
5936         Move ASYNC_START message posting to where it belongs, similar to
5937         async_done. 
5938         Don't post ASYNC_START when we are in error. 
5939         Post ASYNC_START when we added an async element to a bin.
5940
5941 2007-08-14  Julien MOUTTE  <julien@moutte.net>
5942
5943         * gst/gstindex.c: (gst_index_add_association): Fix index entry
5944         generation from vargs. Fixes #466595.
5945
5946 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
5947
5948         * gst/gstbin.c: (gst_bin_element_set_state):
5949         Always change the state of a NO_PREROLL element even if it has ASYNC
5950         elements inside (in case of a bin).
5951
5952         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
5953         Unit test for this case.
5954
5955 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
5956
5957         * libs/gst/check/gstbufferstraw.c:
5958         * libs/gst/check/gstcheck.h:
5959         * libs/gst/controller/gstcontroller.c:
5960         * libs/gst/controller/gstcontrolsource.h:
5961         * libs/gst/controller/gstlfocontrolsource.h:
5962         * plugins/elements/gstcapsfilter.h:
5963         * plugins/elements/gstfdsink.h:
5964         * plugins/elements/gstfdsrc.h:
5965           Add more missing docs.
5966
5967 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5968
5969         * gst/gststructure.c:
5970         Add Since tag to docs.
5971
5972 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5973
5974         * docs/gst/gstreamer-sections.txt:
5975         * gst/gststructure.c: (gst_structure_get_uint):
5976         * gst/gststructure.h:
5977         Add function to get uint from a structure.
5978         API: gst_structure_get_uint()
5979
5980 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5981
5982         * gst/gstcaps.c: (gst_caps_set_simple_valist),
5983         (gst_caps_intersect):
5984         Fix proper check for simple caps.
5985
5986 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
5987
5988         * docs/gst/Makefile.am:
5989         * docs/libs/Makefile.am:
5990           Remove cruft and do some cleanups.
5991
5992         * docs/gst/gstreamer-docs.sgml:
5993         * docs/libs/gstreamer-libs-docs.sgml:
5994           Prepare for comming gtkdoc features (rebase against online docs).
5995
5996 2007-08-10  Michael Smith <msmith@fluendo.com>
5997
5998         * docs/gst/gstreamer-sections.txt:
5999           Add gst_registry_add_path to docs.
6000
6001 2007-08-10  Michael Smith <msmith@fluendo.com>
6002
6003         * gst/gstregistry.h:
6004           Add gst_registry_add_path, which was missing from this header.
6005
6006 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6007
6008         * libs/gst/controller/gstlfocontrolsource.c:
6009           Printf format fix.
6010
6011 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
6012
6013         * libs/gst/base/gstbasesink.c:
6014           Don't send an async_start message during downwards state change if 
6015           target state is less than READY
6016
6017 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6018
6019         translated by: Gabor Kelemen <kelemeng@gnome.hu>
6020
6021         * po/LINGUAS:
6022         * po/hu.po:
6023           Added Hungarian translation.
6024
6025 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6026
6027         * po/fi.po:
6028         * po/it.po:
6029         * po/nl.po:
6030         * po/sv.po:
6031         * po/uk.po:
6032           Updated translations.
6033
6034 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
6035
6036         * libs/gst/controller/Makefile.am:
6037         Dist gstlfocontrolsourceprivate.h
6038
6039 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
6040
6041         * docs/libs/gstreamer-libs.types:
6042         Don't register the enum type gst_lfo_waveform_get_type() in the
6043         .types file - only GObject derived types belong.
6044
6045 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
6046
6047         Patch by: <arenevier at fdn dot fr>
6048
6049         * gst/gstbuffer.h:
6050         Remove comma from last element in enum to avoid compile errors when
6051         using -pendantic. Fixes #464366.
6052
6053 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
6054
6055         * docs/design/part-TODO.txt:
6056         Add some more TODO items
6057
6058         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
6059         Improve debugging.
6060
6061         * gst/gstcaps.c: (gst_caps_intersect):
6062         Optimize trivial intersection case between identical caps pointers.
6063
6064         * gst/gstelement.c: (gst_element_continue_state),
6065         (gst_element_set_state_func):
6066         * gst/gstpad.c:
6067         Fix spelling and grammar mistakes.
6068
6069 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
6070
6071         * po/POTFILES.in:
6072         * po/POTFILES.skip:
6073           Update POTFILES. Fixes #461599.
6074
6075 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
6076
6077         * gst/gst.c:
6078         Fix confusing typo in debug output.
6079
6080 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
6081
6082         reviewed by: Stefan Kost <ensonic@users.sf.net>
6083
6084         * libs/gst/controller/Makefile.am:
6085         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
6086         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
6087         (gst_lfo_control_source_new),
6088         (gst_lfo_control_source_set_waveform),
6089         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
6090         (gst_lfo_control_source_finalize),
6091         (gst_lfo_control_source_dispose),
6092         (gst_lfo_control_source_set_property),
6093         (gst_lfo_control_source_get_property),
6094         (gst_lfo_control_source_class_init):
6095         * libs/gst/controller/gstlfocontrolsource.h:
6096         * libs/gst/controller/gstlfocontrolsourceprivate.h:
6097         API: Add GstLFOControlSource, a control source that gives values
6098         for specific timestamps based on several periodic waveforms.
6099         Fixes #459717.
6100
6101         * tests/check/libs/controller.c: (GST_START_TEST),
6102         (gst_controller_suite):
6103         * docs/libs/gstreamer-libs-docs.sgml:
6104         * docs/libs/gstreamer-libs-sections.txt:
6105         * docs/libs/gstreamer-libs.types:
6106         Add documentation and unit tests for GstLFOControlSource.
6107
6108 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
6109
6110         * configure.ac:
6111         Back to CVS
6112
6113 === release 0.10.14 ===
6114
6115 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
6116
6117         * configure.ac:
6118           releasing 0.10.14, "Breathing Vacuum"
6119
6120 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
6121
6122         * gst/gstelement.c: (gst_element_class_set_details_simple):
6123         * gst/gstelement.h:
6124           Make strings passed to gst_element_class_set_details_simple()
6125           constant, as they should be (#462752).
6126
6127 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
6128
6129         * gst/gstbin.c: (gst_bin_change_state_func),
6130         (bin_handle_async_done), (gst_bin_handle_message_func):
6131         Don't forget about the fact that some element went ASYNC even after a
6132         resync. This makes us post the ASYNC_DONE message correctly.
6133         Fixes #462558.
6134
6135 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
6136
6137         * gst/gstregistry.c: (gst_registry_add_feature):
6138         When replacing an existing feature in the registry, make sure to
6139         continue holding a reference until we've replaced the name string
6140         within our feature hash table. Make sure to use g_hash_table_replace
6141         instead of g_hash_table_insert to ensure the new name string is used
6142         as a key instead of the old one that we're about to free.
6143         Fixes: #462085
6144
6145 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
6146
6147         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6148         (gst_plugin_feature_set_name):
6149         Revert patch from #459466 until after the release and we can work
6150         out exactly what the problem is (if any).
6151
6152 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
6153
6154         * docs/gst/gstreamer-sections.txt:
6155         * gst/gsttaglist.c:
6156         * gst/gsttaglist.h:
6157           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
6158
6159 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
6160
6161         * docs/libs/Makefile.am:
6162         Include our build-prefix libs and includes before the generic ones to
6163         avoid linking against the installed libs when we want the build-tree
6164         ones.
6165
6166 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
6167
6168         Patch by: Steve Fink  <sphink gmail com>
6169
6170         * docs/pwg/building-testapp.xml:
6171           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
6172           if people try to build or install the example from the plugin
6173           template against a GStreamer from package using the configure
6174           defaults.
6175
6176 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
6177
6178         Patch by: Steve Fink  <sphink gmail com>
6179
6180         * tools/gst-inspect.1.in:
6181           Document --print-all and --print-plugin-auto-install-info command
6182           line options in man page.
6183
6184 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
6185
6186         * docs/gst/gstreamer-sections.txt:
6187         Add docs for new api function.
6188
6189 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
6190
6191         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
6192         * gst/gstelementfactory.h:
6193         API: gst_element_factory_has_interface()
6194         Added method to check if an element factory implements a named
6195         interface.
6196
6197 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
6198
6199         * configure.ac:
6200         * docs/gst/gstreamer.types.in:
6201           Another conditional doc check.
6202
6203         * gst/gstmessage.c:
6204         * gst/gstparamspecs.h:
6205         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6206         * gst/gstvalue.c:
6207         * gst/gstxml.h:
6208           API-doc fixes.
6209
6210 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
6211
6212         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
6213         (gst_registry_binary_load_feature),
6214         (gst_registry_binary_load_plugin),
6215         (gst_registry_binary_read_cache):
6216           Print error just once and with additional info.
6217
6218 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
6219
6220         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
6221         (helper_find_suggest), (helper_find_get_length),
6222         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
6223         (gst_type_find_helper_for_buffer):
6224           Cleanup the typefindhelper code and add private doc comments.
6225
6226 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
6227
6228         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6229         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
6230         Fix capsfilter for cases where the caps set on capsfilter will provide
6231         additional information.
6232         Fixes #449197
6233
6234 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
6235
6236         * gst/gsttypefindfactory.c:
6237           Fix docs that recommened wrong function to use.
6238
6239 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
6240
6241         * tools/gst-inspect.c: (print_plugin_features):
6242           Also give media-type for typefinders in element output.
6243
6244 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
6245
6246         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
6247         (gst_registry_remove_features_for_plugin_unlocked),
6248         (gst_registry_add_feature), (gst_registry_remove_feature),
6249         (gst_registry_lookup_feature_locked):
6250         * gst/gstregistry.h:
6251           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
6252           Fixes #459501.
6253
6254 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
6255
6256         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6257         (gst_plugin_feature_set_name):
6258           Avoid double memory usage for pluginfeature names. Fixes #459466.
6259
6260 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
6261
6262         * gst/gstpad.h:
6263           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
6264           driving the pipeline may need to explicitly check for NOT_LINKED as
6265           well, since IS_FATAL doesn't cover that.
6266
6267 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
6268
6269         * docs/pwg/advanced-types.xml:
6270           Fix typo and duplicate entry in video formats list.
6271
6272 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
6273
6274         * libs/gst/controller/gstinterpolation.c:
6275         Also round to the nearest int when using cubic interpolation.
6276
6277 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
6278
6279         * libs/gst/controller/gstinterpolation.c:
6280         When linearly interpolating integer types, round to the nearest int
6281         by adding 0.5. Don't do it for float/double types.
6282         Fixes the failing controller test on my machine, which is somehow
6283         rounding differently than on the buildbots.
6284
6285 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
6286
6287         * tools/gst-plot-timeline.py:
6288           Better log parsing (categories can have -). Adjust text vs. lines, so
6289           that they span the same y-range.        
6290
6291 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
6292
6293         * docs/random/ensonic/audiobaseclasses.txt:
6294         * docs/random/ensonic/dynlink.txt:
6295         * docs/random/ensonic/profiling.txt:
6296           Save my thoughts.
6297
6298         * docs/random/moving-plugins:
6299           Add note to use g_assert type macros.
6300
6301 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
6302
6303         * configure.ac:
6304         * libs/gst/check/Makefile.am:
6305           Add libm check as we use in for plugins.
6306
6307 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
6308
6309         * gst/gstbin.c: (gst_bin_continue_func):
6310         Check that the state_cookie hasn't changed since the continue_func
6311         was scheduled. Avoids problems where the state changes back to
6312         something it shouldn't be because it was changed in the meantime.
6313
6314 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
6315
6316         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
6317         (gst_registry_binary_save_string),
6318         (gst_registry_binary_save_pad_template),
6319         (gst_registry_binary_save_feature),
6320         (gst_registry_binary_save_plugin),
6321         (gst_registry_binary_load_feature),
6322         (gst_registry_binary_load_plugin),
6323         (gst_registry_binary_read_cache):
6324           Fix memory leak. Be less verbose in the log.
6325
6326 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6327
6328         * tests/check/elements/.cvsignore:
6329         Add file to cvsignore as commanded.
6330
6331 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6332
6333         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6334         (mq_dummypad_event), (run_output_order_test):
6335         Use a GStaticMutex to protect all cases where libcheck
6336         fail_if/fail_unless macros might be called from multiple threads
6337         simultaneously to avoid errors like:
6338           "check_pack.c:107: :-1081725400:Bad message type arg"
6339
6340 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6341
6342         * tests/check/pipelines/stress.c: (GST_START_TEST):
6343         Make sure we set the pipeline back to the NULL state before
6344         dropping our final reference.
6345
6346 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6347
6348         * tests/check/elements/tee.c: (GST_START_TEST):
6349         Make the tee stress-test a little less stressful so it doesn't just
6350         time out on slow-machines, and remove a small race when it's starting 
6351         up by adding a get_state() call.
6352
6353 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
6354
6355         * gst/gst.c:
6356           Avoid reading registry twice on startup. Fixes #457322.
6357
6358 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
6359
6360         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6361         * pkgconfig/gstreamer-check.pc.in:
6362         Substitute the CFLAGS for libcheck into our .pc file too so that
6363         dependent modules will pick it up properly if libcheck is installed
6364         into some other prefix.
6365
6366 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
6367
6368         * configure.ac:
6369         Revert the pkg-config check for libcheck, since it pulls in the
6370         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
6371         a proper solution, either from the check project, or something else.
6372
6373 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
6374
6375         * configure.ac:
6376           Use pkg-config to locate check.
6377
6378 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
6379
6380         * gst/gsttaglist.c:
6381           Fix doc syntax.
6382
6383         * gst/gstutils.c:
6384         * gst/gstutils.h:
6385           Add deprecation guards.
6386
6387         * libs/gst/base/gstcollectpads.h:
6388           Don't document object (this is implicitly private).
6389
6390 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
6391
6392         * gst/gststructure.c: (gst_structure_parse_value):
6393           When deserialising foo=bar without a type cast, check if it's a
6394           boolean before falling back to a string type, otherwise things like
6395           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
6396           because the filtercaps end up having a signed=(string)true field,
6397           which causes problems later when intersection caps.
6398
6399         * tests/check/gst/gststructure.c: (GST_START_TEST):
6400           Add a unit test for this.
6401
6402 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
6403
6404         Reviewed by: Stefan Kost <ensonic@users.sf.net>
6405
6406         * libs/gst/controller/Makefile.am:
6407         * libs/gst/controller/gstcontroller.c:
6408         (gst_controlled_property_add_interpolation_control_source),
6409         (gst_controlled_property_new), (gst_controlled_property_free),
6410         (gst_controller_find_controlled_property),
6411         (gst_controller_new_valist), (gst_controller_new_list),
6412         (gst_controller_new), (gst_controller_remove_properties_valist),
6413         (gst_controller_remove_properties_list),
6414         (gst_controller_remove_properties),
6415         (gst_controller_set_property_disabled),
6416         (gst_controller_set_disabled), (gst_controller_set_control_source),
6417         (gst_controller_get_control_source), (gst_controller_get),
6418         (gst_controller_sync_values), (gst_controller_get_value_array),
6419         (_gst_controller_dispose), (gst_controller_get_type),
6420         (gst_controlled_property_set_interpolation_mode),
6421         (gst_controller_set), (gst_controller_set_from_list),
6422         (gst_controller_unset), (gst_controller_unset_all),
6423         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
6424         * libs/gst/controller/gstcontroller.h:
6425         * libs/gst/controller/gstcontrollerprivate.h:
6426         * libs/gst/controller/gstcontrolsource.c:
6427         (gst_control_source_class_init), (gst_control_source_init),
6428         (gst_control_source_get_value),
6429         (gst_control_source_get_value_array), (gst_control_source_bind):
6430         * libs/gst/controller/gstcontrolsource.h:
6431         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
6432         (gst_object_get_control_source):
6433         * libs/gst/controller/gstinterpolation.c:
6434         (gst_interpolation_control_source_find_control_point_node),
6435         (gst_interpolation_control_source_get_first_value),
6436         (_interpolate_none_get), (interpolate_none_get),
6437         (interpolate_none_get_boolean_value_array),
6438         (interpolate_none_get_enum_value_array),
6439         (interpolate_none_get_string_value_array),
6440         (_interpolate_trigger_get), (interpolate_trigger_get),
6441         (interpolate_trigger_get_boolean_value_array),
6442         (interpolate_trigger_get_enum_value_array),
6443         (interpolate_trigger_get_string_value_array):
6444         * libs/gst/controller/gstinterpolationcontrolsource.c:
6445         (gst_control_point_free), (gst_interpolation_control_source_reset),
6446         (gst_interpolation_control_source_new),
6447         (gst_interpolation_control_source_set_interpolation_mode),
6448         (gst_interpolation_control_source_bind),
6449         (gst_control_point_compare), (gst_control_point_find),
6450         (gst_interpolation_control_source_set_internal),
6451         (gst_interpolation_control_source_set),
6452         (gst_interpolation_control_source_set_from_list),
6453         (gst_interpolation_control_source_unset),
6454         (gst_interpolation_control_source_unset_all),
6455         (gst_interpolation_control_source_get_all),
6456         (gst_interpolation_control_source_get_count),
6457         (gst_interpolation_control_source_init),
6458         (gst_interpolation_control_source_finalize),
6459         (gst_interpolation_control_source_dispose),
6460         (gst_interpolation_control_source_class_init):
6461         * libs/gst/controller/gstinterpolationcontrolsource.h:
6462         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
6463         API: Refactor GstController into the core controller which can take
6464         a GstControlSource for providing actual values for timestamps.
6465         Implement a interpolation control source and use this for backward
6466         compatibility, deprecate a bunch of functions that are now handled
6467         by GstControlSource or GstInterpolationControlSource.
6468         Make it possible to disable the controller completely or only for
6469         specific properties. Fixes #450711.
6470         * docs/libs/gstreamer-libs-docs.sgml:
6471         * docs/libs/gstreamer-libs-sections.txt:
6472         * docs/libs/gstreamer-libs.types:
6473         Add new functions and classes to the docs.
6474         * tests/check/libs/controller.c: (GST_START_TEST),
6475         (gst_controller_suite):
6476         * tests/examples/controller/audio-example.c: (main):
6477         Port unit test and example to the new API and add some new
6478         unit tests.
6479
6480 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
6481
6482         Patch by: Mark Nauwelaerts <manauw at skynet be>
6483
6484         * plugins/elements/gstmultiqueue.c:
6485         (gst_multi_queue_get_internal_links), (apply_buffer),
6486         (single_queue_overrun_cb), (gst_single_queue_new):
6487         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
6488         the pipeline layout can be tracked correctly. Fixes #453732.
6489
6490 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
6491
6492         * docs/gst/Makefile.am:
6493         * docs/libs/Makefile.am:
6494         * docs/plugins/Makefile.am:
6495           Simplify --extra-dir as gtkdoc scans recursively.
6496
6497 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
6498
6499         * tools/gst-launch.c: (main):
6500         When we got an error, there is no point in waiting for preroll when
6501         shutting down.
6502
6503 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
6504
6505         * plugins/elements/gsttee.c: (gst_tee_base_init),
6506         (gst_tee_request_new_pad), (gst_tee_release_pad),
6507         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
6508         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
6509         (gst_tee_chain):
6510         Be a lot smarter when deciding what srcpad to use for proxying
6511         the buffer_alloc. Also handle pad added/removed when doing so.
6512         Fixes #357959.
6513         Keep track of what pads we already pushed on in case we have pads
6514         added/removed while pushing. Fixes #374639 
6515
6516         * tests/check/Makefile.am:
6517         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
6518         (tee_suite):
6519         Added unit test for pad resync.
6520
6521 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6522
6523         * po/nl.po:
6524         * po/sv.po:
6525           Updated translations.
6526
6527 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6528
6529         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
6530
6531         * po/LINGUAS:
6532         * po/fi.po:
6533           Added new Finnish translation.
6534
6535 2007-06-28  Wim Taymans  <wim@fluendo.com>
6536
6537         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6538         (single_queue_overrun_cb):
6539         When figuring out when a queue is filled, use our internal time estimate
6540         based on segments, just like check_full does.
6541
6542 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
6543
6544         * gst/gstminiobject.c: (gst_mini_object_get_type):
6545           Remove 3 do-nothing methods.
6546
6547 2007-06-27  Wim Taymans  <wim@fluendo.com>
6548
6549         Patch by: Tim Angus <tim at ngus dot net>
6550
6551         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6552         (gst_capsfilter_set_property):
6553         Take a reference instead of a copy when setting "caps".
6554         Fix documentation to clarify this behaviour. Fixes #449414.
6555
6556 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
6557
6558         * gst/gstindexfactory.c: (gst_index_factory_get_type):
6559         * gst/gstplugin.c: (gst_plugin_init):
6560         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
6561         * gst/gstquery.c: (gst_query_get_type):
6562         * gst/gstregistry.c: (gst_registry_init):
6563         * gst/gsturi.c: (gst_uri_handler_base_init):
6564           Remove empty instance_init() functions to save relocs and lessen the
6565           noise. Remove some of the function prototypes that are doubled by
6566           G_DEFINE_TYPE.
6567           
6568 2007-06-27  Wim Taymans  <wim@fluendo.com>
6569
6570         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
6571
6572         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
6573         Add peer and direction in the XML serialisation of ghostpads.
6574         Fixes #449226.
6575
6576 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
6577
6578         * configure.ac:
6579           Preserve useful information, thanks Tim.
6580
6581 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
6582
6583         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
6584         (gst_single_queue_flush), (apply_segment), (apply_buffer),
6585         (gst_single_queue_push_one), (gst_multi_queue_loop),
6586         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
6587         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
6588         (compute_high_id), (gst_single_queue_new):
6589         * plugins/elements/gstmultiqueue.h:
6590         Take the multiqueue lock when updating the fill level so we don't get
6591         confused. 
6592
6593         After applying a buffer or event on the src pad segment, make sure to
6594         call gst_data_queue_limits_changed() to get the data queue to unblock
6595         and check the filled state again.
6596         
6597         Rework the not-linked pad handling so the logic is that not-linked 
6598         pads can push as fast as they like, but only so they never get 
6599         ahead of any linked pads.
6600
6601         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
6602         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
6603         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
6604
6605         Add a test to check that not-linked pads always stay behind
6606         linked pads.
6607
6608         Fixes: #430682
6609
6610 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
6611
6612         * docs/random/release:
6613           Some updates to the release procedure.
6614
6615 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
6616
6617         * gst/gstelementfactory.c: (__gst_element_details_clear):
6618           Microoptimization that saves stunning 80 bytes.
6619
6620 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
6621
6622         * docs/plugins/gstreamer-plugins.args:
6623         * docs/plugins/inspect/plugin-coreelements.xml:
6624         * docs/plugins/inspect/plugin-coreindexers.xml:
6625           Update docs with caps info.
6626
6627 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6628
6629         * po/it.po:
6630           Updated Italian translation.
6631
6632 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6633
6634         * ChangeLog:
6635         * po/vi.po:
6636           Update Vietnamese translations.
6637
6638 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6639
6640         * libs/gst/base/gstbasesink.c:
6641           Remove unused signal enum.
6642
6643 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
6644
6645         * docs/gst/gstreamer-sections.txt:
6646         * gst/gstelement.c:
6647         * gst/gstutils.c: (gst_type_register_static_full):
6648         Beef up and include the docs for gst_type_register_static_full and
6649         gst_element_class_set_details_simple and add the API keyword
6650         in the ChangeLog.
6651
6652 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
6653
6654         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6655         (update_time_level), (gst_single_queue_push_one),
6656         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
6657         (single_queue_overrun_cb), (single_queue_underrun_cb),
6658         (single_queue_check_full):
6659         Fix setting max-* properties after adding queues.
6660         Use IS_FILLED for checking visible items.
6661         Signal overrun if multiple queues overrun.
6662         Add extra debug output.
6663         Patch by: Wim Taymans <wim@fluendo.com>
6664
6665 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
6666
6667         * gst/gstelement.c: (gst_element_class_set_details_simple):
6668         * gst/gstelement.h:
6669         * gst/gstutils.c: (gst_type_register_static_full):
6670         * gst/gstutils.h:
6671         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
6672         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
6673         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
6674         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
6675         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
6676         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
6677         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
6678         * plugins/elements/gstidentity.c: (gst_identity_base_init):
6679         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
6680         * plugins/elements/gstqueue.c: (gst_queue_base_init),
6681         (apply_buffer), (gst_queue_chain):
6682         * plugins/elements/gsttee.c: (gst_tee_base_init):
6683         * plugins/elements/gsttypefindelement.c:
6684         (gst_type_find_element_base_init),
6685         (gst_type_find_element_class_init):
6686           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
6687           API: add gst_type_register_static_full
6688           API: add gst_element_class_set_details_simple
6689
6690 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6691
6692         * docs/pwg/advanced-types.xml:
6693           Fix typo in iana.org URI.
6694
6695 2007-06-19  Andy Wingo  <wingo@pobox.com>
6696
6697         * tests/check/pipelines/simple-launch-lines.c
6698         (test_state_change_returns): Enable pull-mode tests now that
6699         basesink has been fixed.
6700
6701         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
6702         Changed from gst_base_sink_is_prerolled, reversing the sense of
6703         the return value. Returns FALSE also if the sink is in pull mode,
6704         in which case it needs no preroll.
6705         (gst_base_sink_query, gst_base_sink_change_state): Update for
6706         needs_preroll change.
6707         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
6708         chaining up, in which we return SUCCESS directly if we activated
6709         in pull mode instead of ASYNC. Involves countering an async_start
6710         message sent before chaining up; not sure if this is correct, in
6711         an ideal world we only send async-start when activating in push
6712         mode.
6713
6714         * tests/check/pipelines/simple-launch-lines.c
6715         (test_state_change_returns): New test, partially disabled until
6716         basesink is fixed.
6717
6718 2007-06-19  Wim Taymans  <wim@fluendo.com>
6719
6720         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6721         (gst_multi_queue_sink_event):
6722         Fix event leak.
6723
6724 2007-06-19  Wim Taymans  <wim@fluendo.com>
6725
6726         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6727         (gst_bin_change_state_func), (bin_push_state_continue),
6728         (bin_handle_async_start), (bin_handle_async_done),
6729         (gst_bin_handle_message_func):
6730         Move the common code for posting state-change messages into
6731         one function.
6732         Broadcast the state signal after we posted the messages.
6733         Mark the bin as busy when it's doing a state-change.
6734         Make sure async-start/done messages don't interfere with the bin's
6735         state when it's busy.
6736         After the state change, let the bin check which elements completed the
6737         state change while it was busy so that it can update its state.
6738
6739 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
6740
6741         * docs/random/release:
6742         Add a note about updating the doap file to the release checklist
6743
6744 2007-06-18  Wim Taymans  <wim@fluendo.com>
6745
6746         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6747         (gst_single_queue_push_one), (gst_multi_queue_chain),
6748         (gst_multi_queue_sink_event):
6749         Make sure we don't reference the buffer/event after we have given away
6750         ownership in the queue.
6751
6752 2007-06-18  Wim Taymans  <wim@fluendo.com>
6753
6754         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
6755         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
6756         Update queue state _after_ adding the item in the queue because else we
6757         could end up being full without the element added yet.
6758
6759 2007-06-18  Wim Taymans  <wim@fluendo.com>
6760
6761         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6762         (gst_bin_remove_func), (gst_bin_get_state_func),
6763         (gst_bin_element_set_state), (gst_bin_continue_func),
6764         (bin_push_state_continue), (bin_handle_async_start),
6765         (bin_handle_async_done), (gst_bin_handle_message_func):
6766         * gst/gstbin.h:
6767         Immediatly commit the toplevel bin state when receiving an async-done
6768         message. This enables us to avoid spawning a thread to commit the state
6769         in some common cases and it also avoids some races.
6770         Avoid spawning a state thread when adding/removing async elements to a
6771         toplevel bin. Instead we immediatly update the bin state.
6772         Get rid of iterating all the children when getting the state in the bin
6773         because it is now always up-to-date.
6774         Fix bug where locked elements would always return _SUCCESS even it they
6775         returned NO_PREROLL before being locked.
6776         Fix the order of the state_change, async-start/done messages that was
6777         sometimes incorrect.
6778         Mark the state_dirty field as deprecated, we don't need it anymore as we
6779         are always up-to-date.
6780
6781         * gst/gstelement.c: (gst_element_get_state_func),
6782         (gst_element_continue_state):
6783         Small debug inprovements.
6784         Return the previous element state return when nothing is pending instead
6785         of blindly returning SUCCESS.
6786
6787         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
6788         (gst_sinks_suite):
6789         Add a whole bunch of new testcases.
6790
6791 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6792
6793         * po/uk.po:
6794         * po/vi.po:
6795           Update translations.
6796
6797 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
6798
6799         * gst/gstpad.c:
6800         Fix typo in the docs.
6801
6802 2007-06-15  Wim Taymans  <wim@fluendo.com>
6803
6804         * docs/libs/gstreamer-libs-sections.txt:
6805         Add docs for new methods.
6806
6807 2007-06-15  Wim Taymans  <wim@fluendo.com>
6808
6809         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
6810         (gst_multi_queue_item_new):
6811         Don't use GSlice because we don't depend on >= 2.10 yet.
6812
6813 2007-06-15  Wim Taymans  <wim@fluendo.com>
6814
6815         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
6816         (update_time_level), (apply_segment), (apply_buffer),
6817         (gst_single_queue_push_one), (gst_multi_queue_item_new),
6818         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
6819         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
6820         (single_queue_underrun_cb), (single_queue_check_full):
6821         Remove debug printf.
6822
6823 2007-06-15  Wim Taymans  <wim@fluendo.com>
6824
6825         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
6826         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
6827         (gst_data_queue_set_flushing), (gst_data_queue_push),
6828         (gst_data_queue_pop), (gst_data_queue_drop_head),
6829         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
6830         * libs/gst/base/gstdataqueue.h:
6831         Various cleanups.
6832         Added methods to get the current levels and to inform the queue that the
6833         'full' limits changed.
6834
6835         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
6836         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
6837         (gst_single_queue_flush), (update_time_level), (apply_segment),
6838         (apply_buffer), (gst_single_queue_push_one),
6839         (gst_multi_queue_item_steal_object),
6840         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
6841         (gst_multi_queue_loop), (gst_multi_queue_chain),
6842         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
6843         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
6844         (gst_multi_queue_src_query), (single_queue_overrun_cb),
6845         (single_queue_underrun_cb), (single_queue_check_full),
6846         (gst_single_queue_new):
6847         Keep track of time in the queue by measuring the difference between
6848         running_time on input and output. This gives more accurate results and
6849         can compensate for segments correctly.
6850         Make a queue by default only 5 buffers deep. We will now increase the
6851         buffer size depending on the filledness of the other queues.
6852         Factor out commong flush code.
6853         Make sure we don't add additional refcounts to buffers when we can avoid
6854         it.
6855         Propagate GstFlowReturn differently.
6856         Use GSlice for intermediate GstMultiQueueItems.
6857         Keep track of EOS.
6858         Resize queues on over and underruns based on filled level of other
6859         queues.
6860         When checking if the queue is filled, prefer to measure in time if we
6861         can and fall back to bytes when no time is known.
6862
6863         * plugins/elements/gstqueue.c:
6864         Fix return value.
6865
6866 2007-06-15  Wim Taymans  <wim@fluendo.com>
6867
6868         * libs/gst/base/gstbasetransform.c:
6869         (gst_base_transform_sink_event):
6870         Work around the brokenness of the event vmethod in basetransform. Prefer
6871         to return TRUE when the subclass returned FALSE (meaning don't forward
6872         the event). 
6873
6874         * libs/gst/base/gstbasetransform.h:
6875         Clarify the docs.
6876
6877 2007-06-15  Wim Taymans  <wim@fluendo.com>
6878
6879         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
6880         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6881         (gst_base_src_default_query), (gst_base_src_get_range),
6882         (gst_base_src_start):
6883         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
6884         Improve debugging.
6885
6886 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
6887
6888         * docs/pwg/advanced-types.xml:
6889           Added more formats to caps table.
6890
6891 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
6892
6893         * tools/gst-launch.c: (main):
6894           Remove crufy code. GOption does not need this workaround.
6895
6896 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6897
6898         * libs/gst/controller/gstcontroller.c:
6899         (gst_controlled_property_set_interpolation_mode):
6900           Fix wrong getter for enums in controller.
6901
6902 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6903
6904         * libs/gst/check/gstcheck.c: (gst_check_init):
6905           Intercept criticals and warnings in the Gst-Phonon log domain, so
6906           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
6907           well.
6908         
6909 2007-06-14  Edward Hervey  <edward@fluendo.com>
6910
6911         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
6912         Since this file doesn't include "gst.h" it will not go through the
6913         macros that disable GST_LOG if debugging was disabled.
6914
6915 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6916
6917         * libs/gst/check/Makefile.am:
6918         * libs/gst/check/gstcheck.h:
6919         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6920         * pkgconfig/gstreamer-check.pc.in:
6921           Ugly 'fix' for the controller unit test on the p5 bot: in
6922           fail_unless_equals_float() check whether the values are 'almost
6923           equal' by allowing a small absolute error, which should be good
6924           enough for our use cases (normal numbers and values close to 0).
6925           Proper fixage left to floating point arithmetic aficionados.
6926
6927 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6928
6929         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
6930         (gst_base_sink_render_object), (gst_base_sink_get_position):
6931           Add two breaks thats where missing.
6932
6933 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6934
6935         * docs/libs/gstreamer-libs-sections.txt:
6936         * libs/gst/check/gstcheck.h:
6937           API: add fail_unless_equals_float() and assert_equals_float().
6938           Add documentation for some of the macros.
6939
6940         * tests/check/libs/controller.c: (GST_START_TEST):
6941           Use newly-added asserts.
6942
6943 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6944
6945         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
6946           Show the caps change in the log to help spotting the case of not
6947           exactly matching caps.
6948
6949 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6950
6951         * docs/pwg/building-boiler.xml:
6952           Fix typos, spotted by Thijs Vermeir (#447190).
6953
6954 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6955
6956         * docs/plugins/tmpl/.cvsignore:
6957         Ignore file to keep the buildbots happy
6958
6959 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6960
6961         * docs/plugins/Makefile.am:
6962         * docs/plugins/gstreamer-plugins-docs.sgml:
6963         * docs/plugins/gstreamer-plugins-sections.txt:
6964         Pull fdsink into the docs too.
6965
6966 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
6967
6968         * libs/gst/controller/gstinterpolation.c:
6969         Actually use the new functions with min/max checks for the trigger and
6970         none interpolation modes for get() and get_value_array() instead of
6971         just the latter.
6972
6973 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
6974
6975         * libs/gst/controller/gstcontroller.c:
6976         (gst_controlled_property_free):
6977         Unset the minimum and maximum GValues when freeing the corresponding
6978         GstControllerProperty struct.
6979
6980 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
6981
6982         * libs/gst/controller/gstcontroller.c:
6983         (gst_controlled_property_new):
6984         * libs/gst/controller/gstcontrollerprivate.h:
6985         * libs/gst/controller/gstinterpolation.c:
6986         (gst_controlled_property_find_control_point_node),
6987         (interpolate_none_get), (interpolate_none_get_enum_value_array),
6988         (interpolate_none_get_string_value_array),
6989         (interpolate_trigger_get),
6990         (interpolate_trigger_get_enum_value_array),
6991         (interpolate_trigger_get_string_value_array):
6992         Protect against values larger or smaller than the minimum or maximum
6993         allowed value for the property when using values that can be compared.
6994
6995         Optimize trigger interpolator a bit by taking the last requested value
6996         into account instead of always looping through the complete list.
6997
6998         Fix coding style a bit, everywhere else we use "return foo" instead
6999         of "return (foo)".
7000         
7001         * tests/check/libs/controller.c: (GST_START_TEST),
7002         (gst_controller_suite):
7003         Add unit test for the protection against too large or too small
7004         values.
7005
7006 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
7007
7008         * docs/random/slomo/controller.txt:
7009         Add some thoughts about the future of the controller.
7010
7011 2007-06-08  Wim Taymans  <wim@fluendo.com>
7012
7013         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7014         Don't overflow in retimestamping code.
7015
7016 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
7017
7018         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
7019         Use gst_util_guint64_to_gdouble for conversions.
7020         * win32/common/libgstreamer.def:
7021         Add new exported functions.
7022
7023 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
7024
7025         * gst/gstutils.c:
7026           Small docs addition.
7027
7028 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7029
7030         * README:
7031           Remove that test line again.
7032
7033 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7034
7035         * README:
7036           Test commit mail sending.
7037
7038 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7039
7040         * configure.ac:
7041           Fix typo and test commit mail sending.
7042
7043 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7044
7045         * tests/examples/controller/audio-example.c:
7046           Improve comment and test commit mail sending.
7047
7048 2007-06-07  Wim Taymans  <wim@fluendo.com>
7049
7050         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
7051         (gst_bin_remove_func), (gst_bin_element_set_state),
7052         (bin_handle_async_start), (bin_handle_async_done),
7053         (gst_bin_handle_message_func):
7054         Add helper function to find messages.
7055         Generate the async-done messages together with the state change
7056         messages.
7057         Small cleanups in handling toplevel bins.
7058
7059 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
7060
7061         * libs/gst/base/gstdataqueue.c:
7062         * libs/gst/base/gstdataqueue.h:
7063         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
7064         (gst_multi_queue_item_new), (gst_multi_queue_chain),
7065         (gst_multi_queue_sink_event):
7066         * tests/check/elements/multiqueue.c: (multiqueue_suite):
7067           Fix multiqueue leaking buffers and events when downstream or the
7068           queue are flushing. Make refcounting assumptions explicit and
7069           document them (shouldn't break existing code that uses it other than
7070           maybe leak miniobjects, but that already happens anyway). Add unit
7071           test for the most common flushing case. Fixes #423700.
7072           
7073 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
7074
7075         * libs/gst/controller/gstcontroller.c:
7076         Clarify docs: The get_all, get_value_array(s) functions
7077         don't modify the GObject properties.
7078
7079 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
7080
7081         * libs/gst/controller/gstcontroller.c:
7082         (gst_controlled_property_set_interpolation_mode),
7083         (gst_controlled_property_prepend_default),
7084         (gst_controlled_property_new), (gst_controller_set_unlocked),
7085         (gst_controller_set), (gst_controller_set_from_list),
7086         (gst_controller_unset), (gst_controller_unset_all):
7087         * libs/gst/controller/gstcontrollerprivate.h:
7088         * libs/gst/controller/gstinterpolation.c:
7089         Factor out the 'set' logic into gst_controller_set_unlocked for the
7090         gst_controller_set and gst_controller_set_from_list functions.
7091
7092         To make life of the interpolators easier always add a control point
7093         at timestamp zero with the default value.
7094
7095         In the linear interpolator make things more obvious by better variable
7096         naming (slope).
7097
7098         Implement cubic interpolation mode (by using a natural cubic spline)
7099         and map the quadratic interpolation mode to this too (as quadratic
7100         doesn't make much sense, see discussion on the list).
7101
7102         * tests/check/libs/controller.c: (GST_START_TEST),
7103         (gst_controller_suite):
7104         Add unit test for the cubic interpolation mode and check everywhere
7105         if the interpolation mode could be set as expected.
7106
7107 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
7108
7109         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
7110           Don't use GLib-2.10 functions, we still depend on
7111           GLib-how-old-is-it-again-2.8.
7112
7113 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
7114
7115         * docs/gst/gstreamer-sections.txt:
7116         * gst/Makefile.am:
7117         * gst/gst.c:
7118         * gst/gst.h:
7119         * gst/gstparamspecs.c: (_gst_param_fraction_init),
7120         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
7121         (_gst_param_fraction_values_cmp),
7122         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
7123         * gst/gstparamspecs.h:
7124         * gst/gstvalue.c:
7125         * tests/check/Makefile.am:
7126         * tests/check/gst/.cvsignore:
7127         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
7128         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
7129         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
7130         (GST_START_TEST), (gst_param_spec_suite):
7131           API: add GstParamSpecFraction, so elements can have fraction
7132           properties without lots of painful string parsing (#444648).
7133
7134 2007-06-05  Wim Taymans  <wim@fluendo.com>
7135
7136         * gst/gstobject.c: (gst_object_class_init):
7137         Fix signal signature.
7138
7139         * gst/gstsegment.c:
7140         Add small clarification in the api docs.
7141
7142         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
7143         States are protected with object lock.
7144
7145 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
7146
7147         * AUTHORS:
7148         I should probably be listed as an author by now.
7149
7150         * docs/random/release:
7151         Update the release doc
7152
7153 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
7154
7155         * gst/gstvalue.c:
7156           Make docs for gst_value_compare() mention return enums that
7157           actually exist.
7158
7159 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
7160
7161         * configure.ac:
7162           Back to CVS
7163
7164 === release 0.10.13 ===
7165
7166 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
7167
7168         * configure.ac:
7169           releasing 0.10.13, "With or without you"
7170
7171 2007-05-25  Wim Taymans  <wim@fluendo.com>
7172
7173         * gst/gstbin.c: (bin_handle_async_done):
7174         Make sure that the child bin stops after completing the async state
7175         change so that the parent can continue the state change to PLAYING.
7176         Fixes #441159.
7177
7178 2007-05-25  Wim Taymans  <wim@fluendo.com>
7179
7180         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7181         (unref_data), (gst_collect_pads_remove_pad),
7182         (gst_collect_pads_check_pads):
7183         Use additional refcounting to avoid crashes when dynamically adding and
7184         removing pads. Fixes #420206.
7185
7186 2007-05-24  Wim Taymans  <wim@fluendo.com>
7187
7188         * tools/gst-launch.c: (event_loop):
7189         When buffering goes from a two digit to a single digit number, make sure
7190         to remove the old second digit by writing a blank over it.
7191
7192 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
7193
7194         * libs/gst/base/gstdataqueue.c:
7195           Eliminate tabs and trailing comma in enum list; fix some typos.
7196
7197 2007-05-24  Wim Taymans  <wim@fluendo.com>
7198
7199         * tests/check/gst/gstbin.c: (GST_START_TEST):
7200         Allow refcount of 3 and 4 because some state thread might still be busy
7201         with it.
7202
7203 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
7204
7205         * plugins/elements/Makefile.am:
7206         * plugins/elements/gstmultiqueue.h:
7207         * plugins/elements/gstqueue.h:
7208           These are not installed headers, no need for padding.
7209
7210 2007-05-24  Wim Taymans  <wim@fluendo.com>
7211
7212         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7213         (gst_bin_continue_func):
7214         Enable latency for next release.
7215         Restore STATE_LOCK around recalc_state that was left out during the
7216         rewrite and could result in racy behaviour when _get_state and
7217         recalc_state are run concurrently. See #440463.
7218
7219 2007-05-23  Wim Taymans  <wim@fluendo.com>
7220
7221         * tests/check/gst/gstsystemclock.c: (store_callback),
7222         (GST_START_TEST):
7223         Improve test_async_order to also work when both timers are already
7224         expired when we get scheduled to check it.
7225
7226 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
7227
7228         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
7229         (gst_bin_set_property), (gst_bin_get_property),
7230         (gst_bin_remove_func), (gst_bin_handle_message_func):
7231         * gst/gstbin.h:
7232           'private' is a c++ keyword, let's not use that in header files,
7233           otherwise c++ compilers will throw a tantrum.
7234
7235 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
7236
7237         * plugins/elements/gstelements.c:
7238         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
7239         (gst_file_sink_get_current_offset):
7240         * plugins/indexers/gstindexers.c: (plugin_init):
7241           Use #ifdef for HAVE_XYZ for consistency.
7242
7243         * tests/check/Makefile.am:
7244         * tests/check/elements/.cvsignore:
7245         * tests/check/elements/filesink.c: (setup_filesink),
7246         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
7247           Add some unit tests for filesink.
7248
7249 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
7250
7251         Patch by: Mark Nauwelaerts <manauw at skynet be>
7252
7253         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
7254         (gst_file_sink_query), (gst_file_sink_do_seek),
7255         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7256         * plugins/elements/gstfilesink.h:
7257           Fix position reporting; rename data_written member to current_pos to
7258           reflect its real meaning (fixes #412648).
7259
7260 2007-05-22  Edward Hervey  <edward@fluendo.com>
7261
7262         * docs/gst/gstreamer-sections.txt:
7263         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7264         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
7265         (gst_bin_remove_func), (gst_bin_handle_message_func):
7266         * gst/gstbin.h:
7267         Add a property for bins that handle the state change of their childs.
7268         Fixes #435880
7269
7270 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
7271
7272         * libs/gst/controller/gstinterpolation.c:
7273         Use an array of the correct type when using _get_value_array with
7274         linear interpolation.
7275
7276 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
7277
7278         * gst/gstelement.c (gst_element_requires_clock,
7279           gst_element_provides_clock, gst_element_request_pad,
7280           gst_element_class_set_details, gst_element_class_set_details_simple,
7281           gst_element_default_send_event, gst_element_abort_state,
7282           gst_element_continue_state, gst_element_set_state,
7283           gst_element_set_state_func, iterator_activate_fold_with_resync):
7284         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
7285           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
7286           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
7287           gst_pad_get_range, gst_pad_pull_range):
7288         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
7289           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
7290           GstPadActivateModeFunction, GstPadChainFunction,
7291           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
7292           GstPadFixateCapsFunction, GstPadTemplate):
7293         * gst/gstpipeline.c (gst_pipeline_change_state,
7294           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
7295           gst_pipeline_set_clock, gst_pipeline_auto_clock,
7296           gst_pipeline_get_delay):
7297           Whitespace and docs fixes.
7298
7299 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
7300
7301         * libs/gst/controller/gstinterpolation.c:
7302         (interpolate_trigger_get_enum_value_array),
7303         (interpolate_trigger_get_string_value_array):
7304         Add support for retrieving value arrays when using the trigger
7305         interpolation mode. 
7306
7307 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
7308
7309         * libs/gst/controller/gstcontroller.c:
7310         (gst_controller_get_value_array):
7311         * libs/gst/controller/gstcontroller.h:
7312         Clarify the docs of gst_controller_get_value_array(): The array where
7313         the values should be written to must be allocated as there seems to be
7314         no way to get the size of a random GType. This doesn't change any
7315         behaviour. Also fix some typos all over the place and remove an unused,
7316         commented function that is not necessary as g_object_set() could be
7317         used instead.
7318         * tests/check/libs/controller.c: (GST_START_TEST),
7319         (gst_controller_suite):
7320         Add unit test for gst_controller_get_value_array().
7321
7322 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
7323
7324         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7325
7326         Disable part of the gst_buffer_try_new_and_alloc test, because
7327         it can happily succeed on 64-bit systems where there's more address
7328         space available.
7329
7330 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
7331
7332         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
7333         Add unit test for the improved caps checking from bug #421543.
7334
7335 2007-05-21  Wim Taymans  <wim@fluendo.com>
7336
7337         * docs/design/part-synchronisation.txt:
7338         Small addition.
7339
7340         * gst/gstbin.c: (gst_bin_query):
7341         * plugins/elements/gstqueue.c: (apply_segment):
7342         Improve debugging.
7343
7344         * gst/gstmessage.h:
7345         Improve docs.
7346
7347 2007-05-21  Wim Taymans  <wim@fluendo.com>
7348
7349         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
7350         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
7351         (gst_pad_configure_src):
7352         Added simple version of improved caps checking. It was previously
7353         assumed that a setcaps function would check the validity of the caps but
7354         people prefer us to check caps against the template automatically. 
7355         Fixes #421543.
7356
7357 2007-05-21  Wim Taymans  <wim@fluendo.com>
7358
7359         * libs/gst/base/gstbasetransform.h:
7360         Fix macro for locking/unlocking the transform lock.
7361
7362 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
7363
7364         * docs/plugins/tmpl/.cvsignore:
7365           Ignore more.
7366
7367 2007-05-18  Edward Hervey  <edward@fluendo.com>
7368
7369         * plugins/elements/gstqueue.c: (gst_queue_loop):
7370         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
7371         for the subtle art of warning a potentially blocking thread that it
7372         should check the source pad return value, and relay the information
7373         upstream.
7374
7375 2007-05-18  Edward Hervey  <edward@fluendo.com>
7376
7377         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7378         Release the queue lock !
7379
7380 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7381
7382         * docs/libs/gstreamer-libs-sections.txt:
7383         Add the two new controller functions to the appropiate places.
7384
7385 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7386
7387         reviewed by: Stefan Kost <ensonic@users.sf.net>
7388
7389         * libs/gst/controller/gstcontroller.c:
7390         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
7391         (_gst_controller_get_property), (_gst_controller_set_property),
7392         (_gst_controller_init), (_gst_controller_class_init):
7393         * libs/gst/controller/gstcontroller.h:
7394         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
7395         (gst_object_get_control_rate), (gst_object_set_control_rate):
7396         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
7397         Add API that provides sync suggestion timestamps for elements that
7398         call gst_object_sync_values() from which those elements can subdivide
7399         their processing loop to get the best results for the controlled
7400         properties. For now it just suggests last_sync + control_rate as
7401         new timestamp but this will be improved in the future.
7402
7403         While doing that change the control-rate property to a GstClockTime
7404         from guint and change it's meaning from samples to nanoseconds as
7405         the GstController doesn't know anything about sampling rate. Strictly
7406         speaking this breaks ABI but as the control-rate property didn't do
7407         anything in the past and as such couldn't be used this should be no
7408         problem.        
7409
7410 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7411
7412         reviewed by: Stefan Kost <ensonic@users.sf.net>
7413
7414         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7415         (gst_controller_unset_all):
7416         * libs/gst/controller/gstcontrollerprivate.h:
7417         * libs/gst/controller/gstinterpolation.c:
7418         (gst_controlled_property_find_control_point_node):
7419         Save last synced value from the list to continue searching from there
7420         in future syncs. This speeds everything up a bit.
7421         
7422 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7423
7424         reviewed by: Stefan Kost <ensonic@users.sf.net>
7425
7426         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
7427         (gst_control_point_find), (gst_controlled_property_new),
7428         (gst_control_point_free), (gst_controlled_property_free),
7429         (gst_controller_set), (gst_controller_set_from_list),
7430         (gst_controller_unset), (gst_controller_unset_all),
7431         (gst_controller_sync_values):
7432         * libs/gst/controller/gstcontroller.h:
7433         * libs/gst/controller/gstcontrollerprivate.h:
7434         * libs/gst/controller/gstinterpolation.c:
7435         (gst_controlled_property_find_control_point_node),
7436         (interpolate_none_get), (interpolate_trigger_get):
7437         Add a new private GstControlPoint struct which "inherits" from
7438         GstTimedValue to allow different interpolators to store internal
7439         values next to each control point. From the outside everything is
7440         still a GstControlPoint so we don't loose binary compatibility.
7441         Also fixup all the GValue handling to not leak GValues or list nodes.
7442         * tests/check/libs/controller.c: (GST_START_TEST):
7443         Free the list nodes and GValues in the controller_misc test.
7444
7445 2007-05-17  Edward Hervey  <edward@fluendo.com>
7446
7447         * gst/gstsegment.c:
7448         Small doc fix.
7449
7450 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
7451
7452         * gst/gstplugin.c: (gst_plugin_load_file):
7453           If we fail to load a plugin because of unresolved symbols or missing
7454           libraries and spew a warning to stderr, we may just as well mention
7455           which plugin it was that failed to load.
7456
7457 2007-05-13  David Schleef  <ds@schleef.org>
7458
7459         * docs/Makefile.am: the gtk-doc makefile snippet correctly
7460           handles the case when ENABLE_GTK_DOC is false, and installs
7461           the prebuilt documentation.  So gtk-doc subdirs are 
7462           unconditionally enabled.  Fixes: #349099.
7463
7464 2007-05-13  David Schleef  <ds@schleef.org>
7465
7466         * gst/gstutils.h: Reword some documentation.
7467
7468 2007-05-12  David Schleef  <ds@schleef.org>
7469
7470         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
7471           do anything with the passed "module" parameter, so remove it.
7472           Allows removal of additional vestigal code.
7473
7474 2007-05-12  David Schleef  <ds@schleef.org>
7475
7476         * gst/gstplugin.c:
7477           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
7478           Switch to using g_stat() because it's more portable.
7479
7480 2007-05-12  David Schleef  <ds@schleef.org>
7481
7482         * gst/gst.c:
7483           Add GST_DISABLE_OPTION_PARSING, in order to disable option
7484           parsing for embedded systems.
7485         * gst/gstelementfactory.c:
7486           Allow gst_element_register() to be called with plugin==NULL.
7487           Did nobody notice that static elements were broken?
7488
7489 2007-05-12  Wim Taymans  <wim@fluendo.com>
7490
7491         * tools/gst-launch.c: (event_loop):
7492         Give more interesting info when buffering starts and stops.
7493         Fix case where buffering starts but we fail to update the buffering flag
7494         because the target state is not PLAYING.
7495
7496 2007-05-12  Wim Taymans  <wim@fluendo.com>
7497
7498         * plugins/elements/gstqueue.c: (gst_queue_init),
7499         (gst_queue_finalize), (update_time_level), (apply_segment),
7500         (apply_buffer), (gst_queue_locked_flush),
7501         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
7502         (gst_queue_handle_sink_event), (gst_queue_chain),
7503         (gst_queue_push_one), (gst_queue_loop):
7504         * plugins/elements/gstqueue.h:
7505         Refactor an cleanup queue a bit.
7506         Do better time level calculations that also work when the srcpad is not
7507         yet running.
7508         Remove some unneeded debug lines.
7509
7510         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
7511         Added testcase for time level measurement.
7512         Try to make some stuff more racefree.
7513
7514 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
7515
7516         * gst/gsturi.c: (gst_element_make_from_uri):
7517           Don't leak plugin feature.
7518
7519         * tests/check/Makefile.am:
7520         * tests/check/gst/.cvsignore:
7521         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
7522           Add brain-dead unit test.
7523
7524 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
7525
7526         Patch by: Jeroen Wouters <woutersj at gmail com>
7527
7528         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
7529           Treat protocol strings in a case-insensitive way (#437563).
7530
7531 2007-05-11  Michael Smith <msmith@fluendo.com>
7532
7533         * gst/gstplugin.c: (gst_plugin_load_file):
7534         * gst/gstregistry.c: (gst_registry_scan_path_level):
7535           Don't print a g_warning for any failure to load a shared object.
7536           Instead, push this down into gstplugin.c, and warn _only_ if we
7537           failed to open the module (i.e. failure to link).
7538           Avoids warnings on normal, working, non-plugin .so files.
7539
7540 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
7541
7542         * gst/gstplugin.c (gst_plugin_load_file):
7543         * gst/gstregistry.c (GST_CAT_DEFAULT,
7544           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
7545           Print a g_warning if there was an error when loading a plugins during
7546           registry scan. The shuld help beginners starting with gst-plugin
7547           template.
7548
7549 2007-05-10  Wim Taymans  <wim@fluendo.com>
7550
7551         * plugins/elements/gstqueue.c: (gst_queue_class_init),
7552         (update_time_level), (gst_queue_locked_flush),
7553         (gst_queue_handle_sink_event), (gst_queue_chain),
7554         (gst_queue_push_one), (gst_queue_loop):
7555         * plugins/elements/gstqueue.h:
7556         Be smarter when calculating the current amount of data in the queue by
7557         measuring the difference between start and end timestamps (in running
7558         time) inside the queue. Fixes #432876.
7559         API: GstQueue::pushing to notify elements that we are pushing data again
7560         since the running signal is rather broken for this purpose.
7561
7562 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
7563
7564         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
7565           gst_queue_base_init, gst_queue_init):
7566           use GST_BOILERPLATE
7567
7568 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
7569
7570         * win32/common/libgstreamer.def:
7571         Add new exported functions.
7572         * win32/vs6/grammar.dsp:
7573         Use grammar pre-generated files.
7574
7575 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7576
7577         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
7578
7579         * gst/Makefile.am:
7580         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
7581         * gst/gstparse.h:
7582         * gst/gstutils.c: (gst_parse_bin_from_description):
7583         * gst/gstutils.h:
7584           Maintain API and ABI when --disable-parse is used. Now that
7585           we have an appropriate error code, we can just return NULL and the
7586           appropriate error when gst_parse_launch() is used despite it having
7587           been disabled (#342564).
7588
7589         * tests/check/Makefile.am:
7590         * tests/check/pipelines/.cvsignore:
7591         * tests/check/pipelines/parse-disabled.c:
7592           Make sure these functions exist and return NULL plus a GError when
7593           --disable-parse is used.
7594
7595 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7596
7597         * tests/benchmarks/complexity.c: (main):
7598         * tests/benchmarks/mass-elements.c: (main):
7599           Set a good example and don't leak messages.
7600
7601 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
7602
7603         * docs/gst/Makefile.am:
7604         * docs/libs/Makefile.am:
7605           Correct fixxrefs options.
7606
7607         * docs/plugins/Makefile.am:
7608         * docs/plugins/gstreamer-plugins-docs.sgml:
7609         * docs/plugins/gstreamer-plugins-sections.txt:
7610         * plugins/elements/Makefile.am:
7611         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
7612         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
7613           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
7614           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
7615           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
7616           _GstCapsFilterClass, trans_class):
7617         * plugins/elements/gstelements.c (name, rank, type, _elements):
7618         * plugins/elements/gstidentity.c
7619           (gst_identity_check_imperfect_timestamp,
7620           gst_identity_check_imperfect_offset):
7621           Document capsfilter and add doc-blurb to identity.
7622
7623 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7624
7625         * libs/gst/controller/gstcontroller.c:
7626         (gst_controlled_property_set_interpolation_mode):
7627         * libs/gst/controller/gstinterpolation.c:
7628           Don't crash if someone tries to set an interpolation mode that
7629           is invalid or that isn't supported yet. Fixes #422295.
7630
7631         * tests/check/libs/controller.c: (GST_START_TEST),
7632         (gst_controller_suite):
7633           Add a test case for the above.
7634
7635 2007-05-03  Edward Hervey  <edward@fluendo.com>
7636
7637         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7638         Properly set the last_stop position on GstSegment. This will only happen
7639         if there is a buffer to push out.
7640
7641 2007-05-03  Wim Taymans  <wim@fluendo.com>
7642
7643         * libs/gst/base/gstbasetransform.c:
7644         (gst_base_transform_buffer_alloc):
7645         always_in_place does not mean that the sink and source caps are the
7646         same! Make sure we don't blindly proxy the buffer_alloc in this case.
7647
7648 2007-05-03  Wim Taymans  <wim@fluendo.com>
7649
7650         * docs/libs/gstreamer-libs-sections.txt:
7651         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7652         (gst_base_src_default_query), (gst_base_src_get_range):
7653         * libs/gst/base/gstbasesrc.h:
7654         API: gst_base_src_query_latency(). Added method so that subclasses can
7655         easily get the latency values of the base source class.
7656
7657 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
7658
7659         * tools/gst-inspect.c (print_implementation_info):
7660         Remove 0.8 cruft.
7661
7662 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
7663
7664         * tools/Makefile.am:
7665         * tools/gst-launch.1.in:
7666           Don't create a customised man page based on the host architecture,
7667           describe the default registry path generically. That way the man
7668           page is the same for all architectures and packagers have one
7669           multilib issue less to deal with. Fixes #434926.
7670
7671 2007-05-02  Wim Taymans  <wim@fluendo.com>
7672
7673         * gst/gstpad.c:
7674         Fix documentation as spotted by rg on IRC. 
7675
7676 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
7677
7678         * gst/gstutils.c:
7679           Improve docs for gst_element_{link,unlink}.
7680
7681 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
7682
7683         * docs/design/part-events.txt:
7684         * docs/design/part-overview.txt:
7685         * gst/gstevent.c:
7686         * gst/gsturi.c:
7687         * gst/gsturi.h:
7688         * libs/gst/base/gstbasesink.c:
7689           Typo fixes; minor docs addition.
7690
7691 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7692
7693         * docs/gst/gstreamer-sections.txt:
7694         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
7695         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
7696         * gst/gsturi.h:
7697         API: Add gst_uri_protocol_is_supported(), which checks if a sink
7698         or src that supports a given URI protocol exists.
7699
7700 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7701
7702         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7703         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7704         Set the location to NULL if "file://" is set as URI. Otherwise
7705         some random previous URI would still be set if "file://" is
7706         set on an already used filesink/filesrc.
7707
7708 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7709
7710         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7711         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7712         Special case the "file://" URI as as this is used by some
7713         applications to test with gst_element_make_from_uri if there's
7714         an element that supports the URI protocol.
7715         Also move the g_path_is_absolute() check for the location part
7716         of the URI to also check this for "file://localhost/bla" URIs.
7717
7718 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
7719
7720         * docs/gst/gstreamer-sections.txt:
7721         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
7722         * gst/gstbuffer.h:
7723         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
7724         (gst_buffer_suite):
7725           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
7726
7727 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
7728
7729         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
7730         (gst_registry_binary_load_pad_template),
7731         (gst_registry_binary_load_plugin),
7732         (gst_registry_binary_read_cache):
7733         * gst/gstregistrybinary.h:
7734           Implement no-mmap alternative for registry reading. Do code cleanups.
7735           Add more comments about avoiding strdups for all text data. Comments
7736           welcome.
7737
7738 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
7739
7740         * gst/gstregistrybinary.h (GstBinaryPluginElement,
7741           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
7742           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
7743           Comment structs and reformat to fix the build (that stuff should go
7744           into a priv. header).
7745
7746 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
7747
7748         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
7749         (gst_registry_binary_load_feature):
7750         * gst/gstregistrybinary.h:
7751           Refactor so that we can implement multiple features. Add support for
7752           TypeFindFactory features.
7753
7754 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
7755
7756         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
7757
7758         * configure.ac:
7759           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
7760
7761 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
7762
7763         * gst/gstbin.c: (gst_bin_element_set_state),
7764         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
7765         (bin_handle_async_done), (gst_bin_handle_message_func):
7766           Fix build with --gst-disable-gst-debug
7767
7768 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
7769
7770         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
7771           Make sure streaming has finished before calling the ::stop() vfunc,
7772           since that vfunc might clear state which is being used in the
7773           streaming thread. This fixes a race that caused crashes in
7774           audioresample when shutting down a pipeline (#420106).
7775
7776 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7777
7778         * docs/gst/gstreamer-sections.txt:
7779           That was one byte missing.
7780
7781 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7782
7783         * configure.ac:
7784         * docs/gst/gstreamer-sections.txt:
7785         * gst/Makefile.am:
7786         * gst/gstconfig.h.in:
7787         * gst/gstobject.c: (gst_object_class_init),
7788         (gst_signal_object_class_init):
7789         * gst/gstobject.h:
7790           2nd attempt to have a xml-less build as a joined effort of #413123
7791           and #421480.
7792
7793 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7794
7795         * docs/design/draft-tagreading.txt:
7796           Added open issues/thoughts to draft.
7797
7798 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7799
7800         * gst/parse/grammar.tab.pre.c:
7801         * gst/parse/grammar.tab.pre.h:
7802         * gst/parse/lex._gst_parse_yy.pre.c:
7803         Update the prebuild parser sources.
7804
7805 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7806
7807         * gst/parse/Makefile.am:
7808         And now fix the building of the flex sources. Now everything should
7809         work as expected.
7810
7811 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7812
7813         * gst/parse/Makefile.am:
7814         Now hopefully fix the build failures by setting proper rule
7815         dependencies and moving instead of copying.
7816
7817 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7818
7819         * tests/benchmarks/complexity.gnuplot:
7820         * tests/benchmarks/complexity.scm:
7821         * tests/benchmarks/mass-elements.gnuplot:
7822         * tests/benchmarks/mass-elements.scm:
7823           Total licensification.
7824
7825 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7826
7827         * gst/parse/Makefile.am:
7828           Fix the build by correcting the rule that gave wrong files to flex.
7829
7830 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7831
7832         * tests/benchmarks/complexity.c:
7833         * tests/benchmarks/mass-elements.c:
7834           Change licence to LGPL as granted by Benjamin and Andy.
7835
7836 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7837
7838         * gst/parse/Makefile.am:
7839         Add correct grammar.tab.h dependency if compiling without new enough
7840         flex. Fixes #431150.
7841
7842 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
7843
7844         * gst/parse/Makefile.am:
7845         Fix typo and use outdated sources if the flex/bison sources are newer
7846         than the pregenerated ones but flex is too old. Print a warning in
7847         that case. This should fix the build on the build bot.
7848
7849 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
7850
7851         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
7852         * gst/parse/Makefile.am:
7853         * gst/parse/grammar.y:
7854         * gst/parse/parse.l:
7855         Make the parser reentrant and recursively callable. This requires flex
7856         >= 2.5.31, for older versions pregenerated sources are used as we
7857         can't bump the build dependency. Finally fixes #349180.
7858
7859         * gst/gstparse.c: (gst_parse_launch):
7860         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
7861         now anyway.
7862
7863         * docs/gst/Makefile.am:
7864         * docs/gst/Makefile.am:
7865         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
7866         (__gst_parse_strfree), (__gst_parse_link_new),
7867         (__gst_parse_link_free), (__gst_parse_chain_new),
7868         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
7869         (gst_parse_element_set), (gst_parse_free_link),
7870         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
7871         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
7872         (_gst_parse_launch):
7873         * gst/parse/grammar.tab.pre.h:
7874         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
7875         (yy_get_previous_state), (yy_try_NUL_trans), (input),
7876         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
7877         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
7878         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
7879         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
7880         (_gst_parse_yypop_buffer_state),
7881         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
7882         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
7883         (yy_fatal_error), (_gst_parse_yyget_extra),
7884         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
7885         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
7886         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
7887         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
7888         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
7889         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
7890         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
7891         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
7892         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
7893         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
7894         (_gst_parse_yyfree):
7895         If the installed flex version is too old use pre-generated parser
7896         sources. These pre-generated parser sources are always updated when
7897         the actual flex/bison sources change but require everybody who wants
7898         to change something in the parser to have flex >= 2.5.31 installed.
7899
7900 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
7901
7902         * common/m4/gst-gettext.m4:
7903         * gst/gst-i18n-lib.h:
7904           Make --disable-nls to work
7905
7906 2007-04-17  Wim Taymans  <wim@fluendo.com>
7907
7908         * gst/gstconfig.h.in:
7909         Revert previous change that broke the build.
7910
7911 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
7912
7913         * configure.ac:
7914         * gst/Makefile.am:
7915         * gst/gstconfig.h.in:
7916           Drop libxml2 dependency when building with 
7917           --enable-binary-registry --disable-loadsave
7918
7919 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
7920
7921         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
7922         (gst_registry_binary_read_cache):
7923         * gst/gstregistrybinary.h:
7924           Remove unnecessary <sys/mman.h> include which broke the win32 build
7925           with MingW; move includes from header file to .c file, even if the
7926           header file isn't installed; use g_strerror() where UTF-8 strings
7927           are expected, such as in GST_DEBUG messages.
7928
7929 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7930
7931         * docs/libs/gstreamer-libs-sections.txt:
7932         Remove bogus addition for API I didn't end up keeping.
7933
7934         * libs/gst/base/gstbasesrc.h:
7935         Mention Since: 0.10.13 in the documentation.
7936
7937         Add the API keyword to the previous ChangeLog entry.
7938
7939 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7940
7941         * docs/libs/gstreamer-libs-sections.txt:
7942         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7943         (gst_base_src_default_prepare_seek_segment),
7944         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
7945         * libs/gst/base/gstbasesrc.h:
7946         Allow basesrc derived classes to execute seeks in other formats
7947         by providing a prepare_seek_segment vmethod. Sub-classes can choose
7948         to prepare the GstSegment in any format that their perform_seek method
7949         will be able to understand. The default implementation provides the
7950         old behaviour of attempting to convert the seek offsets to the 
7951         configured native format.
7952
7953         API: basesrc::prepare_seek_segment vmethod.
7954
7955 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7956
7957         * gst/gstelement.c: (gst_element_get_state_func):
7958         Don't output the same debug statement twice.
7959
7960         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
7961         (gst_adapter_peek), (gst_adapter_take_buffer):
7962         Optimise the case where we have buffers at the head of the queue that
7963         can be joined quickly (because they're contiguous sub-buffers) by
7964         merging them together rather than copying data out into new memory.
7965
7966         * gst/parse/grammar.y:
7967         * tests/check/pipelines/parse-launch.c:
7968         Fix a leak in an error path for parse_launch, and add a check 
7969         for it to the testsuite.
7970
7971 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7972
7973         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
7974           Don't deadlock when releasing a pad - gst_pad_set_active may try
7975           and take the multiqueue lock too.
7976
7977 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
7978
7979         * gst/gsterror.c: (_gst_core_errors_init):
7980         * gst/gsterror.h:
7981           API: add GST_CORE_ERROR_DISABLED (#392804).
7982
7983 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7984
7985         * docs/faq/gst-uninstalled:
7986           don't get empty paths on the PATH variables
7987         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
7988           Don't format for the uncommon terminal width of 84 characters.
7989
7990 2007-04-06  Wim Taymans  <wim@fluendo.com>
7991
7992         * gst/gstpipeline.c: (reset_stream_time),
7993         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
7994         Only try to select a different pipeline clock when we went back to
7995         PAUSED and not when we merely got flushed.
7996
7997 2007-04-05  Michael Smith  <msmith@fluendo.com>
7998
7999         * tools/gst-launch.1.in:
8000           fractions are better supported in gstreamer than ractions, so
8001           suggest using those.
8002
8003 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8004
8005         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
8006
8007         * po/LINGUAS:
8008         * po/da.po:
8009           Added Danish translation.
8010
8011 2007-04-05  Wim Taymans  <wim@fluendo.com>
8012
8013         * libs/gst/base/gstbasesink.c:
8014         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
8015         Fix leak caused when refusing newsegment after EOS.
8016
8017         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8018         (gst_fake_sink_init), (gst_fake_sink_set_property),
8019         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
8020         (gst_fake_sink_render), (gst_fake_sink_change_state):
8021         * plugins/elements/gstfakesink.h:
8022         Add num-buffers property to make the element generate EOS after a
8023         configurable amount of buffers.
8024         API: fakesink::num-buffers property.
8025
8026         * tests/check/elements/fakesink.c: (GST_START_TEST),
8027         (fakesink_suite):
8028         Fix GstBus leak in test.
8029         Test for fakesink num-buffers.
8030
8031 2007-04-05  Wim Taymans  <wim@fluendo.com>
8032
8033         * libs/gst/base/gstbasesink.c:
8034         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
8035         (gst_base_sink_change_state):
8036         Don't accept anything after an EOS, return UNEXPECTED instead.
8037
8038         * tests/check/elements/fakesink.c: (GST_START_TEST),
8039         (fakesink_suite):
8040         Unit test for new EOS behaviour.
8041
8042 2007-04-05  Wim Taymans  <wim@fluendo.com>
8043
8044         * gst/gstelement.c: (gst_element_get_request_pad):
8045         Make padtemplates also work when they don't contain %s or %d.
8046
8047 2007-04-05  Wim Taymans  <wim@fluendo.com>
8048
8049         * docs/gst/gstreamer-sections.txt:
8050         * gst/gstclock.c: (gst_clock_adjust_unlocked),
8051         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
8052         * gst/gstclock.h:
8053         Improve _adjust_unlocked() so that it overflows less.
8054         Add gst_clock_unadjust_unlocked to convert from external time to
8055         internal time based on calibration.
8056         Add some more debug.
8057         API: GstClock::gst_clock_unadjust_unlocked()
8058
8059 2007-04-03  Wim Taymans  <wim@fluendo.com>
8060
8061         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
8062
8063         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8064         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
8065         when releasing sink pad. Fixes #425400.
8066
8067 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
8068
8069         * docs/random/ensonic/dynlink.txt:
8070           More work on proposal for new core api.
8071
8072         * docs/libs/gstreamer-libs-sections.txt:
8073         * libs/gst/base/gstbasetransform.h:
8074           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
8075           
8076         * libs/gst/controller/gstcontroller.c:
8077         (on_object_controlled_property_changed),
8078         (gst_controller_sync_values),
8079         (gst_controller_set_interpolation_mode):
8080         * libs/gst/controller/gstcontroller.h:
8081           Less verbose logging add docs for unimplemented parts and correctly
8082           return when using unavailable parts.
8083
8084 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
8085
8086         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
8087         Move all the debug to the CLOCK category, and associate it with
8088         the clock object.
8089
8090 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
8091
8092         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
8093         Make take_buffer a bit quicker by removing redundant checks
8094         caused by calling gst_adapter_take.
8095
8096 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
8097
8098         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
8099           Don't leak GCond.
8100
8101         * tests/check/Makefile.am:
8102         * tests/check/elements/.cvsignore:
8103         * tests/check/elements/multiqueue.c: (setup_multiqueue),
8104         (GST_START_TEST), (multiqueue_suite):
8105           Add some dead simple unit tests for the 'multiqueue' element
8106           (some bits don't work yet and are disabled for now).
8107
8108 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
8109
8110         * gst/gstelement.c: (gst_element_get_request_pad),
8111         (gst_element_class_get_request_pad_template):
8112           Make gst_element_get_request_pad() create request pads only for
8113           request pad templates and not for, say, sometimes pad templates.
8114
8115 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
8116
8117         * docs/design/draft-klass.txt:
8118           Add example that needs more thinking.
8119         
8120         * docs/design/draft-missing-plugins.txt:
8121           More thoughts about wrapper plugins.
8122         
8123         * docs/random/ensonic/embedded.txt:
8124         * docs/random/ensonic/profiling.txt:
8125           More design work.
8126
8127 2007-03-25  Wim Taymans  <wim@fluendo.com>
8128
8129         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
8130         (gst_base_src_loop):
8131         Only push the segment events in the PLAYING state for live sources.
8132
8133 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
8134
8135         * gst/gstpipeline.c: (gst_pipeline_change_state):
8136         Modify the clock distribution path in PAUSED->PLAYING so that we 
8137         never attempt to choose a new clock unless we're actually leaving
8138         the PAUSED state for the first time. This prevents choosing a
8139         different clock when the state_change gets called for a 2nd time due
8140         to some element doing an async state change.
8141
8142 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
8143
8144         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
8145         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
8146         (gst_pad_chain_unchecked), (gst_pad_push):
8147         Revert last commit. This needs some more thoughts.
8148
8149 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
8150
8151         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
8152         (gst_pad_chain_unchecked), (gst_pad_push):
8153         Check in set_caps if the caps are compatible with the pad and remove
8154         two functions that are redundant now. Fixes #421543.
8155
8156 2007-03-22  Wim Taymans  <wim@fluendo.com>
8157
8158         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
8159         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
8160         Unref some more to make valgrind happy.
8161
8162 2007-03-22  Wim Taymans  <wim@fluendo.com>
8163
8164         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
8165         (gst_system_clock_id_wait_jitter),
8166         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
8167         Fix anoying regression that survived a few releases. When adding an
8168         async entry while blocking on a sync entry, the sync entry will unblock
8169         but still be busy, so it should continue to wait instead of returning
8170         _BUSY to the app.
8171         Add some comments here and there.
8172
8173         * tests/check/gst/gstsystemclock.c: (mixed_thread),
8174         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
8175         Add testcase for this.
8176
8177 2007-03-22  Wim Taymans  <wim@fluendo.com>
8178
8179         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8180         Handle errors from the clock sync better, only UNSCHEDULED indicates a
8181         WRONG_STATE and can silently pause the task. All other cases should
8182         error out.
8183
8184 2007-03-22  Wim Taymans  <wim@fluendo.com>
8185
8186         Patch by: Ville Syrjala <syrjala at sci dot fi>
8187
8188         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
8189         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
8190         Improve debugging.
8191
8192 2007-03-21  Michael Smith  <msmith@fluendo.com>
8193
8194         * docs/pwg/advanced-types.xml:
8195           Fix some errors in the typefinding docs pointed out on irc.
8196
8197 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
8198
8199         * libs/gst/base/gstbasesrc.c:
8200         Clarify FIXME comment in the face of having added unlock_stop()
8201
8202 2007-03-21  Wim Taymans  <wim@fluendo.com>
8203
8204         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
8205         Prepare for release where we warn against possible app breakage in the
8206         case of live pipelines along with an env var to enable/disable live
8207         preroll mode (GST_COMPAT=[no-]live-preroll).
8208
8209 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8210
8211         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
8212         So we should use correct constants for checking for None offset.
8213
8214 2007-03-20  Wim Taymans  <wim@fluendo.com>
8215
8216         * docs/design/part-block.txt:
8217         Mention the fact that the newly switched element should be set to at
8218         least PAUSED.
8219
8220 2007-03-20  Wim Taymans  <wim@fluendo.com>
8221
8222         * gst/gst.c:
8223         Fix compilation with registry disabled as spotted by Saur.
8224
8225 2007-03-20  Wim Taymans  <wim@fluendo.com>
8226
8227         Patch by: Olivier Crete <tester at tester dot ca>
8228
8229         * gst/gstelement.c: (gst_element_sync_state_with_parent):
8230         Look at the pending state too when syncing the element state to the
8231         parent. Fixes #420133.
8232
8233 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
8234
8235         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
8236         (gst_base_sink_change_state):
8237         * libs/gst/base/gstbasesink.h:
8238         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8239         (gst_base_src_default_event), (gst_base_src_unlock_stop),
8240         (gst_base_src_deactivate):
8241         * libs/gst/base/gstbasesrc.h:
8242         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
8243         for sub-classes to correctly clear any state they set trying to
8244         unlock, such as clearing out unlock commands from a command fd.
8245         API: basesrc::unlock_stop
8246         API: basesink::unlock_stop
8247
8248         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
8249         (gst_fd_sink_render), (gst_fd_sink_unlock),
8250         (gst_fd_sink_unlock_stop):
8251         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
8252         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
8253         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
8254
8255         Implement unlock_stop in fdsrc and fdsink.
8256         Implement seeking in fdsrc when a seekable fd is passed, as in
8257         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
8258
8259 2007-03-19  Wim Taymans  <wim@fluendo.com>
8260
8261         Patch by: Evan Nemerson <evan at coeus dash group dot com>
8262
8263         * gst/gstelement.c: (gst_element_class_init):
8264         Fix pad-added and pad-removed signal signatures so that the pad type is
8265         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
8266
8267 2007-03-19  Wim Taymans  <wim@fluendo.com>
8268
8269         * docs/gst/gstreamer-sections.txt:
8270         Add new element field and method.
8271
8272         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8273         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
8274         (gst_bin_recalc_state), (gst_bin_get_state_func),
8275         (gst_bin_element_set_state), (gst_bin_change_state_func),
8276         (gst_bin_continue_func), (bin_bus_handler),
8277         (bin_push_state_continue), (bin_handle_async_start),
8278         (bin_handle_async_done), (gst_bin_handle_message_func):
8279         Make async state changes a bit smarter by using new ASYNC_START and
8280         ASYNC_DONE messages. This reduces the number of times we run the state
8281         recalculation thread.
8282         Don't change state of element with a pending ASYNC_START message.
8283         Deprecate STATE_DIRTY messages.
8284         
8285         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
8286         (gst_element_get_state_func), (gst_element_continue_state),
8287         (gst_element_lost_state), (gst_element_set_state_func),
8288         (gst_element_change_state):
8289         * gst/gstelement.h:
8290         Keep the state that was last set by the app in a new element field.
8291         Don't allow state changes when handling an element event.
8292         Post ASYNC_START and ASYNC_DONE messages.
8293         Change lost_state so that we go to PAUSED and wait for the parent to set
8294         us to PLAYING again (so latency calculation can be performed)
8295         Export gst_element_change_state() method so that subclasses can use it.
8296         API: gst_element_change_state()
8297         API: GST_STATE_TARGET
8298
8299         * gst/gstpipeline.c: (gst_pipeline_class_init),
8300         (reset_stream_time), (gst_pipeline_change_state),
8301         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
8302         Using the new ASYNC_START message we can reset the base_time when
8303         needed. This can then be used to implement base_time redistribution in
8304         flushing seeks so that we can remove the explicit seek handling.
8305         Perform latency query and configuration when going to PLAYING.
8306
8307         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8308         (gst_base_sink_query), (gst_base_sink_change_state):
8309         Post new ASYNC_START/ASYNC_DONE messages.
8310
8311         * tests/check/generic/sinks.c: (GST_START_TEST):
8312         Fix test because the bin will not set the async element to PLAYING right
8313         away.
8314
8315         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
8316         Make the message check a little stronger.
8317         Handle ASYNC messages.
8318
8319         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
8320         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
8321         Expect ASYNC_DONE messages.
8322
8323 2007-03-19  Wim Taymans  <wim@fluendo.com>
8324
8325         * docs/gst/gstreamer-sections.txt:
8326         * gst/gstmessage.c: (gst_message_new_async_start),
8327         (gst_message_new_async_done), (gst_message_parse_info),
8328         (gst_message_parse_async_start):
8329         * gst/gstmessage.h:
8330         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
8331         support.
8332
8333 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
8334
8335         * tools/gst-inspect.c:
8336         (print_plugin_automatic_install_info_codecs):
8337           Now that we don't check for the 'Codec' keyword any longer in the
8338           klass, we shouldn't spew a warning if the klass isn't a decoder or
8339           encoder (since it might be a Source/Network, for example).
8340
8341 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8342
8343         * tools/gst-inspect.c:
8344         (print_plugin_automatic_install_info_codecs):
8345           Don't require decoder/demuxer/depayloader elements or
8346           encoder/muxer/paylader elements to have 'Codec' as part of their
8347           factory class string when introspecting a plugin's capabilities.
8348           draft-klass.txt mentions that it might be removed in future, and
8349           flump3dec doesn't have it as part of its class string, so chances
8350           are others might also not have it.
8351
8352 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8353
8354         * po/af.po:
8355         * po/az.po:
8356         * po/bg.po:
8357         * po/ca.po:
8358         * po/cs.po:
8359         * po/de.po:
8360         * po/en_GB.po:
8361         * po/fr.po:
8362         * po/it.po:
8363         * po/nb.po:
8364         * po/nl.po:
8365         * po/ru.po:
8366         * po/sq.po:
8367         * po/sr.po:
8368         * po/sv.po:
8369         * po/tr.po:
8370         * po/uk.po:
8371         * po/vi.po:
8372         * po/zh_CN.po:
8373         * po/zh_TW.po:
8374           Update translations from translation project
8375
8376 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
8377
8378         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
8379         (gst_child_proxy_set_property):
8380           Invert precondition check to be alike the ones in the mimiced gobject
8381           api.
8382
8383 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
8384
8385         * docs/design/draft-tagreading.txt:
8386         * docs/random/ensonic/audiobaseclasses.txt:
8387           Do some Architect work.
8388
8389         * gst/gstobject.c: (gst_object_set_name):
8390           Add a WARNING.
8391
8392         * gst/gstpad.c:
8393           Add docs that point from gst_pad_get_range to gst_pad_pull_range
8394
8395 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
8396
8397         * gst/gstsystemclock.c: (gst_system_clock_init),
8398         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
8399         Defer starting the async system clock thread until the first async
8400         wait is scheduled. Fixes #414986.
8401
8402 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
8403
8404         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
8405         (gst_single_queue_free):
8406           Fix small leak (free GstSingleQueue structure too, not only contents).
8407
8408 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
8409
8410         * gst/gstbin.c:(gst_bin_add):
8411         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
8412         * win32/common/libgstbase.def:
8413         * win32/common/libgstreamer.def:
8414         Add new exported functions.
8415
8416 2007-03-09  Wim Taymans  <wim@fluendo.com>
8417
8418         * docs/plugins/gstreamer-plugins-sections.txt:
8419         Fix GstTee docs.
8420
8421 2007-03-09  Wim Taymans  <wim@fluendo.com>
8422
8423         * docs/gst/gstreamer-sections.txt:
8424         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
8425         * gst/gstbuffer.h:
8426         Add metadata copy functions. Fixes #393099.
8427         API: gst_buffer_copy_metadata()
8428
8429         * gst/gstutils.c: (gst_buffer_stamp):
8430         * libs/gst/base/gstbasetransform.c:
8431         (gst_base_transform_prepare_output_buffer):
8432         Use new metadata copy functions.
8433
8434 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8435
8436         * plugins/elements/gstidentity.c: (gst_identity_class_init),
8437         (gst_identity_init), (gst_identity_check_perfect),
8438         (gst_identity_check_imperfect_timestamp),
8439         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
8440         (gst_identity_set_property), (gst_identity_get_property):
8441         * plugins/elements/gstidentity.h:
8442         Separate out check-imperfect-timestamp and check-imperfect-offset.
8443         Put back check-perfect as it was to keep compatibility.
8444
8445 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
8446
8447         * gst/gstelement.c: (gst_element_dispose):
8448         There's no need to warn if VOID_PENDING is not NONE here, as
8449         long as the state is NULL it's ok, and that's checked immediately
8450         above.
8451
8452 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8453
8454         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8455         Fix check for perfect stream to ignore buffers with -1 
8456         offsets/offset ends when checking data contiguity.
8457
8458 2007-03-08  Wim Taymans  <wim@fluendo.com>
8459
8460         * tools/gst-launch.c: (event_loop):
8461         Print INFO messages.
8462
8463 2007-03-08  Wim Taymans  <wim@fluendo.com>
8464
8465         * libs/gst/base/gstbasetransform.c:
8466         (gst_base_transform_sink_eventfunc),
8467         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8468         (gst_base_transform_activate):
8469         * libs/gst/base/gstbasetransform.h:
8470         Add support for dropping buffers with custom GstFlowReturn.
8471         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
8472         buffers or dropped buffers.
8473
8474         * docs/libs/gstreamer-libs-sections.txt:
8475         docs for new custom return code.
8476
8477         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8478         Use drop support in base class to implement drop-probability.
8479
8480 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8481
8482         * gst/gst.c: (load_plugin_func):
8483         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
8484         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
8485         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8486           Remove newlines at end of debug log strings.
8487
8488 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8489
8490         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8491         Only post bus message at max, once per buffer received.
8492
8493 2007-03-07  Wim Taymans  <wim@fluendo.com>
8494
8495         * docs/design/Makefile.am:
8496         * docs/design/part-synchronisation.txt:
8497         Add doc about synchronisation
8498
8499         * docs/design/draft-latency.txt:
8500         * docs/design/part-TODO.txt:
8501         * docs/design/part-clocks.txt:
8502         * docs/design/part-events.txt:
8503         * docs/design/part-gstbus.txt:
8504         * docs/design/part-gstpipeline.txt:
8505         * docs/design/part-live-source.txt:
8506         * docs/design/part-messages.txt:
8507         * docs/design/part-overview.txt:
8508         * docs/design/part-streams.txt:
8509         * docs/design/part-trickmodes.txt:
8510         Documentation updates.
8511
8512 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
8513
8514         * gstreamer.doap:
8515         Update the doap file.
8516
8517 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8518
8519         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8520         Rename non-perfect to imperfect for Mike and for the sanctity of the
8521         language.
8522         Also make sure bus message gets emitted for data-incontiguities.
8523
8524 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8525
8526         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
8527         (gst_identity_start):
8528         * plugins/elements/gstidentity.h:
8529         Emit bus message if check-perfect is true and we encounter a
8530         non-perfect stream between 2 consecutive buffers.
8531         Fixes #415394.
8532
8533 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
8534
8535         * configure.ac:
8536         Back to CVS
8537
8538 === release 0.10.12 ===
8539
8540 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
8541
8542         * configure.ac:
8543           releasing 0.10.12, "Inevitable Demise"
8544
8545 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
8546
8547         * configure.ac:
8548          Version 0.10.11.2 (0.10.12 pre-release)
8549          Bump libtool versioning.
8550
8551 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
8552
8553         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8554           Log flow-names and not numbers.
8555
8556 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8557
8558         * configure.ac:
8559           Convert to new AG_GST style.
8560
8561 2007-02-28  Wim Taymans  <wim@fluendo.com>
8562
8563         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
8564         Don't unref query twice.
8565
8566 2007-02-28  Wim Taymans  <wim@fluendo.com>
8567
8568         * gst/gstvalue.c: (gst_value_transform_object_string),
8569         (_gst_value_initialize):
8570         Implement GstObject -> string transform so we print object names
8571         when serializing GValues containing GstObjects.
8572
8573 2007-02-28  Wim Taymans  <wim@fluendo.com>
8574
8575         * docs/gst/gstreamer-sections.txt:
8576         Add new stuff to docs.
8577
8578 2007-02-28  Wim Taymans  <wim@fluendo.com>
8579
8580         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
8581         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
8582         (gst_base_sink_change_state):
8583         Improve latency query code.
8584         Don't leak latency events.
8585
8586         * tests/check/gst/gstbin.c: (GST_START_TEST):
8587         Improve debugging.
8588
8589 2007-02-28  Wim Taymans  <wim@fluendo.com>
8590
8591         * gst/gstelement.c: (gst_element_message_full),
8592         (gst_element_get_state_func):
8593         * gst/gstelement.h:
8594         Improve docs a little. Added Since: for new macro.
8595
8596         * gst/gstobject.c: (gst_object_sink):
8597         * gst/gstpipeline.c: (gst_pipeline_change_state),
8598         (gst_pipeline_set_new_stream_time):
8599         * gst/gstpipeline.h:
8600         Improve debugging and docs.
8601
8602         * gst/gstutils.c: (gst_element_state_change_return_get_name):
8603         Improve debugging.
8604
8605 2007-02-28  Wim Taymans  <wim@fluendo.com>
8606
8607         * gst/gstelement.c: (gst_element_message_full),
8608         (gst_element_set_locked_state), (gst_element_get_state_func),
8609         (gst_element_change_state):
8610         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
8611         Documentation updates.
8612         Small code cleanups.
8613
8614         * gst/gstmessage.c: (gst_message_new_info),
8615         (gst_message_parse_info):
8616         * gst/gstmessage.h:
8617         API: gst_message_new_info()
8618         API: gst_message_parse_info()
8619         Add INFO message create and parse code.
8620
8621 2007-02-28  Wim Taymans  <wim@fluendo.com>
8622
8623         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
8624         (bin_query_latency_done):
8625         Also report the live parameter of a latency query.
8626
8627 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8628
8629         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
8630           Copy the current generic/states example from -base and adapt so
8631           we can use the exact same code everywhere.
8632           Check a STATES_IGNORE_ELEMENTS env var which can be used
8633           to ignore certain element factories for this test, which is
8634           what is being done in -base
8635         * tests/check/Makefile.am:
8636           Mention this environment variable.
8637
8638 2007-02-27  Wim Taymans  <wim@fluendo.com>
8639
8640         * docs/gst/gstreamer-sections.txt:
8641         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
8642         (gst_bus_timed_pop), (gst_bus_pop):
8643         * gst/gstbus.h:
8644         API: gst_bus_timed_pop()
8645         Implement gst_bus_timed_pop() to do a blocking timed wait for a
8646         message to arrive on the bus.
8647
8648         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
8649         (gst_bus_suite):
8650         Two unit tests for new _timed_pop() function.
8651
8652 2007-02-23  Wim Taymans  <wim@fluendo.com>
8653
8654         * gst/gstpipeline.c: (gst_pipeline_change_state),
8655         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
8656         Don't ref a NULL clock in _provide_clock_func().
8657         Don't allow an INVALID delay.
8658         Don't try to calculate base_time with an invalid start_time.
8659         Also distribute and notify a NULL clock when it was selected.
8660
8661         * tools/gst-launch.c: (event_loop):
8662         Don't crash when a NULL clock was selected in the pipeline.
8663
8664 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8665
8666         * docs/design/Makefile.am:
8667         * docs/design/draft-missing-plugins.txt:
8668         * docs/random/draft-missing-plugins.txt:
8669           Some small updates: update plugin system identifier prefix
8670           ('gstreamer.net' to 'gstreamer'), mention our new install
8671           API in libgstbaseutils rather than libgimme-codec, add
8672           reference to the online docs.
8673
8674 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8675
8676         * win32/common/config.h:
8677           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
8678           use moap cl ci to only check in what is mentioned in the ChangeLog.
8679
8680 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8681
8682         * docs/gst/gstreamer-sections.txt:
8683         * gst/gstelement.h:
8684           Fix up documentation to link to the correct GstGError section.
8685           Add GST_ELEMENT_INFO macro since someone else added a Info message.
8686
8687 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8688
8689         * tools/gst-launch.c: (event_loop):
8690           Make sure that we actually show the important message part of a
8691           warning message.
8692           No need to check if the gerror is not NULL to free; first of all
8693           g_free accepts NULL; and second the default error handler would
8694           segfault if gerror was NULL.
8695
8696 2007-02-21  Wim Taymans  <wim@fluendo.com>
8697
8698         * docs/gst/gstreamer-sections.txt:
8699         Removed docs as well.
8700
8701 2007-02-21  Wim Taymans  <wim@fluendo.com>
8702
8703         * gst/gstmessage.c: (gst_message_parse_duration):
8704         * gst/gstmessage.h:
8705         Remove new messages for release.
8706
8707 2007-02-20  Wim Taymans  <wim@fluendo.com>
8708
8709         * docs/design/part-gstghostpad.txt:
8710         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
8711         (gst_ghost_pad_new_full):
8712         Make the ghostpad a parent of the internal pad again for better backward
8713         compatibility. Don't write code that relies on this however.
8714
8715         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
8716         (gst_pad_link_check_hierarchy):
8717         Require that parents should be GstElements in the hierarchy check.
8718
8719 2007-02-20  Wim Taymans  <wim@fluendo.com>
8720
8721         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
8722         (gst_bin_change_state_func), (bin_query_min_max_init),
8723         (bin_query_latency_fold), (bin_query_latency_done),
8724         (gst_bin_query):
8725         Improve debug info.
8726         Implement latency query.
8727
8728 2007-02-20  Wim Taymans  <wim@fluendo.com>
8729
8730         * docs/design/part-gstghostpad.txt:
8731         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
8732         (gst_ghost_pad_internal_do_activate_push),
8733         (gst_ghost_pad_internal_do_activate_pull),
8734         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8735         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
8736         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
8737         Do not set the internal pad as a parent anymore so we can avoid
8738         hierarchy linking errors when the ghostpad has no parent yet. This also
8739         fixes failed activation because of unlinked internal pads, which in
8740         turn fixes the impossible case where you have to activate a pad before
8741         you can add it to a running element.
8742         Also fix the docs.
8743
8744         * gst/gstpad.c: (pre_activate), (post_activate),
8745         (gst_pad_set_active), (gst_pad_activate_pull),
8746         (gst_pad_activate_push), (gst_pad_check_pull_range):
8747         Add some more debug info.
8748         Mark activation mode in pre_activate so that we don't try to activate in
8749         endless loops. Fixes #385084.
8750
8751 2007-02-19  Wim Taymans  <wim@fluendo.com>
8752
8753         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
8754         (gst_base_transform_check_get_range):
8755         Implement a checkgetrange function instead of relying on the default
8756         core behaviour that assumes we can operate in pull mode if we have a
8757         getrange function. First step at fixing #385084.
8758
8759 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
8760
8761         * gst/gstchildproxy.h:
8762         * libs/gst/base/gstbasesink.h:
8763         * libs/gst/base/gstbasesrc.h:
8764         * libs/gst/base/gstbasetransform.h:
8765         More docs coverage and some ChangeLog surgery (add missing names)
8766
8767 2007-02-15  Wim Taymans  <wim@fluendo.com>
8768
8769         * docs/design/part-TODO.txt:
8770         * docs/design/part-activation.txt:
8771         * docs/design/part-block.txt:
8772         * docs/design/part-buffering.txt:
8773         * docs/design/part-clocks.txt:
8774         * docs/design/part-element-source.txt:
8775         * docs/design/part-events.txt:
8776         * docs/design/part-gstbin.txt:
8777         * docs/design/part-gstbus.txt:
8778         * docs/design/part-gstpipeline.txt:
8779         * docs/design/part-live-source.txt:
8780         * docs/design/part-messages.txt:
8781         * docs/design/part-overview.txt:
8782         * docs/design/part-qos.txt:
8783         * docs/design/part-query.txt:
8784         * docs/design/part-states.txt:
8785         * docs/design/part-trickmodes.txt:
8786         Some doc updates. Start renaming from stream_time to running_time where
8787         it was used wrongly.
8788
8789 2007-02-15  Wim Taymans  <wim@fluendo.com>
8790
8791         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
8792         Answer LATENCY query.
8793
8794 2007-02-15  Wim Taymans  <wim@fluendo.com>
8795
8796         * tests/check/gst/gstevent.c: (event_probe), (test_event),
8797         (GST_START_TEST):
8798         Improve debugging.
8799
8800 2007-02-15  Wim Taymans  <wim@fluendo.com>
8801
8802         * gst/gstpad.c: (gst_pad_get_internal_links_default),
8803         (gst_pad_dispatcher):
8804         Improve debugging of default pad dispatcher and query functions.
8805
8806 2007-02-15  Wim Taymans  <wim@fluendo.com>
8807
8808         * docs/gst/gstreamer-sections.txt:
8809         Remove old unused method.
8810
8811 2007-02-13  Wim Taymans  <wim@fluendo.com>
8812
8813         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8814         Fix check
8815
8816 2007-02-13  Wim Taymans  <wim@fluendo.com>
8817
8818         * docs/design/part-seeking.txt:
8819         Some small update.
8820
8821         * gst/gstsegment.c: (gst_segment_set_seek):
8822         Revert old bogus change that should make seeking work again.
8823
8824 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
8825
8826         * docs/random/ensonic/dynlink.txt:
8827         * docs/random/ensonic/interfaces.txt:
8828         * docs/random/ensonic/receipies.txt:
8829           Possible dynamic reconnection api, plus some type fixes the other two
8830           docs.
8831
8832 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
8833
8834         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8835         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8836         Also check for an absolute path following file:// in the filesrc
8837         element. Remove redundant check and call g_path_is_absolute() on the
8838         unescaped location.
8839
8840 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
8841
8842         * docs/design/draft-klass.txt:
8843           Add existing category analysis.
8844           
8845         * gst/gstcaps.c:
8846           Fix doc example, framerate is a fraction.
8847
8848 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
8849
8850         * configure.ac:
8851         * docs/gst/Makefile.am:
8852         * docs/gst/gstreamer-sections.txt:
8853         * docs/libs/Makefile.am:
8854           Erm, forgot a bunch of --extra-dir.
8855
8856 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
8857
8858         * configure.ac:
8859         * docs/gst/Makefile.am:
8860         * docs/libs/Makefile.am:
8861         * docs/plugins/Makefile.am:
8862           Add crossreferences to glib/gobject docs.
8863
8864 2007-02-12  Wim Taymans  <wim@fluendo.com>
8865
8866         * docs/design/draft-latency.txt:
8867         Small update.
8868
8869         * docs/libs/gstreamer-libs-sections.txt:
8870         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8871         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
8872         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
8873         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
8874         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
8875         (gst_base_sink_get_position), (gst_base_sink_query),
8876         (gst_base_sink_change_state):
8877         * libs/gst/base/gstbasesink.h:
8878         API: gst_base_sink_query_latency() to let subclasses query the upstream
8879         latency.
8880         API: gst_base_sink_get_latency() to let subclasses query the configured
8881         latency in the sink.
8882         Implement query and set latency.
8883         Update some docs.
8884         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
8885         don't continue preroll when we are flushing. Fixes #405284.
8886
8887         * tests/check/pipelines/stress.c: (change_state_timeout),
8888         (quit_timeout), (GST_START_TEST), (stress_suite):
8889         Test for #405284.
8890
8891 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8892
8893         Patch by: René Stadler <mail at renestadler de>
8894
8895         * docs/gst/gstreamer-sections.txt:
8896         * gst/gsttaglist.c: (_gst_tag_initialize):
8897         * gst/gsttaglist.h:
8898           API: add GST_TAG_REFERENCE_LEVEL (#403597).
8899
8900 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
8901
8902         * docs/libs/Makefile.am:
8903           Fix path to core docs.
8904
8905         * gst/gstbin.c: (gst_bin_get_by_interface),
8906         (gst_bin_iterate_all_by_interface):
8907           Refix docs by also renaming 'interface' to 'iface' in implementation.
8908
8909         * docs/gst/gstreamer-sections.txt:
8910         * gst/gstcaps.c:
8911         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
8912         * gst/gstchildproxy.h:
8913         * gst/gstelementfactory.c:
8914         * gst/gstpadtemplate.h:
8915         * libs/gst/controller/gstcontroller.c:
8916         (gst_controlled_property_new):
8917           Document more.
8918
8919 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
8920
8921         * gst/gstbin.h:(gst_bin_get_by_interface),
8922         (gst_bin_iterate_all_by_interface):
8923         Replace interface parameter name by iface as interface is 
8924         a reserved keyword in Visual Studio for C++ projects so it removes
8925         a build error for application developpers using VS.
8926         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
8927         Fix a bug on Windows in uri format check. Now the prefix checked
8928         is file:// and next we check if the path after file:// is absolute.
8929         * win32/common/libgstbase.def:
8930         * win32/common/libgstdataprotocol.def:
8931         * win32/common/libgstgstreamer.def:
8932         Add new exported functions.
8933
8934 2007-02-09  Andy Wingo  <wingo@pobox.com>
8935
8936         * tests/check/pipelines/simple-launch-lines.c
8937         (simple_launch_lines_suite, test_tee): Disable tee test until I
8938         have time to fix it :-(
8939
8940         * tests/check/Makefile.am (noinst_HEADERS): 
8941         * tests/check/libs/libsabi.c: 
8942         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
8943         * tests/check/gst/gstabi.c: 
8944         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
8945
8946         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
8947         tests for push and pull tee behavior.
8948
8949         * plugins/elements/gsttee.h: 
8950         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
8951         mark as deprecated as well as unimplemented. It was a crack idea.
8952         Add support for tee operating in pull mode, off by default.
8953
8954         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
8955         normal-case logs down to LOG, raise errors to WARNING.
8956         (gst_registry_xml_read_cache): Don't log before calling a function
8957         that logs.
8958
8959         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
8960         exit (registry finalize).
8961         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
8962         DEBUG log when we emit signals that people don't even have the
8963         chance to connect to.
8964         (gst_registry_scan_path_level): Less logging in the normal case.
8965
8966 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
8967
8968         Patch by: Michal Benes <michal dot benes at itonis dot tv>
8969
8970         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8971         Correctly generate EOS for non-seekable files. We don't have a total
8972         length for them and would get an unexpected end of file if we only
8973         special-cased for regular files. (Fixes: #404569)
8974
8975 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
8976
8977         * tests/check/elements/filesrc.c: (GST_START_TEST),
8978         (filesrc_suite):
8979         Add unit test for the GstURIHandler interface in filesrc. This also
8980         tests the newly added file://localhost/foo/bar support.
8981
8982 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8983
8984         * gst/gstelementfactory.h:
8985           The klass string is not a hierarchy. Add reference to the design doc
8986           for more information and common types.
8987
8988 2007-02-02  Wim Taymans  <wim@fluendo.com>
8989
8990         * gst/gstquery.c: (gst_query_new_latency):
8991         Remove old structure field.
8992
8993 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
8994
8995         * tools/gst-launch.1.in:
8996           Give example for network streaming (#351998)
8997
8998 2007-02-02  Wim Taymans  <wim@fluendo.com>
8999
9000         * docs/gst/gstreamer-sections.txt:
9001         Add docs for new methods.
9002
9003         * gst/gstevent.c: (gst_event_new_latency),
9004         (gst_event_parse_latency):
9005         * gst/gstevent.h:
9006         Add new LATENCY event to configure latency in a pipeline.
9007         API: gst_event_new_latency
9008         API: gst_event_parse_latency
9009
9010         * gst/gstmessage.c: (gst_message_new_buffering),
9011         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
9012         (gst_message_new_latency), (gst_message_parse_buffering),
9013         (gst_message_parse_lost_preroll):
9014         * gst/gstmessage.h:
9015         Added messages used in draft-latency.
9016         API: gst_message_new_lost_preroll
9017         API: gst_message_parse_lost_preroll
9018         API: gst_message_new_prerolled
9019         API: gst_message_new_latency
9020
9021         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
9022         (gst_query_parse_latency):
9023         * gst/gstquery.h:
9024         Implemented new latency query as in design doc.
9025         API: gst_query_new_latency
9026         API: gst_query_set_latency
9027         API: gst_query_parse_latency
9028
9029 2007-02-02  Wim Taymans  <wim@fluendo.com>
9030
9031         * docs/design/draft-latency.txt:
9032         Slight redesign to allow for dynamic latency adjustments.
9033
9034         * docs/design/part-negotiation.txt:
9035         Fix some typos.
9036
9037 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
9038
9039         reviewed by: Wim Taymans <wim@fluendo.com>
9040
9041         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9042         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9043         Allow file://localhost/foo/bar URLs and correctly fail for every other
9044         hostname that one sets. This was gnomevfssrc is linked for those if
9045         installed as it can handle it (#403172)
9046
9047 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
9048
9049         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9050
9051         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9052         (unref_data), (gst_collect_pads_add_pad_full):
9053         * libs/gst/base/gstcollectpads.h:
9054         Don't put the previously added destroy notify in the GstCollectData
9055         struct as all it's padding is already used and we don't want to break
9056         ABI. Instead put in the pad's GObject data for now. This should be
9057         cleaned up for 0.11 (#402393).
9058
9059 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
9060
9061         reviewed by: Wim Taymans <wim@fluendo.com>
9062
9063         * docs/libs/gstreamer-libs-sections.txt:
9064         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9065         (unref_data), (gst_collect_pads_add_pad),
9066         (gst_collect_pads_add_pad_full):
9067         * libs/gst/base/gstcollectpads.h:
9068         API: Add function to specify a destroy notification for custom
9069         GstCollectData when adding new pads in GstCollectPads (#402393).
9070
9071 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
9072
9073         * po/sv.po:
9074           Update Swedish translation (#378255).
9075
9076 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
9077
9078         * docs/design/draft-klass.txt:
9079           Fix the previous change, this is a list of categories and not a hierarchy.
9080
9081 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
9082
9083         * docs/design/draft-klass.txt:
9084           Add info about how to get a list of used classes.
9085
9086 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
9087
9088         * plugins/elements/gsttypefindelement.c:
9089         (gst_type_find_element_chain_do_typefinding),
9090         (gst_type_find_element_change_state):
9091           Don't leak found caps in chain function (no idea why that never
9092           showed up as a leak anywhere).
9093
9094 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
9095
9096         * gst/gstplugin.h:
9097           Fix and expand GstPluginDesc API docs.
9098
9099 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
9100
9101         * gst/gstcaps.c:
9102         * gst/gstelementfactory.c:
9103         * gst/gstpadtemplate.h:
9104           api doc fixes
9105
9106         * libs/gst/controller/gstcontroller.c:
9107         (gst_controlled_property_new):
9108         * tests/examples/controller/audio-example.c:
9109           comment fixes
9110
9111 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
9112
9113         * configure.ac:
9114           comment about refining the xml deps
9115
9116         * docs/manuals.mak:
9117           comments about moving away from jade for docs
9118         
9119         * gst/gst.c:
9120           recommit the ifdefs to use the binary registry
9121         
9122         * gst/gstbin.c: (gst_bin_change_state_func):
9123           this break is obsolete
9124
9125         * gst/gstelementfactory.h:
9126           better GST_ELEMENT_DETAILS docs, add comment about translation
9127
9128         * gst/gstinfo.h:
9129           remove eol slash
9130
9131         * gst/gstobject.c: (gst_signal_object_get_type):
9132           add G_UNLIKELY as usual
9133
9134         * gst/gstpad.c: (gst_pad_event_default):
9135           add fall trhu comment
9136
9137         * gst/gstregistrybinary.c: (gst_registry_binary_write),
9138         (gst_registry_binary_initialize_magic),
9139         (gst_registry_binary_save_string),
9140         (gst_registry_binary_save_pad_template),
9141         (gst_registry_binary_save_feature),
9142         (gst_registry_binary_save_plugin),
9143         (gst_registry_binary_write_cache),
9144         (gst_registry_binary_check_magic),
9145         (gst_registry_binary_load_pad_template),
9146         (gst_registry_binary_load_feature),
9147         (gst_registry_binary_load_plugin),
9148         (gst_registry_binary_read_cache):
9149           comment typo and formatting
9150
9151         * gst/gstutils.c: (gst_element_state_get_name),
9152         (gst_element_state_change_return_get_name):
9153           remove obsolete breaks
9154
9155         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9156           add FIXME 0.11 and remove cpp comment
9157
9158 2007-01-29  Edward Hervey  <edward@fluendo.com>
9159
9160         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9161         Fix print statement in an even more portable way.
9162
9163 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
9164
9165         * docs/gst/gstreamer-sections.txt:
9166         * gst/gstutils.h:
9167           API: add GST_ROUND_DOWN_* macros (#401781).
9168
9169 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
9170
9171         * docs/gst/gstreamer.types.in:
9172         * gst/gstregistry.c: (gst_registry_class_init):
9173           Document registry signals and make gtk-doc pick them up (#401381).
9174
9175 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
9176
9177         * docs/pwg/building-testapp.xml:
9178           Add some audioconverts and audioresample to the pipeline, and some
9179           more comments and error handling.
9180
9181 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
9182
9183         * docs/manual/manual.xml:
9184         * docs/pwg/pwg.xml:
9185           Fix typo (#400987).
9186
9187 2007-01-26  Wim Taymans  <wim@fluendo.com>
9188
9189         * gst/gstcaps.c: (gst_static_caps_get):
9190         Init caps flags too.
9191
9192 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
9193
9194         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
9195
9196         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
9197         If not using mmap'ed files try to seek to the end instead of the
9198         start to determine whether we can seek at all. This fixes the case
9199         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
9200         seeks for everything afterwards fail. Fixes #400656
9201
9202 2007-01-25  Wim Taymans  <wim@fluendo.com>
9203
9204         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
9205         Add some refcount debugging.
9206         Make gst_static_caps_get threadsafe, which is needed when autoplugging
9207         in multiple streaming threads.
9208
9209 2007-01-25  Wim Taymans  <wim@fluendo.com>
9210
9211         Patch by: David Schleef <ds at schleef dot org>
9212
9213         * docs/libs/gstreamer-libs-sections.txt:
9214         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
9215         * libs/gst/base/gstadapter.h:
9216         API: gst_adapter_copy() that can reduce the amount of memcpy when
9217         getting data from the adapter. Fixes #388201.
9218
9219 2007-01-25  Edward Hervey  <edward@fluendo.com>
9220
9221         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9222         In print statements, "%x" is for guint. Fixes build on macosx.
9223
9224 2007-01-24  Edward Hervey  <edward@fluendo.com>
9225
9226         * plugins/elements/gstmultiqueue.c:
9227         (gst_multi_queue_loop):
9228         Small fix.
9229         (single_queue_overrun_cb), (single_queue_underrun_cb),
9230         (single_queue_check_full), (gst_single_queue_new):
9231         Implement single queue growth system.
9232         This uses the extra-size properties, and will grow single queues by
9233         that much if one goes full whereas there are others empty. This is
9234         called extra-mode in the code.
9235         When a single queue's levels go back below the initial max-size
9236         limits, it is no longer in extra-mode. This is to ensure we don't
9237         consume too much memory.
9238         Fixes #399875
9239
9240 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
9241
9242         * gst/gst.c: (gst_init_get_option_group):
9243           Make warning about late g_thread_init() calls a bit more explicit,
9244           so that it's more obvious to application developers what they need
9245           to do if a user files a bug against their application.
9246
9247 2007-01-22  Edward Hervey  <edward@fluendo.com>
9248
9249         * plugins/elements/gstmultiqueue.c:
9250         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
9251         Remove previous hack of unsetting the flushing flag for the source pad
9252         instead of activating it. Instead, fix the source pad activate function
9253         so that it no longer depends on having a parent set or not.
9254
9255 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
9256
9257         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
9258
9259         * docs/manual/basics-bus.xml:
9260           Fix example code, gst_element_unref() doesn't exist any longer.
9261
9262 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
9263
9264         Patch by: Mark Nauwelaerts <manauw at skynet be>
9265
9266         * gst/gstpad.c:
9267           Fix two docs typoes (#399094).
9268
9269 2007-01-19  Edward Hervey  <edward@fluendo.com>
9270
9271         * docs/faq/gst-uninstalled:
9272         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
9273         depending on libgstbaseutils can work in uninstalled environment.
9274
9275 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
9276
9277         * gst/gsttaglist.h:
9278         * gst/gsttagsetter.c:
9279         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
9280         statement for new tag.
9281
9282 2007-01-17  Edward Hervey  <edward@fluendo.com>
9283
9284         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
9285         When dynamically creating single queues, activate sinkpad before adding
9286         it.
9287         We should be doing the same thing for the source pad, but we can't
9288         since it would call a method which needs the parent to be set in order
9289         to work propertly. Instead of activating the source pad, we just unset
9290         the flushing flag, which is the minimal requirement for adding a pad
9291         to an element in a state greater than READY.
9292
9293 2007-01-17  Edward Hervey  <edward@fluendo.com>
9294
9295         * docs/faq/gst-uninstalled:
9296         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
9297         Mac OS X.
9298
9299 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
9300
9301         * tests/check/gst/gstabi.c:
9302         * tests/check/gst/struct_hppa.h:
9303         * tests/check/libs/libsabi.c:
9304         * tests/check/libs/struct_hppa.h:
9305           Add ABI structs for HPPA (see #393796).
9306
9307 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
9308
9309         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
9310           Actually write ABI structs to the file specified in the GST_ABI
9311           environment variable, as the message we print claims we would.
9312
9313 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9314
9315         * tests/check/gst/gsttask.c:
9316           Fix header comment.
9317
9318 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9319
9320         * gst/gsttaglist.c: (_gst_tag_initialize):
9321           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
9322           previous two entries.
9323
9324 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9325
9326         * docs/gst/gstreamer-sections.txt:
9327         * gst/gsttaglist.c: (_gst_tag_initialize):
9328         * gst/gsttaglist.h:
9329           Add tag support for beat-per-minute.
9330
9331 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9332
9333         * gst/gstregistrybinary.c: (gst_registry_binary_write),
9334         (gst_registry_binary_initialize_magic),
9335         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
9336         (gst_registry_binary_save_pad_template),
9337         (gst_registry_binary_save_feature),
9338         (gst_registry_binary_save_plugin),
9339         (gst_registry_binary_write_cache),
9340         (gst_registry_binary_check_magic),
9341         (gst_registry_binary_load_pad_template),
9342         (gst_registry_binary_load_feature),
9343         (gst_registry_binary_load_plugin),
9344         (gst_registry_binary_read_cache):
9345         * gst/gstregistrybinary.h:
9346           Use glib types, cleanup comments, impement interfaces and uri-types.
9347
9348 2007-01-13  Andy Wingo  <wingo@pobox.com>
9349
9350         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
9351         getrange() to return buffers with other caps, while we fix
9352         demuxers and typefind, or otherwise change part-negotiation.txt.
9353
9354 2007-01-12  Andy Wingo  <wingo@pobox.com>
9355
9356         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
9357         Factor start/stop into this private function instead of partially
9358         in activate functions and partially in the change_state function.
9359         Fixes setup before the element has changed from READY->PAUSED, as
9360         is the case in pull-mode pipelines.
9361         (gst_base_transform_sink_activate_push)
9362         (gst_base_transform_src_activate_pull): Refactor to use
9363         gst_base_transform_activate().
9364         (gst_base_transform_change_state): Removed, not needed any more.
9365
9366         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
9367         Truncate before fixating.
9368         
9369         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
9370         Don't set_caps() if the result of fixating is ANY, as it's not
9371         supported, and not necessary in the case of a link with no
9372         template caps on either side. Fixes tests/check/libs/basesrc in
9373         some pull-mode tests.
9374
9375         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
9376         (gst_base_transform_init, gst_base_transform_sink_activate_push)
9377         (gst_base_transform_src_activate_pull): 
9378         Track the activation mode.
9379         (gst_base_transform_setcaps): In pull mode, when activating the
9380         src pad, after activating the sink pad, activate the sink pad's
9381         peer, as discussed in part-negotiation.txt.
9382
9383         * libs/gst/base/gstbasesrc.h: 
9384         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
9385         vmethod, as in basesink.
9386
9387         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
9388
9389         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
9390         mode, first proxy the setcaps to the peer pad.
9391         (gst_base_sink_pad_fixate): Add a fixate function that calls the
9392         new fixate vmethod.
9393         (gst_base_sink_default_activate_pull): Rename from
9394         gst_base_sink_activate_pull.
9395         (gst_base_sink_negotiate_pull): New function, performs negotiation
9396         in pull mode before calling ::activate_pull().
9397         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
9398         vmethod instead of the default implementation. I have no idea how
9399         this worked before. Negotiate before calling activate_pull.
9400
9401         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
9402         sink pads in pull mode. In addition to being correct, fixes
9403         filesrc ! decodebin ! identity ! fakesink.
9404         (gst_pad_get_range, gst_pad_pull_range): Don't call
9405         gst_pad_set_caps() if the caps changes; instead error out with
9406         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
9407
9408 2007-01-12  Andy Wingo  <wingo@pobox.com>
9409
9410         * docs/design/part-negotiation.txt: Update with more policy.
9411
9412 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
9413
9414         * libs/gst/check/gstbufferstraw.h:
9415         * libs/gst/check/gstcheck.h:
9416           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
9417           belongs.
9418
9419 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
9420
9421         * tests/check/Makefile.am:
9422         * tests/check/gst/.cvsignore:
9423         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
9424         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
9425         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
9426         (GST_START_TEST), (gst_tag_setter_suite):
9427           Add minimal unit test for beforementioned GstTagSetter bug.
9428
9429 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
9430
9431         Patch by: René Stadler <mail at renestadler dot de>
9432
9433         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
9434           gst_tag_list_merge() returns a new list, so it's not the best idea
9435           to ingore its return value. Effectively meant that tags could only
9436           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
9437           Also add function guard to require a non-NULL taglist as input (has
9438           always been so due to gst_tag_list_copy(), just making it explicit).
9439
9440 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9441
9442         * docs/random/draft-missing-plugins.txt:
9443           Some additions: mention new API that is supposed to be used at the
9444           various stages; short blob about new gst-inspect introspection
9445           option; mention potential future problem with plugins that have
9446           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
9447
9448 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9449
9450         * tools/gst-inspect.c:
9451         (print_plugin_automatic_install_info_codecs),
9452         (print_plugin_automatic_install_info_protocols),
9453         (print_plugin_automatic_install_info), (main):
9454         Add --print-plugin-auto-install-info option to gst-inspect, so we can
9455         introspect plugin files and get machine-parsable output that corresponds
9456         to the last bit of the missing-plugin installer string (small gotcha:
9457         doesn't take into account ranks).
9458
9459 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
9460
9461         * configure.ac:
9462         * docs/gst/gstreamer-sections.txt:
9463         * gst/Makefile.am:
9464         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
9465         (gst_registry_lookup_locked):
9466         * gst/gstregistry.h:
9467         * gst/gstregistrybinary.c: (gst_registry_binary_write),
9468         (gst_registry_binary_initialize_magic),
9469         (gst_registry_binary_save_string),
9470         (gst_registry_binary_save_pad_template),
9471         (gst_registry_binary_save_feature),
9472         (gst_registry_binary_save_plugin),
9473         (gst_registry_binary_write_cache),
9474         (gst_registry_binary_check_magic),
9475         (gst_registry_binary_load_pad_template),
9476         (gst_registry_binary_load_feature),
9477         (gst_registry_binary_load_plugin),
9478         (gst_registry_binary_read_cache):
9479         * gst/gstregistrybinary.h:
9480         * gst/gstregistryxml.c: (load_feature),
9481         (gst_registry_xml_read_cache):
9482           commit binary registry (disabled by default, see #359653)
9483
9484 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9485
9486         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
9487           Fix 'make check' too.
9488
9489 2007-01-10  Andy Wingo  <wingo@pobox.com>
9490
9491         * docs/design/part-negotiation.txt: Fix a typo, add a couple
9492         notes.
9493         
9494         * docs/design/part-negotiation.txt: Update with, um, one way that
9495         pull-mode negotiation might work?
9496
9497         * gst/gstpad.h: 
9498         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
9499         that the pad must be a src pad; makes sense to call it the other
9500         way in pull mode, and the logic is symmetric anyway.
9501
9502 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
9503
9504         * plugins/elements/gstfilesink.c:
9505           Include <stdio.h> for fseeko().
9506
9507 2007-01-10  Wim Taymans  <wim@fluendo.com>
9508
9509         * gst/gstevent.c:
9510         * gst/gstevent.h:
9511         Reserve LATENCY event.
9512
9513 2007-01-09  Wim Taymans  <wim@fluendo.com>
9514
9515         * docs/design/draft-latency.txt:
9516         Updates.
9517
9518 2007-01-09  Wim Taymans  <wim@fluendo.com>
9519
9520         * docs/design/draft-latency.txt:
9521         Updates.
9522
9523         * gst/gstelement.h:
9524         * gst/gststructure.c:
9525         * gst/gsttrace.c:
9526         Small typo fixes.
9527
9528 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
9529
9530         * tests/check/.cvsignore:
9531           Ignore test-registry.xml as well.
9532
9533 2007-01-09  Wim Taymans  <wim@fluendo.com>
9534
9535         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
9536         unref data at the end when we are done with the pad.
9537
9538 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
9539
9540         * docs/gst/gstreamer-sections.txt:
9541         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
9542         (init_post), (gst_deinit), (gst_update_registry):
9543         * gst/gst.h:
9544           API: add gst_update_registry() (#391296).
9545
9546         * tests/check/Makefile.am:
9547         * tests/check/gst/gstregistry.c:
9548         * tests/check/gst/.cvsignore:
9549           Simple unit test for the above.
9550
9551 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
9552
9553         * gst/gstregistry.c: (gst_registry_scan_path_level):
9554           Plugin extension on HP-UX is .sl, add that to the list of approved
9555           plugin extensions (see #393796).
9556
9557         * tests/check/gst/gstpad.c: (GST_START_TEST):
9558           ulong => gulong. Fixes compilation with HP-UX compiler.
9559
9560         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9561           Fix compilation if valgrind headers are not available.
9562
9563 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
9564
9565         * win32/common/libgstreamer.def: 
9566           Add new exported function.
9567         * win32/vs6/libgstbase.dsp: 
9568           Add gstdataqueue.c to the build.
9569         * win32/vs6/libgstcoreelements.dsp:
9570           Add gstmultiqueue.c to the build.
9571         
9572 2007-01-06  Andy Wingo  <wingo@pobox.com>
9573
9574         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
9575         activate_pull(), providing for a way to specialize the process of
9576         spawning a thread to pull on the sink pad. There is a default
9577         implementation.
9578
9579         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
9580         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
9581         (gst_base_sink_init): Renamed pad activation functions (inserting
9582         "_pad" in their names). Refactor to use the new activate_pull
9583         vmethod, as appropriate.
9584         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
9585         default activate_pull function to start a task pulling from the
9586         sink pad, as before.
9587
9588         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
9589         on the pads if necessary, as in push()/chain(). Update docs.
9590         Shouldn't affect existing pull() usage as it is currently only
9591         being used on buffers without caps.
9592
9593 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9594
9595         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9596         (init_pre):
9597           Call g_thread_init() first thing in gst_init() / gst_check_init().
9598           When initialisation is done via gst_init_get_option_group() and
9599           GOption parsing, issue a warning if the GLib thread system has not
9600           been initialised yet by the time gst_init_get_option_group() is
9601           called, as it's quite likely other GLib functions such as
9602           g_option_context_new() have been called already then, and
9603           g_thread_init() must be called before any other GLib function. The
9604           application in question must be fixed in that case, since memory
9605           corruption might happen otherwise.
9606           We issue the warning because even if the GLib folks decide to work
9607           around the problem on their end in future, this is still an issue
9608           with all GLib versions >= 2.10.0, so we should warn until we depend
9609           on a GLib version we know to be safe.
9610           Update documentation as well.
9611           Closes bug #391278.
9612
9613 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9614
9615         * tools/gst-inspect.c: (main):
9616         * tools/gst-launch.c: (main):
9617         * tools/gst-typefind.c: (main):
9618         * tools/gst-xmlinspect.c: (main):
9619           Call g_thread_init() really really early, before any other GLib
9620           function (see #342564 and recent discussion on gtk-devel-list).
9621
9622 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9623
9624         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
9625
9626         * gst/gst_private.h:
9627         * gst/gstconfig.h.in:
9628         * gst/gstinfo.h:
9629           On win32, all the __declspec stuff for symbol exporting is
9630           apparently only needed with MSVC, but doesn't work with MingW.
9631           Fixes compilation with MingW and #391909.
9632
9633 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9634
9635         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
9636           Change some GST_ERROR_OBJECT that aren't really errors to
9637           GST_WARNING_OBJECT in order to reduce terminal spam.
9638
9639 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
9640
9641         * tests/check/Makefile.am:
9642           disable test again, as there seem to be still race problems
9643
9644 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
9645
9646         * tests/check/Makefile.am:
9647         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9648         (GST_START_TEST), (queue_suite):
9649           enable queue test again, add tests for the leaky behaviour
9650
9651 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
9652
9653         * configure.ac:
9654         * tests/examples/Makefile.am:
9655           Compile adapter test/example only if the required headers are
9656           available (fixes #391915).
9657
9658 2007-01-01  David Schleef  <ds@schleef.org>
9659
9660         * gst/gstplugin.c:
9661           Restore the previous signal handler for SIGSEGV instead of
9662           setting to default, since we may have stolen it away from
9663           someone.  (i.e., Mono)
9664
9665 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
9666
9667         * docs/random/draft-missing-plugins.txt:
9668           Some small additions and clarifications.
9669
9670 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
9671
9672         * gst/gstregistryxml.c: (gst_registry_save_escaped):
9673           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
9674           since that can lead to random memory corruptions and crashes
9675           (may or may not be related to #383244, #386711, and #386711).
9676
9677 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9678
9679         * tests/check/.cvsignore:
9680         * tests/check/Makefile.am:
9681           sync .cvsignome and CLEANFILES
9682
9683 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9684
9685         * tests/check/Makefile.am:
9686           fix distcheck
9687
9688 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9689
9690         * docs/design/part-states.txt:
9691           two tiny additional comments
9692         
9693         * gst/gststructure.c:
9694           doc fixing
9695
9696         * tests/check/Makefile.am:
9697         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9698         (GST_START_TEST):
9699           disable test for now, unless it gets fixed
9700
9701 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9702
9703         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9704         (GST_START_TEST):
9705           fix race in underrun test
9706
9707 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9708
9709         * tests/check/elements/.cvsignore:
9710           ignore more
9711
9712         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9713         (GST_START_TEST):
9714           try to narrow test failure
9715
9716 2006-12-21  David Schleef  <ds@schleef.org>
9717
9718         * plugins/elements/gstfakesrc.c:
9719           Use g_random_int_range(), since it produces better random
9720           numbers in a range than almost-correct floating point code.
9721
9722 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9723
9724         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
9725         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9726         (gst_check_teardown_sink_pad):
9727           do not automatically (de)activate pads
9728
9729         * tests/check/Makefile.am:
9730         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9731         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
9732           add new, yet simple tests for queue
9733
9734         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
9735         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
9736         * tests/check/elements/filesrc.c: (cleanup_filesrc),
9737         (GST_START_TEST):
9738         * tests/check/elements/identity.c: (cleanup_identity):
9739           consistent pad (de)activation
9740
9741 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
9742
9743         Patch by: Sebastian Dröge  <slomo ubuntu com>
9744
9745         * libs/gst/base/gstcollectpads.c:
9746           Fix two doc typos (#387866).
9747
9748 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
9749
9750         * docs/manual/advanced-dparams.xml:
9751           Fix typo (g_object_control_properties() doesn't exist).
9752
9753 2006-12-19  Edward Hervey  <edward@fluendo.com>
9754
9755         * gst/gstsegment.c: (gst_segment_set_seek):
9756         Fine tune the cases where the segment start/stop values are really
9757         updated.
9758         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9759         Add tests for the return values of gst_segment_set_seek().
9760
9761 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
9762
9763         * gst/gst.c:
9764           Docs typo fix.
9765
9766         * plugins/elements/gstqueue.c: (gst_queue_class_init),
9767         (gst_queue_init):
9768           Fix incorrect documentation and flesh it out a bit more.
9769           Set default values for the max properties on the GParamSpec as well,
9770           so it shows up correctly in gst-inspect.
9771
9772 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
9773
9774         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9775           Correct docs of queue, add more detail and crosslink it more.
9776
9777 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9778
9779         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9780           Print additional debug info when the stream isn't perfectly
9781           timestamped; don't try to use invalid durations.
9782
9783 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9784
9785         * docs/design/Makefile.am:
9786           Dist new design docs.
9787
9788 2006-12-16  Wim Taymans  <wim@fluendo.com>
9789
9790         Patch by: Sjoerd Simons <sjoerd at luon dot net>
9791
9792         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
9793         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9794         (gst_collect_pads_stop), (gst_collect_pads_event),
9795         (gst_collect_pads_chain):
9796         * libs/gst/base/gstcollectpads.h:
9797         Add refcounting to the collectpads data so we can track when it's safe
9798         to free the data. Fixes #383382.
9799
9800 2006-12-15  Wim Taymans  <wim@fluendo.com>
9801
9802         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
9803         (gst_collect_pads_remove_pad):
9804         Automatically activate/deactivate pads when they are added to a
9805         started/stoped collectpads.
9806
9807 2006-12-15  Wim Taymans  <wim@fluendo.com>
9808
9809         * gst/gstelement.c: (gst_element_add_pad):
9810         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
9811         * gst/gstpad.c: (gst_pad_init):
9812         Set pads to FLUSHING when they are created. Check, warn and fix when a
9813         demuxer adds an inactive pad to itself when running. Fixes #339326.
9814
9815 2006-12-15  Wim Taymans  <wim@fluendo.com>
9816
9817         * gst/gstelement.c: (gst_element_class_init),
9818         (gst_element_default_send_event), (gst_element_send_event),
9819         (gst_element_default_query), (gst_element_query):
9820         Expose default element send_event and query handling as vmethods that
9821         subclasses can chain up to.
9822
9823 2006-12-15  Wim Taymans  <wim@fluendo.com>
9824
9825         * gst/gstelement.c: (gst_element_set_state_func):
9826         Small documentation fixes.
9827
9828 2006-12-15  Wim Taymans  <wim@fluendo.com>
9829
9830         * docs/design/draft-latency.txt:
9831         Checked in draft for handling latency in pipelines.
9832
9833 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9834
9835         * Makefile.am:
9836         * gstreamer.doap:
9837         * gstreamer.spec.in:
9838           adding .doap file
9839
9840 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
9841
9842         * gst/gst.c: (init_pre), (init_post):
9843           init_pre() and init_post() might be called via our GOptionGroup or
9844           from gst_init(), and we should skip both of them if we've already
9845           been initialised, otherwise we will init some things twice or add
9846           two default log functions.
9847
9848 2006-12-13  Edward Hervey  <edward@fluendo.com>
9849
9850         * docs/manual/basics-bus.xml:
9851         No, gst_main_loop does not exist. Its g_main_loop.
9852         Discovered by somebody who abused the copy-paste technique of coding :)
9853
9854 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
9855
9856         * gst/gstghostpad.c:
9857           Log ghostpad debug stuff to the GST_PADS category as well rather
9858           than just to the default category.
9859
9860 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9861
9862         * configure.ac:
9863         * gst/gst.c: (init_pre):
9864           Add some basic system details such as OS and architecture
9865           to the debug output if possible, courtesy of uname().
9866
9867 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9868
9869         * docs/gst/running.xml:
9870           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
9871           environment variables.
9872
9873 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
9874
9875         * tests/check/gst/gstbin.c: (GST_START_TEST):
9876         It is acceptable to have a refcount of 2 or 3 at this point in the
9877         test, because the pipeline might be just posting its state_change
9878         message. The next line then waits for that message to appear using
9879         bus_poll, so that should be fine too.
9880
9881 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
9882
9883         * gst/gst.c: (ensure_current_registry_forking):
9884         Ignore EINTR when reading from the child registry pipe.
9885         Explicitly ignore the return value from close, since it makes no
9886         difference.
9887
9888         * gst/gstminiobject.c: (gst_mini_object_ref),
9889         (gst_mini_object_unref):
9890         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
9891
9892         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
9893         When removing cached plugins, remove their features too, so they're
9894         not visible after they've disappeared.
9895
9896         * gst/gstutils.c: (prepare_link_maybe_ghosting):
9897         In the unlikely case that we are linking pads with no parents, don't
9898         crash trying to get the non-existent parent bin.
9899
9900         * gst/parse/grammar.y:
9901         Output debug in the PIPELINE category
9902
9903 2005-03-08  Wim Taymans  <wim@fluendo.com>
9904
9905         Patch by: René Stadler <mail at renestadler dot de>
9906
9907         * gst/gstclock.c: (gst_clock_new_periodic_id):
9908         Reject invalid clock times for interval of periodic ids.
9909         Fixes ##383506.
9910
9911 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
9912
9913         * gst/gstelementfactory.c: (gst_element_factory_create):
9914         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9915         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9916         * tools/gst-inspect.c: (print_element_info):
9917         Fix refcounting of gst_plugin_feature_load to match the docs. 
9918         Fixes: #380129
9919
9920 2006-12-07  Wim Taymans  <wim@fluendo.com>
9921
9922         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
9923         (gst_base_sink_get_position):
9924         Improve debugging of events.
9925
9926 2006-12-07  Wim Taymans  <wim@fluendo.com>
9927
9928         Patch by: René Stadler <mail at renestadler dot de>
9929
9930         * gst/gstclock.c: (gst_clock_id_wait):
9931         Make period ids add the interval to the origial requested time instead
9932         of the possibly updated time which can be wrong when there are multiple
9933         waiters for the same id. Fixes #382592.
9934
9935         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
9936         (gst_system_clock_id_wait_jitter_unlocked),
9937         (gst_system_clock_id_wait_jitter):
9938         Fix restart in the async notify thread when an async entry is added to
9939         the front of the list. Fixes #381492. 
9940
9941         * tests/check/gst/gstsystemclock.c: (store_callback),
9942         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
9943         Added test for multiple async waits.
9944         Added test for async wait order.
9945
9946 2006-12-07  Wim Taymans  <wim@fluendo.com>
9947
9948         * gst/gstbin.c: (gst_bin_query):
9949         Add some more docs about the POSITION query.
9950
9951 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
9952
9953         * configure.ac:
9954         Bump version nano - back to CVS.
9955
9956 === release 0.10.11 ===
9957
9958 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
9959
9960         * configure.ac:
9961           releasing 0.10.11, "Love never runs on time"
9962
9963 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
9964
9965         * win32/common/libgstbase.def:
9966         * win32/common/libgstreamer.def:
9967         * win32/vs8/libgstbase.vcproj:
9968         * win32/vs8/libgstcoreelements.vcproj:
9969         * win32/vs8/libgstreamer.vcproj:
9970         Fix compilation on win32 under VS8
9971         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9972         Partially fixes #381175
9973
9974 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
9975
9976         * gst/gstvalue.c: (gst_value_compare_fraction):
9977         If someone is foolish enough to compare 2 fractions with denominator =
9978         0, return UNORDERED rather than aborting.
9979
9980 2006-11-28  Edward Hervey  <edward@fluendo.com>
9981
9982         * libs/gst/base/Makefile.am:
9983         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
9984         (gst_data_queue_base_init), (gst_data_queue_class_init),
9985         (gst_data_queue_init), (gst_data_queue_new),
9986         (gst_data_queue_cleanup), (gst_data_queue_finalize),
9987         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
9988         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
9989         (gst_data_queue_is_empty), (gst_data_queue_is_full),
9990         (gst_data_queue_set_flushing), (gst_data_queue_push),
9991         (gst_data_queue_pop), (gst_data_queue_drop_head),
9992         (gst_data_queue_set_property), (gst_data_queue_get_property):
9993         * libs/gst/base/gstdataqueue.h:
9994         New GstDataQueue object for threadsafe queueing. Most useful for
9995         elements that need some queueing functionnality.
9996         * docs/libs/gstreamer-libs-docs.sgml:
9997         * docs/libs/gstreamer-libs-sections.txt:
9998         Insert documentation for GstDataQueue
9999         * plugins/elements/Makefile.am:
10000         * plugins/elements/gstelements.c:
10001         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
10002         (gst_multi_queue_class_init), (gst_multi_queue_init),
10003         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
10004         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
10005         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
10006         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
10007         (gst_multi_queue_loop), (gst_multi_queue_chain),
10008         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
10009         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
10010         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
10011         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
10012         (wake_up_next_non_linked), (compute_next_non_linked),
10013         (single_queue_overrun_cb), (single_queue_underrun_cb),
10014         (single_queue_check_full), (gst_single_queue_new):
10015         * plugins/elements/gstmultiqueue.h:
10016         New multiqueue element, using GstDataQueue. Used for queuing multiple
10017         streams.
10018         Closes #344639 and #347785
10019
10020 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
10021
10022         * docs/pwg/advanced-types.xml:
10023           add more missing type details
10024
10025         * tools/gst-run.c: (main):
10026           remove unused variable
10027
10028 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
10029
10030         * docs/libs/Makefile.am:
10031         * docs/libs/gstreamer-libs.types:
10032           add types of base classes to enable gobject specific stuff in the docs
10033
10034         * docs/random/ensonic/embedded.txt:
10035           more ideas about isolating platform specific things
10036
10037 2006-11-20  Wim Taymans  <wim@fluendo.com>
10038
10039         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
10040
10041         * libs/gst/check/gstcheck.h:
10042         Fix compilation and running against 0.9.4. Fixes #377332.
10043
10044 2006-11-20  Wim Taymans  <wim@fluendo.com>
10045
10046         * gst/gstsegment.c: (gst_segment_set_seek),
10047         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10048         (gst_segment_to_running_time):
10049         Fix boundary checking in to_running_time() and to_stream_time().
10050         Fixes #377183.
10051
10052         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10053         stream and running time can now be calculated for the complete
10054         clipped segment.
10055
10056 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
10057
10058         * gst/gstpad.c: (gst_pad_push_event):
10059           Can't access event structure after giving away ownership of
10060           the event.
10061
10062 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
10063
10064         * docs/random/ensonic/embedded.txt:
10065         * docs/random/ensonic/profiling.txt:
10066         * docs/random/ensonic/receipies.txt:
10067           more thinking
10068
10069 2006-11-13  Wim Taymans  <wim@fluendo.com>
10070
10071         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10072
10073         * gst/gstpad.c:
10074         Fix documentation for gst_pad_dispatcher. Fixes #374475.
10075
10076 2006-11-13  Wim Taymans  <wim@fluendo.com>
10077
10078         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
10079
10080         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10081         Store new length in segment duration so we don't keep on calling the
10082         potentially expensize get_size() call. Fixes #370865.
10083
10084 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
10085
10086         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
10087
10088         * win32/common/libgstreamer.def:
10089           Add two missing symbols (#366492).
10090
10091 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
10092
10093         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
10094         (gst_adapter_take_buffer):
10095         Fix format string to use all its arguments.
10096         Remove useless >= check on a guint
10097
10098 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
10099
10100         * tests/examples/adapter/.cvsignore:
10101         Ignore build file as commanded by the build-bot
10102
10103 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
10104
10105         * tests/examples/adapter/Makefile.am:
10106         * tests/examples/adapter/adapter_test.c: (run_test_take),
10107         (run_test_take_buffer), (run_tests), (main):
10108
10109         Add new files from the previous commit
10110
10111 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
10112
10113         * Makefile.am:
10114         * configure.ac:
10115         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
10116         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
10117         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
10118         * libs/gst/base/gstadapter.h:
10119         * tests/check/libs/adapter.c: (create_and_fill_adapter),
10120         (GST_START_TEST), (gst_adapter_suite):
10121         * tests/examples/Makefile.am:
10122         Do some optimisation work in GstAdapter to avoid copies in more cases.
10123         It could still do slightly better by merging buffers when
10124         gst_buffer_is_span_fast is true, but is already faster. 
10125
10126         Also, avoid traversing a single-linked list to append each incoming 
10127         buffer inside the adapter.
10128
10129         Add simple test app that times the adapter behaviour in different
10130         situations, and extend the unit test to check that bytes enter and
10131         exit the adapter in their original order.
10132
10133 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
10134
10135         * docs/random/draft-missing-plugins.txt:
10136           Update: use element message instead of adding a new message
10137           type to the core; don't provide GStreamer API to initiate the
10138           plugin download, just provide API to compose the strings needed
10139           and let an external libgimmestuff handle the rest.
10140
10141 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
10142
10143         * tools/gst-inspect.c: (print_element_properties_info):
10144         Print a string instead of 'unknown type' for GValueArray properties
10145
10146 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
10147
10148         * docs/random/draft-missing-plugins.txt:
10149         More small fixes.
10150
10151 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
10152
10153         * tests/examples/typefind/typefind.c: (type_found), (main):
10154           Make typefind element example work again (#371894); add a
10155           license header.
10156
10157 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
10158
10159         * docs/random/draft-missing-plugins.txt:
10160           Commit initial draft about how to deal with missing plugins,
10161           needs work (API too).
10162
10163 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
10164
10165         * docs/pwg/advanced-types.xml:
10166           documents the new caps elements (see #363118)
10167
10168 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
10169
10170         * gst/gstplugin.c: (gst_plugin_load_file):
10171         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
10172         (gst_file_src_map_region), (gst_file_src_start):
10173         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
10174         (gst_file_index_commit):
10175           Use g_strerror() instead of strerror() - we want UTF-8.
10176
10177 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
10178
10179         Patch by: Peter Kjellerstedt <pkj at axis com>
10180
10181         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10182           Another printf fix (#371493).
10183
10184 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10185
10186         * tests/check/gst/gsttag.c:
10187           relicence (okay with author=company)
10188
10189 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10190
10191         * gst/gstpad.c: (gst_pad_event_default_dispatch),
10192         (gst_pad_push_event):
10193           Enhance debug and improve docs
10194         
10195         * gst/gsturi.c:
10196           Fix docs
10197
10198 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10199
10200         * docs/random/ensonic/distributed.txt:
10201         * docs/random/ensonic/profiling.txt:
10202           more ideas
10203
10204 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10205
10206         * docs/gst/gstreamer-sections.txt:
10207           add new API and fix the build
10208           
10209         * gst/gstbin.c: (gst_bin_recalc_state):
10210         * gst/gstelement.c: (gst_element_message_full),
10211         (gst_element_get_state_func), (gst_element_set_state_func):
10212           use new API and improve logging
10213         
10214         * gst/gstutils.c: (gst_element_state_change_return_get_name):
10215         * gst/gstutils.h:
10216           API: add function to get StateChangereturn names to improve logs 
10217
10218 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10219
10220         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10221           I'm considering shooting the next person to put strerror stuff
10222           in the translateable part of the message.
10223
10224 2006-11-03  Wim Taymans  <wim@fluendo.com>
10225
10226         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10227         Get the type and printf conversion specifiers right.
10228
10229 2006-11-03  Wim Taymans  <wim@fluendo.com>
10230
10231         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10232
10233         * gst/gstpad.c: (gst_pad_init), (pre_activate),
10234         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
10235         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
10236         Some small cleanups. Improve debugging.
10237         * gst/gstpad.h:
10238         Signal all waiting threads with a broadcast instead of just one.
10239         Fixes #369942.
10240
10241 2006-11-03  Wim Taymans  <wim@fluendo.com>
10242
10243         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
10244         (gst_fd_src_create):
10245         Add some debugging. 
10246         Only update fd when it's different from the old.
10247
10248 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10249
10250         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
10251           Printf fixes for PPC/OSX, take two (#369366).
10252
10253 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10254
10255         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
10256
10257         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
10258         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10259         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
10260           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
10261           don't cast to long long for portability reasons, but use
10262           GLib's types instead.
10263
10264 2006-10-30  Michael Smith  <msmith@fluendo.com>
10265
10266         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
10267           Get the arguments to lseek() the right way around.
10268           Fixes 367677.
10269
10270 2006-10-30  Wim Taymans  <wim@fluendo.com>
10271
10272         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
10273
10274         * gst/gstinfo.h:
10275         _declspec should be __declspec (two underscores, not one). Fixes 366572.
10276
10277 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
10278
10279         Patch by: Kjartan Maraas  <kmaraas at gnome org>
10280
10281         * docs/design/part-MT-refcounting.txt:
10282         * docs/random/wtay/capsnego2-docs:
10283         * gst/gstclock.c:
10284         * gst/gstxml.c:
10285           Typo fixes (#366212).
10286
10287 2006-10-28  Wim Taymans  <wim@fluendo.com>
10288
10289         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10290
10291         * gst/gst.c:
10292         * win32/common/libgstbase.def:
10293         * win32/common/libgstreamer.def:
10294         * win32/vs8/libgstbase.vcproj:
10295         * win32/vs8/libgstcontroller.vcproj:
10296         Add needed entries in .def files.
10297         Use HAVE_UNISTD_H.
10298         Rearrange def files in vs8 solutions. Fixes #366286.
10299
10300 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
10301
10302         * win32/common/gstconfig.h:
10303           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
10304           hand-made win32 gstconfig.h. Fixes #366321.
10305
10306 2006-10-27  Wim Taymans  <wim@fluendo.com>
10307
10308         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
10309         (gst_ghost_pad_new_full):
10310         Make acceptcaps return TRUE when we don't have a target, just like
10311         setcaps does.
10312
10313 2006-10-27  Wim Taymans  <wim@fluendo.com>
10314
10315         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
10316         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
10317
10318 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
10319
10320         * gst/gststructure.c: (gst_structure_id_set_value):
10321           If someone tries to set a non-UTF8 string field on a structure,
10322           don't just print a warning, but also ignore the request and do
10323           not change/add that field to the structure.
10324
10325         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10326           Test for the above.
10327
10328 2006-10-25  David Schleef  <ds@schleef.org>
10329
10330         * gst/gstinfo.c:
10331           g_hash_table_insert() needs a cast to a non-const pointer duh.
10332
10333 2006-10-25  David Schleef  <ds@schleef.org>
10334
10335         * gst/gstinfo.c:
10336         * gst/gstinfo.h:
10337           Change name parameter of _gst_debug_register_funcptr to const
10338           to reflect the constness of its use in the function as well
10339           as to quiet a gcc warning.
10340
10341 2006-10-25  Edward Hervey  <edward@fluendo.com>
10342
10343         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
10344         Don't push the buffer if it's empty.
10345         Closes #363095
10346
10347 2006-10-24  Wim Taymans  <wim@fluendo.com>
10348
10349         * gst/gstevent.h:
10350         Add small comment.
10351
10352         * libs/gst/base/gstbasetransform.c:
10353         (gst_base_transform_sink_eventfunc):
10354         Debug segment values *after* updating them as this is more
10355         interesting.
10356
10357 2006-10-23  Wim Taymans  <wim@fluendo.com>
10358
10359         * docs/design/part-events.txt:
10360         Update some docs.
10361
10362         * docs/design/part-block.txt:
10363         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
10364         (gst_pad_push_event):
10365         Revert BLOCKING patch, it tries to be smart without really having a
10366         clear idea what or how. So, now we discard all FLUSHING events again on
10367         a blocking pad. Should fix gnonlin again.
10368
10369 2006-10-23  Wim Taymans  <wim@fluendo.com>
10370
10371         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10372
10373         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
10374         (gst_base_src_start), (gst_base_src_activate_push):
10375         Make sure size is always initialized. Fixes #364388.
10376
10377 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
10378
10379         * docs/random/ensonic/distributed.txt:
10380           add some ideas about doing distributed processing
10381
10382         * docs/random/ensonic/profiling.txt:
10383           get_rusage look promising
10384
10385 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
10386
10387         * docs/manual/basics-helloworld.xml:
10388           Add a cast in example to fix compile warning
10389
10390 2006-10-18  Wim Taymans  <wim@fluendo.com>
10391
10392         * gst/gstsegment.c: (gst_segment_set_last_stop),
10393         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
10394         Relax arg checking again, -1 is allowed.
10395
10396 2006-10-18  Wim Taymans  <wim@fluendo.com>
10397
10398         * gst/gstsegment.c: (gst_segment_set_last_stop),
10399         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
10400         _set_last_stop() must be with a value != -1
10401         A _TYPE_SET to -1 means seek to 0.
10402         Calc last_stop correctly for negative rates.
10403         Make sure we work with positive durations when updating a segment.
10404
10405 2006-10-18  Wim Taymans  <wim@fluendo.com>
10406
10407         * docs/design/part-live-source.txt:
10408         * gst/gstclock.h:
10409         Small docs fixes.
10410
10411 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
10412
10413         * gst/gstbuffer.h:
10414           Add an explicit cast to GstBuffer** to keep old code that added an
10415           explicit cast to GstMiniObject** for gst_mini_object_replace()
10416           compiling without warning.
10417
10418 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
10419
10420         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
10421           check for validity of dates
10422
10423 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
10424
10425         * docs/gst/gstreamer-sections.txt:
10426           Forgot this one, makes gtk-doc shut up.
10427
10428 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
10429
10430         Patch by: Peter Kjellerstedt <pkj at axis com>
10431
10432         * gst/gstobject.h:
10433           Don't define xmlNodePtr to gpointer if the core was built with
10434           --disable-loadsave and --disable-registry, this will break
10435           applications that want to use libxml2 but are buildling against a
10436           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
10437           instead so we don't have to mess with the libxml2 namespace
10438           (#361675).
10439
10440 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
10441
10442         * gst/gstbuffer.h:
10443           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
10444           type-punned pointer warnings.
10445
10446 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
10447
10448         * gst/gstelement.h:
10449           Add casts to the correct return type to state <=> state transition
10450           macros.
10451
10452 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
10453
10454         * docs/design/part-live-source.txt:
10455           describe howto handle latency
10456         
10457         * docs/random/ensonic/profiling.txt:
10458           more ideas
10459
10460         * tools/gst-plot-timeline.py:
10461           fix log parsing for solaris, remove unused function
10462
10463 2006-10-16  Wim Taymans  <wim@fluendo.com>
10464
10465         * docs/design/part-trickmodes.txt:
10466         * gst/gstevent.c:
10467         Update some docs regarding reverse playback.
10468
10469 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10470
10471         Patch by: Marcus Granado  <mrc dot gran at gmail com>
10472
10473         * win32/vs8/grammar.vcproj:
10474           Error out with a warning if glib-genmarshal.exe is not in path,
10475           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
10476
10477 2006-10-13  Wim Taymans  <wim@fluendo.com>
10478
10479         * gst/gstsegment.c: (gst_segment_set_seek):
10480         When seeking to stop -1, set last_stop (current position) to the
10481         duration of the segment.
10482
10483 2006-10-13  Wim Taymans  <wim@fluendo.com>
10484
10485         * gst/gstelement.h:
10486         Clarify _NO_PREROLL a bit more.
10487
10488         * gst/gstevent.c:
10489         Fix docs.
10490
10491         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
10492         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
10493         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
10494         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
10495         due to wrong locking order. Fixes #361769.
10496         Remove some redundant/misplaced checks in pad_block.
10497
10498         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10499         For negative rates, count backwards from the duration.
10500
10501 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10502
10503         * gst/gsterror.c: (_gst_library_errors_init):
10504           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
10505           up with something better).
10506
10507 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
10508
10509         * win32/vs6/libgstreamer.dsp:
10510         * win32/vs7/libgstreamer.vcproj:
10511         * win32/vs8/libgstreamer.vcproj:
10512           Don't reference glib-compat.c which is currently not used and not
10513           disted; add gstquark.c which was recently added. Fixes #361730.
10514
10515 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
10516
10517         * win32/common/libgstbase.def:
10518         * win32/common/libgstcontroller.def:
10519         * win32/common/libgstreamer.def:
10520           Add gst_caps_merge() and a bunch of other recently-added functions.
10521           Fixes #361732.
10522
10523 2006-10-11  Wim Taymans  <wim@fluendo.com>
10524
10525         * docs/plugins/gstreamer-plugins.args:
10526         * docs/plugins/inspect/plugin-coreelements.xml:
10527         * docs/plugins/inspect/plugin-coreindexers.xml:
10528         Update element args.
10529
10530         * gst/gstsystemclock.c:
10531         Small comment update.
10532
10533         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
10534         (gst_tee_request_new_pad), (gst_tee_release_pad),
10535         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
10536         (gst_tee_sink_activate_pull):
10537         * plugins/elements/gsttee.h:
10538         Some tee loving:
10539         Add default property defines.
10540         Implement release pad function.
10541         Give properties better blubs etc.
10542         Activate pads before adding them to a running tee.
10543         Do simple buffer_alloc on the first requested pad.
10544         Post error when activation fails.
10545
10546 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
10547
10548         * gst/gst.c: (ensure_current_registry_forking):
10549           Check return value of write() to make compiler happy.
10550
10551 2006-10-11  Wim Taymans  <wim@fluendo.com>
10552
10553         Patch by: Sjoerd Simons <sjoerd at luon dot net>
10554
10555         * plugins/elements/gstqueue.c: (gst_queue_chain):
10556         Recheck queue filledness after signalling the overrun when we're about
10557         to leak downstream because we released the lock when emitting the signal
10558         and the queue could be empty again. Fixes #352345.
10559
10560 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
10561
10562         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
10563           Fix refcounting here too, just like we did for _new_valist() a few
10564           days ago (#357180) (thanks to René Stadler). Also remove all those
10565           'Since: 0.9' from the gtk-doc blobs.
10566
10567         * tests/check/libs/controller.c: (controller_refcount_new_list),
10568         (gst_controller_suite):
10569           Unit test for the above.
10570
10571 2006-10-10  Wim Taymans  <wim@fluendo.com>
10572
10573         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
10574
10575         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
10576         (gst_pad_save_thyself):
10577         Update some docs.
10578         Write pad direction in XML output. Fixes #345496.
10579
10580 2006-10-10  Wim Taymans  <wim@fluendo.com>
10581
10582         Patch by: René Stadler <mail at renestadler dot de>
10583
10584         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10585         (gst_controller_new_list), (_gst_controller_dispose),
10586         (_gst_controller_finalize), (_gst_controller_class_init):
10587         Take ref to controlled object so that it cannot disappear. 
10588         Fixes #357432.
10589
10590 2006-10-10  Wim Taymans  <wim@fluendo.com>
10591
10592         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10593         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10594         (gst_check_teardown_sink_pad):
10595         Activate/deactivate pads in setup/teardown respectively.
10596
10597 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10598
10599         Patch by: Josep Torra Valles <josep@fluendo.com>
10600
10601         * gst/Makefile.am:
10602         Cast values when making gstenumtypes.h.  This pacifies Forte
10603         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
10604         in the enumeration.
10605
10606 2006-10-09  Wim Taymans  <wim@fluendo.com>
10607
10608         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
10609         Rename some more @cur to @start to fix docs. 
10610
10611         * gst/gstsegment.c: (gst_segment_set_seek):
10612         Fix typo.
10613         time and start must always stay in sync as defined in design doc.
10614
10615         * gst/gsttaglist.c: (gst_tag_list_is_empty):
10616         Rename param to fix docs.
10617
10618         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10619         Check that start and time are in sync.
10620
10621         * tests/check/pipelines/parse-launch.c:
10622         (gst_parse_test_element_change_state):
10623         Activate pad before adding to the element.
10624
10625 2006-10-09  Wim Taymans  <wim@fluendo.com>
10626
10627         * docs/design/part-qos.txt:
10628         Fix typo.
10629
10630         * gst/gstevent.c:
10631         * gst/gstevent.h:
10632         Update seek event docs regarding negative rates.
10633         Rename @cur to @start. 
10634
10635         * gst/gstsegment.c: (gst_segment_set_seek):
10636         * gst/gstsegment.h:
10637         Update set_seek docs regarding negative rates.
10638         Correctly update last_stop to @stop when dealing with negative
10639         rates.
10640         Rename @cur to @start. 
10641
10642         * tests/check/gst/gstpad.c: (GST_START_TEST):
10643         Activate pads before trying to use them.
10644
10645         * tests/check/gst/gstsegment.c: (GST_START_TEST),
10646         (gst_segment_suite):
10647         Add simple check for segments and negative rates.
10648
10649 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
10650
10651         * gst/gsttaglist.c: (gst_tag_list_is_empty):
10652         * gst/gsttaglist.h:
10653         * docs/gst/gstreamer-sections.txt:
10654           API: add gst_tag_list_is_empty() (#360467).
10655
10656         * tests/check/gst/gsttag.c: (GST_START_TEST):
10657           And a test case.
10658
10659 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10660
10661         * gst/gstmessage.h:
10662         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
10663         a value that doesn't fit on enumeration.
10664
10665 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10666
10667         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10668         Remove local debugging system and use Gstreamer's instead.
10669
10670 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10671
10672         Patch by: Josep Torra Valles <josep@fluendo.com>
10673
10674         * common/m4/gst-error.m4:
10675         Disable warning of statement not reached on Forte.
10676         * gst/gstmessage.h:
10677         Fix warning on Forte (value doesn't fit on enumeration).
10678         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
10679         Fix warning on Forte (value doesn't fit on enumeration).
10680         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10681         DEBUG macro says it takes minimum of 2 args and so Forte
10682         complains about the use with just 1 arg.
10683         * plugins/elements/gstfdsink.c:
10684         * plugins/elements/gstfdsrc.c:
10685         * plugins/elements/gstfilesink.c:
10686         * plugins/elements/gstfilesrc.c:
10687         Use correct return type for the uri handler implementations.
10688
10689         All these fix warnings in Forte.  Fixes bug #360860.
10690
10691 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10692
10693         * gst/gstelement.h:
10694           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
10695           format string, so don't use G_GNUC_PRINTF for those versions.
10696
10697 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
10698
10699         * gst/gsttaglist.c: (gst_is_tag_list):
10700         * gst/gsttaglist.h:
10701           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
10702
10703         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10704           Small test for the above.
10705
10706 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
10707
10708         * gst/gsttaglist.h:
10709           Less tabs, more spaces.
10710
10711 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
10712
10713         * gst/gstinfo.h:
10714           Those two function declarations do actually belong there, revert
10715           commit from yesterday that turned them intro macros.
10716
10717 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10718
10719         Patch by: Josep Torra Valles <josep@fluendo.com>
10720
10721         * gst/gst.c: (gst_init_get_option_group):
10722         Fix empty declaration and type mismatch.
10723         * gst/gstbin.c: (gst_bin_change_state_func):
10724         Fix type mismatch.
10725         * gst/gstelement.c: (gst_element_continue_state),
10726         (gst_element_set_state_func), (gst_element_change_state),
10727         (gst_element_change_state_func):
10728         Fix type mismatches.
10729         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
10730         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
10731         Cast as appropriate.
10732         * gst/gstobject.c: (gst_class_signal_connect):
10733         Cast as appropriate.  The function pointer parameter really
10734         has the wrong type but would break API if we change it.
10735         * gst/gstquery.c:
10736         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
10737         order of including string.h.
10738         * gst/gstutils.c: (gst_element_state_get_name):
10739         Remove unreachable line.
10740         * gst/gstxml.c: (gst_xml_parse_doc):
10741         Fix type mismatch.
10742         All these caught by Forte.
10743
10744 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10745
10746         Patch by: Josep Torra Valles <josep@fluendo.com>
10747
10748         * common/m4/gst-error.m4:
10749         Fixed bug #360151.
10750         We need to disable warnings on Forte for empty declarations
10751         due to gst-indent adding ;s to lines that just use macros
10752         where the macro actually doesn't need a ; at end to end
10753         statement.
10754
10755 2006-10-06  Wim Taymans  <wim@fluendo.com>
10756
10757         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
10758         (gst_file_sink_close_file), (gst_file_sink_event),
10759         (gst_file_sink_render):
10760         Add some FIXME for the NEWSEGMENT handling.
10761
10762 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10763
10764         * gst/parse/grammar.y:
10765         Remove static function gst_parse_element_lock as all it does
10766         is return.  Looks like cruft from 0.8.
10767
10768 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10769
10770         Patch by: Josep Torra Valles <josep@fluendo.com>
10771
10772         * common/m4/gst-error.m4:
10773         * configure.ac:
10774         * libs/gst/net/Makefile.am:
10775         Fix a compilation issue with Forte on Solaris.  inet_aton is in
10776         libresolv.
10777
10778 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
10779
10780         * gst/gstpad.c: (pre_activate):
10781         * gst/gstregistry.c: (gst_registry_scan_path_level):
10782         * gst/gstregistryxml.c: (load_plugin):
10783         * libs/gst/controller/gstcontroller.c:
10784         (gst_controlled_property_set_interpolation_mode):
10785         * libs/gst/dataprotocol/dataprotocol.c:
10786         (gst_dp_packet_from_event_1_0):
10787         * libs/gst/net/gstnetclientclock.c:
10788         (gst_net_client_clock_observe_times):
10789         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10790           Printf fixes.
10791
10792 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
10793
10794         * configure.ac:
10795         * docs/gst/gstreamer-sections.txt:
10796         * gst/gstconfig.h.in:
10797         * gst/gstelement.h:
10798         * gst/gstinfo.h:
10799           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
10800           whether we can use G_GNUC_PRINTF in other header files and at
10801           least check the printf format/arguments of debug messages and
10802           GST_ELEMENT_ERROR messages when the printf extension is not
10803           being used.
10804           Replace more tabs with spaces in gstinfo.h and remove two spurious
10805           function declarations in GST_DISABLE_DEBUG part with macros.
10806
10807 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
10808
10809         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
10810           More docs for the sync-message signal (mention that it is not
10811           emitted by default); log message structures of messages posted on
10812           the bus as well.
10813
10814 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
10815
10816         * gst/gst.c: (ensure_current_registry_forking):
10817         Use a pipe pair to receive status results from the forked child, and
10818         ignore the result from waitpid. Fixes #355499
10819
10820 2006-10-02  Wim Taymans  <wim@fluendo.com>
10821
10822         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10823         (gst_ghost_pad_suite):
10824         Fix leak in check.
10825
10826 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10827
10828         * gst/gstpad.c:
10829           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
10830
10831 2006-10-02  Edward Hervey  <edward@fluendo.com>
10832
10833         * docs/design/part-block.txt:
10834         Further explain the use of flushing on blocked pads.
10835         * docs/gst/gstreamer-sections.txt:
10836         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
10837         (gst_pad_push_event):
10838         * gst/gstpad.h:
10839         Added new GstPadFlag : GST_PAD_BLOCKING.
10840         Adds the notion of pads really blocking, which enables to properly
10841         handle FLUSH_START/FLUSH_STOP events on blocked pads.
10842         Fixes #358999
10843         API: gst_pad_is_blocking()
10844         API: GST_PAD_IS_BLOCKING() macro
10845         API: GST_PAD_BLOCKING GstPadFlag
10846         
10847 2006-10-02  Wim Taymans  <wim@fluendo.com>
10848
10849         Patch by: mrcgran <mrc.gran at gmail dot com>
10850
10851         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
10852         Filter the proxied caps against the padtemplate if we have one.
10853
10854         * gst/gstquery.c: (gst_query_new_segment):
10855         Add include for gstinfo.h so that compilation with
10856         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
10857
10858 2006-10-02  Wim Taymans  <wim@fluendo.com>
10859
10860         Patch by: Alessandro Decina  <alessandro at nnva org>
10861
10862         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
10863         (gst_file_sink_set_location), (gst_file_sink_open_file),
10864         (gst_file_sink_close_file), (gst_file_sink_event),
10865         (gst_file_sink_render):
10866         Set file to NULL when closing filesink so that we can set a new filename
10867         in READY. Fixes #358613.
10868
10869 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10870
10871         Patch by: Alessandro Decina  <alessandro at nnva org>
10872
10873         * gst/gstevent.c: (_gst_event_copy):
10874           Fix gst_mini_object_make_writable() and gst_event_copy() for events
10875           with event structures by setting the parent refcount address of the
10876           copied structure to the address of the refcount member of the newly
10877           copied event rather than the address of the refcount member of the
10878           original event. Fixes #358737.
10879
10880         * tests/check/gst/gstevent.c: (GST_START_TEST):
10881           Unit test for the above.
10882
10883 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
10884
10885         * docs/design/Makefile.am:
10886           Dist some more files.
10887
10888 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10889
10890         * tests/check/libs/controller.c: (GST_START_TEST),
10891         (gst_controller_suite):
10892           Add test for the previous fix; add some more tests
10893           for correct refcounting behaviour; fix a few leaks
10894           in test cases; call gst_controller_init() at start
10895           of all tests.
10896
10897 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10898
10899         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10900         (gst_controller_set_from_list):
10901           Don't g_return_val_if_fail() on timed values with invalid timestamps
10902           inside a critical section without unlocking the mutex. Spotted by
10903           René Stadler. (#357617)
10904           Also, fix up refcounting properly: when returning an existing
10905           controller, we should increase the reference only once and not
10906           once per property and when trying to control a property again
10907           we should also increase the refcount.
10908
10909 2006-09-29  Wim Taymans  <wim@fluendo.com>
10910
10911         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10912         * libs/gst/net/gstnettimeprovider.c:
10913         (gst_net_time_provider_thread):
10914         Stop reading commands when EOF as well.
10915
10916         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
10917         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
10918         * plugins/elements/gstidentity.c: (gst_identity_class_init):
10919         Unify description of the dump property.
10920
10921 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10922
10923         * tests/examples/manual/.cvsignore:
10924         OK, so it's actually cvsignore that needs changing. Stop laughing.
10925
10926 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10927
10928         * tests/examples/manual/Makefile.am:
10929         Gah, declare vars *before* using them
10930
10931 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10932
10933         * gst/gst.c: (init_pre), (scan_and_update_registry),
10934         (ensure_current_registry_nonforking),
10935         (ensure_current_registry_forking), (ensure_current_registry),
10936         (init_post), (gst_debug_help), (gst_deinit):
10937         * gst/gst_private.h:
10938         * gst/gstregistry.c: (gst_registry_finalize),
10939         (gst_registry_remove_features_for_plugin_unlocked),
10940         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10941         (gst_registry_scan_path),
10942         (_priv_gst_registry_remove_cache_plugins),
10943         (_priv_gst_registry_cleanup):
10944         * gst/gstregistry.h:
10945         Re-commit the registry changes, along with an extra fix:
10946           When a cached plugin is encountered at a different file path,
10947           update the stored path in the registry cache so that the parent
10948           process knows where it actually is now when it re-reads the registry
10949           cache. Fixes the thing that broke distcheck with the previous commit.
10950
10951         * tests/check/Makefile.am:
10952         Clean up files named 'core' too when running make clean.
10953
10954         * tests/examples/manual/Makefile.am:
10955         Set up a registry path for running these tests, and clean it properly
10956         for distcheck.
10957
10958 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10959
10960         * configure.ac:
10961         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
10962         want gmodule-no-export-2.0.pc instead so that we don't drag in
10963         --export-dynamic on every project that links to GStreamer.
10964
10965         Also, make our export regex only match the start of symbols, rather 
10966         than any symbol that contains '_gst' somewhere.
10967
10968         * libs/gst/check/Makefile.am:
10969         The libgstcheck we build does however need export-dynamic, as it
10970         produces some symbols that don't match our _gst... style regex.
10971         Fixes: #318031
10972
10973 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
10974
10975         * gst/gst.c: (init_pre), (scan_and_update_registry),
10976         (ensure_current_registry_nonforking),
10977         (ensure_current_registry_forking), (ensure_current_registry),
10978         (init_post), (gst_debug_help), (gst_deinit):
10979         * gst/gst_private.h:
10980         * gst/gstregistry.c: (gst_registry_finalize),
10981         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10982         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
10983         (_gst_registry_cleanup):
10984         * gst/gstregistry.h:
10985           Revert previous change until I figure out why it breaks distcheck.
10986
10987 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
10988
10989         * gst/gst.c: (init_pre), (scan_and_update_registry),
10990         (ensure_current_registry_nonforking),
10991         (ensure_current_registry_forking), (ensure_current_registry),
10992         (init_post), (gst_debug_help), (gst_deinit):
10993
10994           Make init_pre and init_post take the full complement of GOptionFunc
10995           args so they can return useful GErrors. Make the registry updating
10996           functions do so.
10997
10998           Call _priv_gst_registry_remove_cache_plugins after scanning files to
10999           ensure that the registry we're about to write out doesn't contain
11000           stale information about old-deleted plugin files.
11001
11002           Make _priv_gst_registry_remove_cache_plugins return a boolean so
11003           that deletion of plugin files is considered a registry change.
11004
11005         * gst/gst_private.h:
11006         * gst/gstregistry.c: (gst_registry_finalize),
11007         (gst_registry_remove_features_for_plugin_unlocked),
11008         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11009         (gst_registry_scan_path),
11010         (_priv_gst_registry_remove_cache_plugins),
11011         (_priv_gst_registry_cleanup):
11012         * gst/gstregistry.h:
11013         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
11014         by adding _priv prefix, so that they won't appear in the global
11015         symbol table. They still do atm though because of #318031. Move the
11016         prototypes to gst_private.h
11017
11018         When removing a plugin, remove all features for that plugin too. 
11019         Fixes #340878.
11020
11021 2006-09-27  Wim Taymans  <wim@fluendo.com>
11022
11023         * docs/random/moving-plugins:
11024         Make it clear that the "compiled-in descriptions" really mean
11025         the element details.
11026
11027         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11028         (gst_base_sink_wait_preroll):
11029         Update docs.
11030
11031         * docs/libs/gstreamer-libs-sections.txt:
11032         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11033         (gst_base_src_get_range), (gst_base_src_activate_push):
11034         * libs/gst/base/gstbasesrc.h:
11035         Added function to block while waiting for PLAYING, this function
11036         is used by live sources that block on the clock.
11037         API: gst_base_src_wait_playing()
11038
11039 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11040
11041         Patch by: Peter Kjellerstedt <pkj at axis com>
11042
11043         * Makefile.am:
11044           gst-element-check.m4 is generated and should therefore be
11045           copied from the build dir rather than the source dir (#357593).
11046           'make distcheck' hasn't noticed this because we were disting
11047           the file as well, so stop doing that.
11048
11049 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11050
11051         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11052           Add some tests for gst_caps_intersect().
11053
11054         * tools/gst-launch.c: (event_loop):
11055           Print all buffering percentages we get, even the 100% one.
11056
11057 2006-09-26  Wim Taymans  <wim@fluendo.com>
11058
11059         * tools/gst-inspect.c: (print_element_properties_info),
11060         (print_signal_info):
11061         Fix printing of flags to match the look of enums.
11062
11063 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
11064
11065         * gst/gstelementfactory.c:
11066           Fix typo in docs blurb.
11067
11068 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
11069
11070         * gst/gsturi.c: (search_by_entry):
11071           Don't assert/crash here if a uri handler doesn't return any
11072           supported protocols. The list of protocols could be generated
11073           dynamically at runtime or at plugin registration, and an error
11074           in the underlying library shouldn't be fatal (#353301).
11075
11076 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
11077
11078         * gst/gstinfo.c:
11079           Fix warning if HAVE_PRINTF_EXTENSION is undefined
11080           (spotted by Peter Kjellerstedt).
11081
11082 2006-09-23  Wim Taymans  <wim@fluendo.com>
11083
11084         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
11085
11086         * libs/gst/base/gstbasesrc.c:
11087         (gst_base_src_default_check_get_range), (gst_base_src_start),
11088         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11089         (gst_base_src_change_state):
11090         Match _start/_stop calls in the activate functions. Remove redundant
11091         _stop call from the state change function. Fixes #356910.
11092         Turn failure DEBUG into ERROR. 
11093
11094 2006-09-22  Wim Taymans  <wim@fluendo.com>
11095
11096         * docs/design/part-buffering.txt:
11097         * gst/gstmessage.c: (gst_message_new_buffering),
11098         (gst_message_parse_buffering):
11099         Update docs about buffering.
11100
11101         * docs/design/part-trickmodes.txt:
11102         Fix typo.
11103
11104 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
11105
11106         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11107         (gst_controller_new_list):
11108           Ref instances when returning them again (fixes #357180)
11109
11110 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11111
11112         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
11113           Don't forget to release proxy lock when there's an error.
11114
11115 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
11116
11117         * gst/gstcaps.h:
11118           Add extra initialisers for Caps things, to fix some plugin warnings
11119           when using -Wextra
11120
11121 2006-09-18  Wim Taymans  <wim@fluendo.com>
11122
11123         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11124           Also set template on the internal pad so that a getcaps from the 
11125           target pad returns the template caps.
11126
11127 2006-09-18  Wim Taymans  <wim@fluendo.com>
11128
11129         * gst/gstelement.c: (gst_element_post_message),
11130         (gst_element_dispose):
11131         Use _DEBUG_OBJECT some more.
11132
11133         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11134         Avoid typechecks.
11135
11136         * tools/gst-launch.c: (main):
11137         If the toplevel element is not a GstPipeline, it must be put in a
11138         pipeline so that a bus and clock is selected.
11139
11140 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
11141
11142         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
11143           JITTER, RATE, and LATENCY query should be handled by the
11144           default case and not by the CONVERT query code.
11145
11146 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
11147
11148         * gst/gstformat.c: (gst_format_register):
11149           Fix locking order (must take lock before using n_values).
11150
11151         * gst/gstvalue.c: (gst_value_serialize_enum),
11152         (gst_value_deserialize_enum_iter_cmp),
11153         (gst_value_deserialize_enum):
11154           Fix serialisation/deserialisation of custom registered GstFormats.
11155
11156         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11157           Unit test for custom format serialisation/deserialisation.
11158
11159 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
11160
11161         * docs/pwg/building-boiler.xml:
11162         * plugins/elements/gstcapsfilter.c:
11163         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
11164         section.
11165
11166 2006-09-16  Edward Hervey  <edward@fluendo.com>
11167
11168         * libs/gst/base/gstbasetransform.c:
11169         (gst_base_transform_buffer_alloc):
11170         Check if requested caps are the same as the sinks caps IF
11171         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
11172         is FALSE.
11173         This fixes the renegotiation issues stated in #352827.
11174
11175 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11176
11177         * configure.ac:
11178         * docs/manual/advanced-autoplugging.xml:
11179         * tests/examples/Makefile.am:
11180         * tests/examples/manual/.cvsignore:
11181         * tests/examples/manual/Makefile.am:
11182         * tests/examples/manual/extract.pl:
11183           Extract the manual examples again like we used to do.
11184           Fix one of them.
11185
11186 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11187
11188         * win32/common/config.h:
11189           update for version
11190
11191 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
11192
11193         * gst/gsterror.c:
11194           Documents how to receive errors.
11195
11196 2006-09-15  Wim Taymans  <wim@fluendo.com>
11197
11198         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
11199         (event_loop), (main):
11200         Added some comments here and there.
11201         Post an application message when an interrupt is caught instead of doing
11202         an uncontrolled state change.
11203         Clean up the event loop.
11204         Handle buffering messages, pause/resume the pipeline.
11205         Make shutdown because of an interrupt more reliable.
11206
11207 2006-09-15  Wim Taymans  <wim@fluendo.com>
11208
11209         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11210         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
11211         (gst_base_sink_preroll_object):
11212         Make sure that our internal state is correct when we commit our state
11213         asynchronously. This solves a race where a state change to PLAYING
11214         could cause the sink to remain blocked in preroll in some situations.
11215
11216 2006-09-15  Wim Taymans  <wim@fluendo.com>
11217
11218         * tools/gst-inspect.c: (print_element_properties_info),
11219         (print_signal_info):
11220         List flags as hex so it's easier to deal with.
11221
11222 2006-09-15  Wim Taymans  <wim@fluendo.com>
11223
11224         * docs/libs/gstreamer-libs-sections.txt:
11225         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
11226         (gst_base_sink_do_sync):
11227         * libs/gst/base/gstbasesink.h:
11228         Expose logic to wait for preroll so that subclasses such as audiosink
11229         can also use this method.
11230         API: gst_base_sink_wait_preroll()
11231
11232 2006-09-15  Wim Taymans  <wim@fluendo.com>
11233
11234         * gst/gstobject.c: (gst_object_set_parent):
11235         * gst/gstpipeline.c: (do_pipeline_seek):
11236         Small cleanups in docs and code.
11237
11238         * gst/gstsegment.c: (gst_segment_clip):
11239         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11240         if stop == start and start is in the segment, no clipping should be
11241         done. Also add a test for this.
11242
11243 2006-09-15  Wim Taymans  <wim@fluendo.com>
11244
11245         * docs/design/part-buffering.txt:
11246         * docs/gst/gstreamer-sections.txt:
11247         * gst/gstmessage.c: (gst_message_new_buffering),
11248         (gst_message_parse_buffering):
11249         * gst/gstmessage.h:
11250         Added methods to create and parse BUFFERING messages.
11251         Added preliminary docs about buffering.
11252         API: gst_message_new_buffering
11253         API: gst_message_parse_buffering
11254
11255 2006-09-06  Wim Taymans  <wim@fluendo.com>
11256
11257         * gst/gstbin.c:
11258         Update documentation.
11259
11260         * gst/gstelement.c: (gst_element_class_init),
11261         (gst_element_release_request_pad), (gst_element_set_clock),
11262         (gst_element_get_index), (gst_element_add_pad),
11263         (gst_element_remove_pad), (gst_element_get_random_pad),
11264         (gst_element_send_event), (gst_element_get_query_types),
11265         (gst_element_query), (gst_element_post_message),
11266         (gst_element_message_full), (gst_element_continue_state),
11267         (gst_element_lost_state), (gst_element_save_thyself),
11268         (gst_element_restore_thyself):
11269         Documentation updates.
11270         Rename last bit of the new-pad -> pad-added signal rename.
11271         Fix the case where an element query would only work if the source
11272         pad was linked.
11273         Avoid some useless type checking in message handling.
11274
11275         * gst/gstevent.c:
11276         * gst/gstevent.h:
11277         * gst/gstutils.c:
11278         Documentation updates.
11279
11280 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11281
11282         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11283           add an INFO line for when we actually update the fd
11284
11285 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11286
11287         * configure.ac:
11288           back to TRUNK
11289
11290 === release 0.10.10 ===
11291
11292 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
11293
11294         * configure.ac:
11295           releasing 0.10.10, "Pais"
11296
11297 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
11298
11299         * docs/manual/advanced-position.xml:
11300           Fix typo in sample code.
11301
11302 2006-09-05  Wim Taymans  <wim@fluendo.com>
11303
11304         * libs/gst/net/gstnetclientclock.c: (inet_aton),
11305         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11306         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
11307         * libs/gst/net/gstnetclientclock.h:
11308         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
11309         * libs/gst/net/gstnettimepacket.h:
11310         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
11311         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
11312         (gst_net_time_provider_thread), (gst_net_time_provider_new):
11313         * libs/gst/net/gstnettimeprovider.h:
11314         Make stuff compile on windows. Fixes #345295.
11315
11316 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11317
11318         * gst/gst.c: (ensure_current_registry_forking):
11319           Print better details when child was terminated by signal.
11320
11321 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11322
11323         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
11324           Print a warning rather than g_assert() if a plugin feature
11325           is a URI handler but returns no protocols (#353976).
11326
11327 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
11328
11329         * docs/random/moving-plugins:
11330         Fix two typos.         
11331
11332 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11333
11334         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
11335           Fix locking order, handle NULL function values properly.
11336
11337         * gst/gstinfo.h:
11338           Fix docs.
11339
11340         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
11341           Initialise variable before using it and fix debug statement to
11342           print the address of the function rather than the address of the
11343           variable on the stack holding the address of the function.
11344
11345 2006-09-01  Wim Taymans  <wim@fluendo.com>
11346
11347         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
11348         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
11349         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11350         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
11351         (gst_ghost_pad_parent_unset),
11352         (gst_ghost_pad_internal_do_activate_push),
11353         (gst_ghost_pad_internal_do_activate_pull),
11354         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11355         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11356         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11357         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
11358         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
11359         (gst_ghost_pad_new_no_target_from_template),
11360         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
11361         More cleanups.
11362         Avoid needless typechecking in macros.
11363         Since the internal pad is always present and never changes, there is
11364         no need to locking or ref when retrieving it.
11365         Improve debugging a bit.
11366         Handle link errors when setting the target. Fixes #341029.
11367
11368 2006-09-01  Wim Taymans  <wim@fluendo.com>
11369
11370         * docs/libs/gstreamer-libs-sections.txt:
11371         * docs/plugins/gstreamer-plugins-sections.txt:
11372         Fix docs some more.
11373
11374         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11375         (gst_collect_pads_event):
11376         * libs/gst/base/gstcollectpads.h:
11377         Documentation updates.
11378         Free queued buffer when removing a pad.
11379
11380 2006-08-31  Michael Smith  <msmith@fluendo.com>
11381
11382         * gst/gstutils.c: (gst_element_link_pads),
11383         (gst_element_link_pads_filtered):
11384           Ensure that we set a capsfilter to NULL if we failed to link it
11385           when doing filtered linking, to avoid criticals.
11386
11387           No need to check for unreffing srcpad, which is explicly NULLed
11388           above (a trivial code cleanup).
11389
11390 2006-08-31  Wim Taymans  <wim@fluendo.com>
11391
11392         * docs/design/part-gstghostpad.txt:
11393         Update ascii art in documentation.
11394
11395         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
11396         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
11397         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
11398         (gst_ghost_pad_internal_do_activate_push),
11399         (gst_ghost_pad_internal_do_activate_pull),
11400         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11401         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11402         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
11403         (gst_ghost_pad_set_target):
11404         Small cleanups and leak fixes.
11405         Remove some checks now that the internal pad is never NULL.
11406         Fix the case where linking pads without a target would create nasty
11407         criticals. Fixes #341029.
11408         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
11409         value of _set_target().
11410
11411         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11412         (gst_ghost_pad_suite):
11413         Some more tests for creating and linking untargeted ghostpads.
11414
11415 2006-08-31  Edward Hervey  <edward@fluendo.com>
11416
11417         * docs/gst/gstreamer-sections.txt:
11418         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
11419         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
11420         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
11421         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
11422         (gst_ghost_pad_new_from_template),
11423         (gst_ghost_pad_new_no_target_from_template):
11424         * gst/gstghostpad.h:
11425         Refactored *_new() functions.
11426         Templates are now used as a g_object_new() parameter.
11427         Use template in _do_getcaps() if we don't have a target.
11428         Small documentation cleanups.
11429         Added two new constructors:
11430         gst_ghost_pad_new_from_template()
11431         gst_ghost_pad_new_no_target_from_template()
11432         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11433         (gst_ghost_pad_suite):
11434         Added tests for new ghostpad instanciation functions.
11435
11436         API additions: gst_ghost_pad_new_from_template,
11437         gst_ghost_pad_new_no_target_from_template
11438
11439 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
11440
11441         * docs/random/ensonic/profiling.txt:
11442           Ideas about qos profiling.
11443
11444 2006-08-29  Wim Taymans  <wim@fluendo.com>
11445
11446         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
11447         Code cleanups.
11448         Fix memleak.
11449
11450 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
11451
11452         * gst/gstxml.c:
11453           Improve and detypofy docs.
11454
11455         * tests/check/Makefile.am:
11456         * tests/check/gst/.cvsignore:
11457         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
11458           Add a basic test suite for GstXML.
11459
11460 2006-08-29  Wim Taymans  <wim@fluendo.com>
11461
11462         * gst/gstelement.c: (activate_pads), (clear_caps),
11463         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
11464         Clear the pad caps when the element shut down all of the pads and
11465         is not streaming data that could modify the caps. 
11466         Fixes #352958.
11467
11468 2006-08-28  Michael Smith  <msmith@fluendo.com>
11469
11470         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11471           Revert previous change; I misunderstood single-segment mode.
11472
11473 2006-08-28  Michael Smith  <msmith@fluendo.com>
11474
11475         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11476           Unset DISCONT on buffers when using single-segment mode.
11477
11478 2006-08-28  Wim Taymans  <wim@fluendo.com>
11479
11480         * gst/gstcaps.c: (gst_caps_merge_structure):
11481         * gst/gstcaps.h:
11482         Fix docs and indentation again.
11483
11484         * tests/check/gst/gstquery.c: (GST_START_TEST):
11485         Fix leak in tests and add some more tests.
11486
11487 2006-08-28  Edward Hervey  <edward@fluendo.com>
11488
11489         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11490         Inform GstSegment of the last stop position in order for the current
11491         segment to have a proper duration if it doesn't have a specific stop
11492         position from which a duration could be calculated.
11493         This bug was noticeable when a non-flushing, non-update new segment was
11494         followed by another segment (all buffers from the new segment were being
11495         dropped).
11496
11497 2006-08-28  Wim Taymans  <wim@fluendo.com>
11498
11499         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
11500         Small comment update.
11501
11502         * plugins/elements/gstidentity.c: (gst_identity_class_init),
11503         (gst_identity_transform_ip):
11504         Drop-probability is broken, mention this in the code with a 
11505         FIXME and also in the property description.
11506         Make silent also be silent about the drop messages.
11507
11508 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
11509
11510         * docs/manual/appendix-win32.xml:
11511           Remove mention of popt, we don't depend on that any
11512           longer (#353136). Add some comments pointing out that
11513           this section is slightly outdated.
11514
11515 2006-08-28  Wim Taymans  <wim@fluendo.com>
11516
11517         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
11518
11519         * gst/gstquery.c: (gst_query_new_segment):
11520         * tests/check/gst/gstquery.c: (GST_START_TEST):
11521         Initialize variables when creating a new segment query.
11522         Fixes #353121.
11523
11524 2006-08-28  Wim Taymans  <wim@fluendo.com>
11525
11526         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
11527
11528         * gst/gstelement.c: (gst_element_get_bus):
11529         * tests/check/gst/gstelement.c: (GST_START_TEST):
11530         Check for NULL before _reffing the bus. Fixes #353122.
11531
11532 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
11533
11534         * docs/manual/basics-bus.xml:
11535           Docs update: fix wrong callback return value explanation; add
11536           some lines about the implicit relationship between main loop
11537           and main context; remove duplicate main loop variable declaration.
11538
11539 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
11540
11541         * tests/check/gst/gstcaps.c: (GST_START_TEST):
11542           Don't leak caps in unit test; add a few more simple
11543           checks. 
11544
11545 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
11546
11547         * docs/gst/gstreamer-sections.txt:
11548         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
11549         (gst_caps_structure_is_subset), (gst_caps_merge),
11550         (gst_caps_merge_structure):
11551         * gst/gstcaps.h:
11552         * libs/gst/base/gstbasetransform.c:
11553         (gst_base_transform_transform_caps):
11554         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11555           implement caps merging (fixes #352580)
11556
11557 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
11558
11559         * tools/Makefile.am:
11560         * tools/gst-plot-timeline.py:
11561           add debug-log plotting developer tool (#340674)
11562
11563 2006-08-23  Wim Taymans  <wim@fluendo.com>
11564
11565         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
11566         (gst_pad_stop_task):
11567         Improve debugging for task functions.
11568
11569         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
11570         (gst_task_start), (gst_task_pause), (gst_task_join):
11571         Make sure that the task function started and finished after a 
11572         join(). 
11573         Don't try to push the task function on the threadpool multiple
11574         times.
11575         Improve the g_warning message with some useful suggestions
11576         about how to fix the problem. 
11577
11578 2006-08-23  Wim Taymans  <wim@fluendo.com>
11579
11580         * gst/gstutils.c: (gst_pad_proxy_getcaps):
11581         Handle RESYNC correctly in _proxy_getcaps.
11582
11583 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
11584
11585         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
11586         (gst_xml_parse_memory), (gst_xml_get_element):
11587           Chain up to parent class in dispose function and also
11588           unref the elements in the toplevel_elements GList.
11589           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
11590           Always return a reference in gst_xml_get_element() rather
11591           than only sometimes.
11592
11593         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11594           Don't leak GstXml object.
11595
11596 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
11597
11598         * docs/gst/gstreamer-sections.txt:
11599         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
11600         (gst_caps_merge):
11601         * gst/gstcaps.h:
11602         * libs/gst/base/gstbasetransform.c:
11603         (gst_base_transform_transform_caps):
11604           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
11605           in a better way
11606
11607 2006-08-21  Edward Hervey  <edward@fluendo.com>
11608
11609         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
11610         Implement GObject::dispose virtual method in GstXML so we can free the
11611         top_elements GList.
11612
11613 2006-08-21  Wim Taymans  <wim@fluendo.com>
11614
11615         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
11616         (gst_buffer_create_sub):
11617         Copy duration/offset_end/caps when creating a subbuffer of the
11618         complete parent.
11619         Make the subbuffer read-only when we make the metadata writable for
11620         now. Fixes #351768.
11621
11622         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11623         Added check for metadata copy when creating subbuffers.
11624
11625 2006-08-21  Edward Hervey  <edward@fluendo.com>
11626
11627         * libs/gst/base/gstbasetransform.c:
11628         (gst_base_transform_buffer_alloc):
11629         Only call downstream buffer_alloc if transform element is passthrough
11630         or always_in_place. Closes #350449.
11631
11632 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11633
11634         * ChangeLog:
11635           ChangeLog surgery to add comments to previous changes
11636
11637 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11638
11639         * gst/gst.c:
11640           Add comments
11641
11642         * gst/gstpad.c: (gst_pad_set_active):
11643           Be more verbose in the log
11644
11645         * libs/gst/base/gstbasetransform.c:
11646         (gst_base_transform_transform_caps):
11647           Simplify caps to get rid of duplicates, fixes #345444
11648
11649 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11650
11651         * gst/gstvalue.c:
11652         * gst/gstvalue.h:
11653           Use these optimizations only internally.
11654
11655 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11656
11657         * gst/gstvalue.c: (gst_value_compare_list),
11658         (gst_value_compare_fraction_range),
11659         (gst_value_intersect_fraction_fraction_range),
11660         (gst_value_intersect_fraction_range_fraction_range),
11661         (gst_value_subtract_fraction_fraction_range),
11662         (gst_value_subtract_fraction_range_fraction_range),
11663         (gst_value_get_compare_func), (gst_value_compare),
11664         (gst_value_compare_with_func):
11665         * gst/gstvalue.h:
11666           Saves the expensive lookup of the compare function in many cases
11667          (#345444)
11668
11669 2006-08-18  Edward Hervey  <edward@fluendo.com>
11670
11671         * tests/check/gst/gstinfo.c: (gst_info_suite):
11672         Disable test that require gstdebug if it wasn't built in core.
11673
11674 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
11675
11676         * docs/random/ensonic/logging.txt:
11677           update ideas
11678           
11679         * gst/gstinfo.c: (gst_debug_log_default):
11680           reorder fields, save some columns, add optional color codes for log
11681           levels
11682
11683 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
11684
11685         * docs/random/ensonic/logging.txt:
11686           add ideas about making the logs a bit more useful
11687
11688 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
11689
11690         * docs/pwg/advanced-events.xml:
11691         * docs/pwg/titlepage.xml:
11692           Update for 0.10 API (#340627). Add myself
11693           to authors list.
11694
11695 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
11696
11697         * docs/libs/gstreamer-libs-docs.sgml:
11698         * docs/libs/gstreamer-libs-sections.txt:
11699         * libs/gst/check/gstbufferstraw.c:
11700           Make gstcheck stuff show up in docs (still needs to
11701           be documented properly though).
11702
11703 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
11704
11705         * docs/gst/gstreamer-sections.txt:
11706         * gst/Makefile.am:
11707         * gst/gst.c: (init_post):
11708         * gst/gst_private.h:
11709         * gst/gstquark.c: (_priv_gst_quarks_initialize):
11710         * gst/gstquark.h:
11711         * gst/gstquery.c: (gst_query_new_position),
11712         (gst_query_set_position), (gst_query_parse_position),
11713         (gst_query_new_duration), (gst_query_set_duration),
11714         (gst_query_parse_duration), (gst_query_new_convert),
11715         (gst_query_set_convert), (gst_query_parse_convert),
11716         (gst_query_new_segment), (gst_query_set_segment),
11717         (gst_query_parse_segment), (gst_query_new_seeking),
11718         (gst_query_set_seeking), (gst_query_parse_seeking):
11719         Add internal helpers for pre-registering quarks from static strings
11720         and using the quark values directly instead of looking them up when
11721         creating and parsing queries. Can be used for event construction too.
11722         Closes #350432.
11723
11724 2006-08-16  Wim Taymans  <wim@fluendo.com>
11725
11726         * gst/gstbin.c:
11727         Fix bogus docs.
11728
11729 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11730
11731         * gst/gstutils.c: (gst_util_set_value_from_string):
11732           Fix memleak (#351502).
11733
11734         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11735           Add unit test for most of gst_util_set_value_from_string()
11736           (not that one would want to encourage use of this function).
11737
11738 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11739
11740         * libs/gst/check/gstcheck.h:
11741           Use const gchar * variables in fail_unless_equals_string
11742           macro to avoid compiler warnings (and don't use tabs for
11743           indenting).
11744
11745 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11746
11747         * tools/gst-launch.c: (print_tag):
11748           More space on the left for the tag names, to cater
11749           for the 'extended comment' tag (not touching the
11750           string for the first line since it's translated).
11751
11752 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11753
11754         * libs/gst/check/gstcheck.h:
11755           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
11756           print something when they fail.
11757
11758 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11759
11760         * docs/gst/gstreamer-sections.txt:
11761         * gst/gsttaglist.c: (_gst_tag_initialize):
11762         * gst/gsttaglist.h:
11763           API: add GST_TAG_EXTENDED_COMMENT (#350935).
11764           Also change merge function for GST_TAG_COMMENT to
11765           use_first.
11766
11767 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11768
11769         * gst/gstinfo.c: (gst_debug_print_object):
11770           Make GST_PTR_FORMAT print messages as well.
11771
11772         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
11773         (GST_START_TEST), (gst_info_suite):
11774           More tests.
11775
11776 2006-08-14  Edward Hervey  <edward@fluendo.com>
11777
11778         * gst/gstelementfactory.c: (gst_element_register):
11779         If the GstElementClass doesn't have a GstElementDetails with all fields
11780         filled up correctly (longname, description AND author), then error out
11781         nicely instead of crashing.
11782
11783 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11784
11785         * gst/gststructure.c:
11786           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
11787
11788         * gst/gstvalue.h:
11789           Expand on the difference between arrays and lists as we use them.
11790           
11791 2006-08-14  Wim Taymans  <wim@fluendo.com>
11792
11793         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11794         If the parent state change function failed, don't assume we can safely
11795         stop the source, this will be done when the pads are deactivated.
11796
11797 2006-08-14  Wim Taymans  <wim@fluendo.com>
11798
11799         * gst/gstbuffer.c:
11800         * gst/gsttask.c: (gst_task_join):
11801         Small doc updates.
11802
11803         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
11804         (gst_pad_stop_task):
11805         When pad (de)activation failed for some reason, restore the old
11806         activation mode and set the pad to flushing instead of assuming the
11807         pad is deactivated.
11808         If the _task_join() failed, reinstall the task on the pad so that it can
11809         be stopped later and return an error.
11810
11811 2006-08-11  Andy Wingo  <wingo@pobox.com>
11812
11813         * configure.ac:
11814         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
11815         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
11816         is only for users of API that don't want to see deprecated
11817         functions in the headers; people that want to compile out
11818         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
11819         CFLAGS. Fixes the build of multifdsink, or will soon..
11820
11821 2006-08-11  Wim Taymans  <wim@fluendo.com>
11822
11823         * docs/gst/gstreamer-sections.txt:
11824         Add GstClockClass vmethod docs.
11825
11826         * gst/gstcaps.h:
11827         Mark #endif with comment for associated #if
11828
11829         * gst/gstclock.c: (gst_clock_id_wait):
11830         * gst/gstclock.h:
11831         Add vmethod wait_jitter to avoid an unneeded _get_time() for
11832         most clock implementations.
11833         Document vmethods.
11834         Flesh out docs about resolution methods.
11835         API: GstClockClass::wait_jitter
11836
11837         * gst/gstsystemclock.c: (gst_system_clock_class_init),
11838         (gst_system_clock_async_thread),
11839         (gst_system_clock_id_wait_jitter_unlocked),
11840         (gst_system_clock_id_wait_jitter):
11841         Use base class wait_jitter variant for improved performance
11842         due to less clock polling.
11843
11844 2006-08-11  Edward Hervey  <edward@fluendo.com>
11845
11846         * gst/gst.c: (gst_init_check), (init_post):
11847         Set gst as being initialized before scanning/updating the registry,
11848         since there might be my python plugin loader that calls gst_init() and
11849         we don't want to loop back in.
11850         Closes #350879
11851
11852 2006-08-11  Wim Taymans  <wim@fluendo.com>
11853
11854         * docs/design/part-qos.txt:
11855         Bring docs in line with the code. Mostly the sign of the jitter was
11856         wrong in the docs. Fixes #349943.
11857
11858         * gst/gstclock.c:
11859         Fix the docs for the jitter.
11860
11861         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
11862         (gst_event_parse_tag), (gst_event_new_buffer_size),
11863         (gst_event_parse_buffer_size), (gst_event_parse_qos),
11864         (gst_event_new_seek), (gst_event_parse_seek),
11865         (gst_event_new_navigation):
11866         Make sure the GstStructure has no parent when creating custom
11867         events.
11868         Add some more argument checking so that we avoid 0.0 rates.
11869         Flesh out the docs for the QoS event some more.
11870
11871 2006-08-11  Wim Taymans  <wim@fluendo.com>
11872
11873         * docs/gst/gstreamer-sections.txt:
11874         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11875         (ensure_current_registry_forking), (ensure_current_registry),
11876         (parse_one_option), (parse_goption_arg), (gst_deinit),
11877         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
11878         * gst/gst.h:
11879         Doc updates.
11880         Added API and command line option to disable registry forking in
11881         addition to the environment variable.
11882         Constify some static arrays.
11883         Added some more debug.
11884         Don't deinit twice.
11885         API: gst_registry_fork_is_enabled()
11886         API: gst_registry_fork_set_enabled()
11887         API: --gst-disable-registry-fork command line option
11888         Fixes #348918.
11889
11890 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
11891
11892         * gst/gst.c: (gst_init):
11893           Fix typo in error message.
11894
11895 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
11896
11897         * libs/gst/controller/gstcontroller.h:
11898           fix ABI size-correction
11899
11900         * tests/check/libs/gdp.c: (gst_dp_suite):
11901           make tests that use deprecated API conditional
11902
11903 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
11904
11905         * docs/libs/gstreamer-libs-sections.txt:
11906         * libs/gst/controller/gstcontroller.c:
11907         (_gst_controller_get_property), (_gst_controller_set_property),
11908         (_gst_controller_init), (_gst_controller_class_init):
11909         * libs/gst/controller/gstcontroller.h:
11910         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
11911         (gst_object_set_control_rate):
11912           API: add gst_object_{s,g}et_control_rate(), add private data section,
11913           fix docs
11914
11915         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
11916         * libs/gst/dataprotocol/dataprotocol.h:
11917           add deprecation guards to make gtk-doc happy and allow disabling cruft
11918
11919 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
11920
11921         * tests/check/Makefile.am:
11922         * tests/check/gst/.cvsignore:
11923           Let's enable the new unit test as well.
11924
11925 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11926
11927         * configure.ac:
11928         * docs/gst/gstreamer-sections.txt:
11929         * gst/gstconfig.h.in:
11930         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
11931         (_gst_info_printf_extension_ptr),
11932         (_gst_info_printf_extension_segment):
11933           API: add GST_SEGMENT_FORMAT, which is a printf extension we
11934           register that lets us easily dump GstSegments into debug
11935           logs (#350419).
11936
11937         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
11938         (info_segment_format_printf_extension), (gst_info_suite):
11939           Add simple unit test that logs a bunch of different segments (not
11940           valgrinded at the moment because of leaks in
11941           gst_debug_add_log_function).
11942
11943 2006-08-09  Edward Hervey  <edward@fluendo.com>
11944
11945         * libs/gst/base/gstbasetransform.c:
11946         (gst_base_transform_buffer_alloc):
11947         Even if we can't figure out the proper format to request downstream,
11948         call buffer_alloc() downstream with the input parameters without setting
11949         the caps on the srcpad. This will force negotiation in the chain
11950         function.
11951         Closes #350449
11952
11953 2006-08-08  Edward Hervey  <edward@fluendo.com>
11954
11955         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11956         Unlinking from a pad without a target is now a perfectly valid case
11957         which should NOT raise an assertion.
11958         This case would happen if a linked ghostpad its target set to NULL after
11959         it was previously linked.
11960
11961 2006-08-08  Edward Hervey  <edward@fluendo.com>
11962
11963         * tests/check/libs/gdp.c:
11964         Also comment out the test (see below).
11965
11966 2006-08-08  Edward Hervey  <edward@fluendo.com>
11967
11968         * tests/check/libs/gdp.c: (gst_dp_suite):
11969         Use the architecture information from config.h and not gcc macros
11970         in order to properly disable a test that fails on PPC64.
11971
11972 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
11973
11974         * gst/gstelement.c: (gst_element_remove_pad):
11975           Don't crash printing the warning if the pad has no parent.
11976
11977 2006-08-02  Wim Taymans  <wim@fluendo.com>
11978
11979         * libs/gst/dataprotocol/dataprotocol.c:
11980         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
11981         (gst_dp_crc), (gst_dp_header_payload_length),
11982         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
11983         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
11984         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
11985         (gst_dp_event_from_packet), (gst_dp_validate_header),
11986         (gst_dp_validate_payload):
11987         Make debug category static
11988         Constify the crc table.
11989         Do some more arg checking in public functions.
11990         Fix some docs and do some small cleanups.
11991
11992         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
11993         Add some more checks to see if GDP deals with bogus input.
11994
11995 2006-07-31  Wim Taymans  <wim@fluendo.com>
11996
11997         * gst/gstvalue.c: (gst_value_compare_list):
11998         Fix GstValueList comparison code. Fixes #347293.
11999
12000         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12001         Check to test GstValueList comparison.
12002
12003 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
12004
12005         * gst/gstelementfactory.c: (gst_element_factory_create):
12006         Remove unnecessary ref/unref pair
12007
12008         * gst/parse/grammar.y:
12009         Make sure to free the parse buffer on all code paths.
12010         Move a g_free up to the error handler where it's easier to see.
12011
12012         * tests/check/gst/gstevent.c: (test_event):
12013         Extending timeout for downstream travelling events to 10 seconds to
12014         hopefully avoid intermittent failure on the buildbots.
12015
12016         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
12017         Don't manually set the state of the src element - it will happen as a
12018         natural consequence of the pipeline changing state, and that way it
12019         will do it in the right order too.
12020
12021 2006-07-31  Wim Taymans  <wim@fluendo.com>
12022
12023         * libs/gst/base/gstbasetransform.c:
12024         (gst_base_transform_buffer_alloc):
12025         Use OBJECT_LOCK and refcounting to get the pad caps in the
12026         buffer_alloc function because the caps could change while we are
12027         busy with them. Fixes #349105
12028
12029 2006-07-31  Wim Taymans  <wim@fluendo.com>
12030
12031         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
12032         Protect _PAD_CAPS with OBJECT_LOCK.
12033
12034 2006-07-31  Wim Taymans  <wim@fluendo.com>
12035
12036         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12037         (gst_pad_get_property), (gst_pad_activate_pull),
12038         (gst_pad_activate_push), (gst_pad_set_blocked_async),
12039         (gst_pad_set_activate_function),
12040         (gst_pad_set_activatepull_function),
12041         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
12042         (gst_pad_set_getrange_function),
12043         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
12044         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
12045         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
12046         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
12047         (gst_pad_set_acceptcaps_function),
12048         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12049         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
12050         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
12051         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
12052         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
12053         (gst_pad_configure_sink), (gst_pad_configure_src),
12054         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
12055         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
12056         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
12057         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
12058         (gst_pad_send_event):
12059         Use _DEBUG_OBJECT when it makes sense.
12060         Protect GST_PAD_CAPS with the OBJECT_LOCK.
12061         Small cleanups and code reflows.
12062         Avoid caps refcounting in _accept_caps.
12063         Refactor alloc_buffer so that the code performed on the peer is in a
12064         separate function. Also if the pad does not implement a buffer alloc
12065         function, we should still check if the pad is flushing before falling
12066         back to the default allocator.
12067
12068 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
12069
12070         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12071         Make all uses of identity and fakesink have silent=true to avoid
12072         serialising every passing data structure, which is breaking tests
12073         on FC4 for some unknown reason.
12074
12075 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
12076
12077         * gst/parse/Makefile.am:
12078         * gst/parse/grammar.y:
12079         * gst/parse/parse.l:
12080           Reverted previous patch as it required to bump the flex dependency to
12081           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
12082
12083 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
12084
12085         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
12086
12087         * gst/parse/Makefile.am:
12088         * gst/parse/grammar.y:
12089         * gst/parse/parse.l:
12090           push & pop the state of the lexer for reentrant use case
12091           Fixes #349180
12092
12093 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
12094
12095         * libs/gst/base/gstbasesrc.h:
12096           Note in the docs that the ::newsegment vfunc is not actually used by
12097           GstBaseSrc.
12098
12099 2006-07-28  Wim Taymans  <wim@fluendo.com>
12100
12101         * libs/gst/base/gstcollectpads.c:
12102         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
12103         (gst_collect_pads_clear), (gst_collect_pads_flush),
12104         (gst_collect_pads_event), (gst_collect_pads_chain):
12105         When flushing a pad, also clear the queued buffer so that we don't
12106         accidentally use it when we shouldn't.
12107         Fix leaks by inreffing incomming buffer.
12108         Flush out queued buffers in case of errors.
12109         Fixes #347452.
12110
12111 2006-07-28  Wim Taymans  <wim@fluendo.com>
12112
12113         * docs/random/phonon-gst:
12114         Random notes about a Phonon backend.
12115
12116 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
12117
12118         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12119         Extra debug output
12120         * tests/check/libs/gdp.c: (gst_dp_suite):
12121         Take a whack at fixing the ppc compile using a different define to
12122         disable the broken test.
12123
12124         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12125         Remove excess g_print()
12126
12127 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
12128
12129         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
12130         Oops, meant to uncomment this line too to dampen the noise a bit.
12131
12132 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
12133
12134         * gst/parse/grammar.y:
12135         * gst/parse/parse.l:
12136         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
12137         (GST_START_TEST), (parse_suite):
12138         Fix some of the leaks exposed by extending the parse-launch testsuite,
12139         and move the 3 I can't figure out into a separate test that won't run
12140         the pipelines unless the appropriate line is uncommented.
12141
12142 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
12143
12144         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
12145           Requesting 0 bytes before the end of the file should result in
12146           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
12147           unit test.
12148
12149 2006-07-27  Wim Taymans  <wim@fluendo.com>
12150
12151         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
12152         Fix useless assert, a uint is always positive.
12153
12154         * gst/gststructure.c: (gst_structure_nth_field_name),
12155         (gst_structure_foreach), (gst_structure_map_in_place):
12156         Check input arguments for public functions to avoid obvious crashes.
12157
12158         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
12159         * plugins/elements/gstfakesink.h:
12160         Do less useless typechecking.
12161
12162 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
12163
12164         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
12165           Do not use mmap() by default since there are a number of error
12166           conditions that we would like to handle in a non-fatal way that
12167           will result in a SIGBUS if we use mmap(). Examples: external
12168           devices (USB harddrive, portable music player) being unplugged
12169           while in use; file on mounted CD/DVD that can't be read because
12170           the medium is partly damaged. Fixes #348455 and #348475.
12171
12172 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
12173
12174         * gst/gstquery.h:
12175         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
12176         rates are a gdouble
12177
12178 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
12179
12180         * gst/gstregistry.c:
12181           Move big documentation comment into class section header, so that it
12182           appears in the API docs.
12183
12184 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
12185
12186         * docs/gst/gstreamer-sections.txt:
12187         Oops. Commit the docs additions too for new API.
12188         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
12189
12190 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
12191
12192         * gst/gststructure.c: (gst_structure_id_set),
12193         (gst_structure_id_set_valist):
12194         * gst/gststructure.h:
12195         Add API for setting values into structures without performing
12196         a quark lookup, if the appropriate quark is already known.
12197
12198         API: gst_structure_id_set
12199         API: gst_structure_id_set_valist
12200
12201         * gst/parse/grammar.y:
12202         * gst/parse/parse.l:
12203         Remove some dead code shown by the coverage information.
12204         Don't throw a critical g_warning when encountering a syntax error,
12205         just warn and let the normal error path handle it.
12206
12207         * plugins/elements/gstelements.c:
12208         Bump the rank of filesink up to PRIMARY so that it is preferred over
12209         gnomevfssink for file:// sink uri's
12210
12211         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
12212         (GST_START_TEST), (run_delayed_test),
12213         (gst_parse_test_element_base_init),
12214         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
12215         (gst_parse_test_element_change_state),
12216         (gst_register_parse_element), (parse_suite):
12217         Beef up the tests for parse syntax to check that more error cases
12218         fail as they are supposed to. Increases the test coverage a bit.
12219
12220 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
12221
12222         * docs/manual/basics-elements.xml:
12223           Fix gst_element_link() example.
12224
12225         * gst/gstutils.c:
12226           Mention in API docs that one should usually gst_bin_add()
12227           elements to a bin or pipeline before doing the linking.
12228           
12229 2006-07-26  Wim Taymans  <wim@fluendo.com>
12230
12231         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
12232         (gst_subbuffer_get_type), (gst_buffer_create_sub):
12233         Avoid function call for known types by keeping the buffer and
12234         subbuffer GType global.
12235
12236         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
12237         Random silly optimisations in read() path.
12238
12239 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
12240
12241         * tools/gst-launch.c: (main):
12242           If the top-level of the parse is a normal bin, it doesn't do the
12243           right logic to run as a top-level element, so place it inside a
12244           pipeline.
12245
12246 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
12247
12248         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
12249           Remove superfluous g_object_notify() calls, GObject does
12250           that for us automatically.
12251
12252 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
12253
12254         * gst/gstinfo.h:
12255           on Win32, use dllspec to export the debug category symbols
12256
12257 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
12258
12259         * gst/gsttaglist.c: (_gst_tag_initialize):
12260           Allow more than one GST_TAG_IMAGE per taglist.
12261
12262 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12263
12264         * gst/gstminiobject.c:
12265           update docs
12266         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
12267         (gst_fd_src_create):
12268           log recurring events at LOG level
12269           add more debug for when the fd gets set
12270
12271 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
12272
12273         * gst/gstparse.c: (gst_parse_launch):
12274           Also remove reentrance checks if flex is MT safe (#348179)
12275          Fix my empty ChangeLog entry below
12276
12277 2006-07-21  Andy Wingo  <wingo@pobox.com>
12278
12279         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
12280
12281         * libs/gst/check/Makefile.am
12282         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
12283         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
12284         * libs/gst/check/gstbufferstraw.h:
12285         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
12286         functions, thus proving I am still a GStreamer haxor. OK I wrote
12287         them a long time ago, but anyways.
12288
12289 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
12290
12291         * configure.ac:
12292         * gst/gstparse.c: (gst_parse_launch):
12293           Check for flex version and omit mutex if we have a MT save flex
12294           (fixes #348179)
12295
12296 2006-07-21  Wim Taymans  <wim@fluendo.com>
12297
12298         * gst/gstparse.c: (gst_parse_launch):
12299         Protect recursive calls to _parse with a recursive mutex
12300         and busy flag.
12301
12302 2006-07-21  Wim Taymans  <wim@fluendo.com>
12303
12304         * tests/check/gst/gstpad.c: (GST_START_TEST):
12305         Fix leak in test.
12306
12307 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
12308
12309         * gst/gstparse.c: (gst_parse_launch):
12310           Do not hang on recursive usage of gst_parse_launch()
12311
12312 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
12313
12314         * gst/gsttaglist.c:
12315           Add some more docs, comments and FIXME 0.11s here and there
12316           and also fix some typos.
12317
12318 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
12319
12320         * gst/gstsegment.h:
12321           Convert tabs to spaces for better readability. 
12322
12323 2006-07-20  Edward Hervey  <edward@fluendo.com>
12324
12325         * tests/check/libs/gdp.c: (gst_dp_suite):
12326         the test_buffer test fails at line 140 on ppc64 at the following
12327         check:
12328         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
12329                 GST_BUFFER_FLAG_IN_CAPS),
12330                 "GST_BUFFER_IN_CAPS flag should have been copied !");
12331         See bug #348114 for more details.
12332
12333 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
12334
12335         * docs/pwg/advanced-scheduling.xml:
12336         * gst/gstpad.c:
12337           Fix typos (#348000).
12338
12339 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
12340
12341         * docs/pwg/intro-basics.xml:
12342           Fix wrong links (#347927).
12343
12344 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
12345
12346         * gst/gstregistry.h:
12347         * gst/gstregistryxml.c: (load_feature),
12348         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
12349         * win32/common/config.h:
12350           make --disable-index work (#342564)
12351
12352 2006-07-18  Wim Taymans  <wim@fluendo.com>
12353
12354         Patch by: Peter Kjellerstedt <pkj at axis dot com>
12355
12356         * gst/Makefile.am:
12357         * gst/gsttrace.h:
12358         The attached patch adds two missing defines to gsttrace.h when tracing
12359         is disabled.  It also corrects one existing define.
12360         Fixes #347756.
12361
12362 2006-07-17  Wim Taymans  <wim@fluendo.com>
12363
12364         * docs/gst/gstreamer-sections.txt:
12365         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
12366         * gst/gst.h:
12367         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
12368         Add two functions to check and change the SIGSEGV behaviour
12369         when loading plugins.
12370         Don't mess with the SIGSEGV handler when we were told not to.
12371         Fixes #347794.
12372         API: gst_segtrap_is_enabled
12373         API: gst_segtrap_set_enabled
12374
12375 2006-07-14  Wim Taymans  <wim@fluendo.com>
12376
12377         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
12378         * tests/check/elements/filesrc.c: (GST_START_TEST):
12379         Revert fix for regression in #347408 after release.
12380
12381 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
12382
12383         Patch by: Antoine Tremblay <hexa00 at gmail com>
12384
12385         * gst/gstutils.c: (gst_element_unlink):
12386           Free iterator when done (#347311).
12387
12388         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12389           And add a test case for this.
12390
12391 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
12392
12393         * configure.ac:
12394         Bump nano back to CVS
12395
12396 === release 0.10.9 ===
12397
12398 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
12399
12400         * configure.ac:
12401           releasing 0.10.9, "On the road again"
12402
12403 2006-07-13  Wim Taymans  <wim@fluendo.com>
12404
12405         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
12406         * tests/check/elements/filesrc.c: (GST_START_TEST):
12407         Revert pull-0 fix for release. Disable check. Fixes #347408.
12408
12409 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12410
12411         * libs/gst/dataprotocol/dataprotocol.c:
12412         (gst_dp_event_from_packet_1_0):
12413           Fixes #347337: failure to deserialize event packets with
12414           empty payload (only event type)
12415
12416 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12417
12418         * gst/Makefile.am:
12419           do not install a .c file in the header directory
12420
12421 2006-07-13  Edward Hervey  <edward@fluendo.com>
12422
12423         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
12424         GhostPad no longer implicitely use the padtemplates of the targets.
12425         Fixes #347384
12426
12427 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
12428
12429         * gst/gstvalue.c: (gst_value_compare_list),
12430         (gst_value_compare_array), (_gst_value_initialize):
12431         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12432         Make GstValueArray comparison be order dependent as designed.
12433         Add checks for value lists and value array comparisons.
12434         Fixes #347221
12435
12436 2006-07-11  Edward Hervey  <edward@fluendo.com>
12437
12438         * gst/gstbin.c: (activate_pads),
12439         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
12440         (gst_bin_change_state_func):
12441         (de)activate src pads before calling state_change on the childs.
12442         This is to avoid the case where a src ghostpad is blocked (holding the
12443         stream lock), which would block the deactivation of the ghostpad's
12444         target pad.
12445         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
12446         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
12447         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
12448         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12449         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12450         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12451         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12452         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
12453         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
12454         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12455         (gst_ghost_pad_class_init),
12456         (gst_ghost_pad_internal_do_activate_push),
12457         (gst_ghost_pad_internal_do_activate_pull),
12458         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12459         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12460         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
12461         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
12462         GhostPads now create their internal GstProxyPad at creation (and not
12463         when they're linked, as it was being done previously).
12464         The internal and target pads are linked straight away.
12465         The data will also travel through the other pad in order to make
12466         pad blocking and probes non-hackish (the probe/block now really happens
12467         on the GhostPad and not on the target).
12468         * gst/gstpad.c: (gst_pad_set_blocked_async),
12469         (gst_pad_link_prepare), (gst_pad_push_event):
12470         Remove previous ghostpad cruft.
12471         * gst/gstutils.c: (gst_pad_add_data_probe),
12472         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12473         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12474         (gst_pad_remove_buffer_probe):
12475         Remove previous ghost pad cruft.
12476         Added more detailed debug statements.
12477         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12478         Fix the testsuite for refcounting changes.
12479         The comments about who has references were correct, but the refcount
12480         being checked wasn't the same (!?!).
12481
12482         Fixes #341029
12483
12484 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
12485
12486         * docs/gst/gstreamer-sections.txt:
12487         * gst/gstconfig.h.in:
12488         More docs for configuration options, add docs to gtk-doc.
12489
12490 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
12491
12492         * gst/Makefile.am:
12493         * gst/gstconfig.h.in:
12494         * win32/common/config.h:
12495         Fix build when disabling tracing (fixes #344016). Also start to document
12496         the defines that disable the sub-systems.
12497
12498 2006-07-10  Edward Hervey  <edward@fluendo.com>
12499
12500         * gst/gst.c: (ensure_current_registry_forking):
12501         let's make valgrind happy...
12502
12503 2006-07-09  Wim Taymans  <wim@fluendo.com>
12504
12505         * gst/gstelement.c: (activate_pads),
12506         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12507         Better pad activation code: Reset the collect value too on resync.
12508         Add some comments.
12509
12510 2006-07-09  Wim Taymans  <wim@fluendo.com>
12511
12512         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
12513         (gst_pad_activate_push):
12514         Use some more macros where it makes sense.
12515         Allow pad mode switching instead of asserting. When a pad
12516         is activated in one mode and we activate it in another, 
12517         deactivate it first before activating it in a different mode.
12518         Fixes #329198.
12519
12520 2006-07-08  Andy Wingo  <wingo@pobox.com>
12521
12522         * tools/gst-launch.c (main): Handle err == NULL.
12523
12524         * gst/gst.c (init_post, ensure_current_registry)
12525         (ensure_current_registry_forking)
12526         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
12527         factoring out the registry scanning into separate functions. Don't
12528         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
12529         Better environment var name/interface suggestions accepted.
12530
12531 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12532
12533         * gst/gstobject.c: (gst_object_set_name_default),
12534         (gst_object_set_name):
12535           Random micro-optimisation: don't use a hash table
12536           with strings as keys and the usual strdup/strcmp
12537           involved, but rather just use the GQuark of the
12538           type name as key, since it needs to be looked up
12539           anyway to get the type name string.
12540
12541         * tests/check/gst/gstobject.c: (GST_START_TEST):
12542           Fix various leaks.
12543
12544 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12545
12546         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
12547         (gst_bin_iterate_all_by_interface):
12548           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
12549           GTypes are gulongs and thus the top 4 bytes might be cut
12550           off on some platforms when doing GPOINTER_TO_INT, leading
12551           to invalid GTypes and bad things happening (see RH bug #179654).
12552           Also add a check to make sure the type passed in is really
12553           an interface type.
12554
12555 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12556
12557         * .cvsignore:
12558           Ignore more.
12559
12560 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12561
12562         * Makefile.am:
12563         * configure.ac:
12564         * gst-element-check.m4:
12565         * gst-element-check.m4.in:
12566           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
12567           instead of the unversioned gst-inspect (#324176, #168659).
12568
12569 2006-07-06  Wim Taymans  <wim@fluendo.com>
12570
12571         * gst/gstmessage.h:
12572         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
12573         warnings.
12574
12575 2006-07-06  Wim Taymans  <wim@fluendo.com>
12576
12577         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12578         (gst_base_src_wait), (gst_base_src_update_length),
12579         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
12580         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
12581         (gst_base_src_loop), (gst_base_src_start),
12582         (gst_base_src_activate_pull):
12583         Update docs.
12584         blocksize == 0 now means the default blocksize when working in push
12585         based mode.
12586         Remove some pointless asserts in _wait function.
12587         Fix offset/length calculations and EOS handling. We can now pull 0
12588         bytes as well, which is allowed.
12589         use _check_get_range() to decide if we can operate in _pull based
12590         mode.
12591         Fix refcounting leak when check_get_range function was not 
12592         implemented.
12593         API GstBaseSrc::blocksize range can be 0 too now (default)
12594
12595         * tests/check/elements/filesrc.c: (GST_START_TEST),
12596         (filesrc_suite):
12597         Added check to test _get_range() behaviour.
12598
12599 2006-07-06  Wim Taymans  <wim@fluendo.com>
12600
12601         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
12602         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
12603         (gst_pad_pull_range):
12604         * gst/gstpad.h:
12605         Lots of comments and docs added to the pad functions.
12606         Flesh out the expected behaviour of the get_range() functions.
12607
12608 2006-07-06  Wim Taymans  <wim@fluendo.com>
12609
12610         * gst/gstbus.h:
12611         * gst/gstclock.h:
12612         * gst/gstevent.h:
12613         * gst/gstiterator.h:
12614         * gst/gstpad.h:
12615         * gst/gstplugin.h:
12616         * gst/gsttask.h:
12617         Remove comma at end of enumerator list. 
12618
12619 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
12620
12621         * win32/common/libgstbase.def:
12622         * win32/common/libgstdataprotocol.def:
12623         * win32/common/libsgtreamer.def:
12624         Add new exported functions.
12625
12626 2006-07-05  Wim Taymans  <wim@fluendo.com>
12627
12628         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
12629         Add some more docs here and there.
12630
12631 2006-07-05  Wim Taymans  <wim@fluendo.com>
12632
12633         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
12634         (gst_base_sink_loop), (gst_base_sink_get_position):
12635         When operating in pull mode update the offset so that we
12636         read sequentially.
12637
12638 2006-07-05  Wim Taymans  <wim@fluendo.com>
12639
12640         * gst/gstregistryxml.c: (read_string):
12641         Avoid strdup. (will happen in libxml, but hey!)
12642
12643         * gst/gsturi.c:
12644         Add some more docs.
12645
12646 2006-07-05  Wim Taymans  <wim@fluendo.com>
12647
12648         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
12649         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
12650         (gst_buffer_suite):
12651         No point in checking if the size of the subbuffer > 0, the
12652         code handles it correclty as demonstrated by unit test.
12653         Also add a unit test for the zero sized _new_and_alloc and
12654         _copy. Fixes #346663.
12655
12656 2006-07-05  Wim Taymans  <wim@fluendo.com>
12657
12658         * libs/gst/base/gstbasetransform.c:
12659         (gst_base_transform_prepare_output_buffer),
12660         (gst_base_transform_buffer_alloc),
12661         (gst_base_transform_handle_buffer):
12662         Make sure the buffer we pass to transform_ip has a refcount of
12663         1 and thus is writable. Fixes #343196
12664
12665 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
12666
12667         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
12668         (gst_file_src_init), (gst_file_src_set_property),
12669         (gst_file_src_get_property), (gst_file_src_map_region):
12670         * plugins/elements/gstfilesrc.h:
12671         Add "sequential" property, off by default, to use madvise and hint
12672         to the kernel that sequential access is desired.
12673         Touch all retrieved pages by default to ensure they are pulled
12674         into memory. (Closes #345720)
12675
12676 2006-07-03  Wim Taymans  <wim@fluendo.com>
12677
12678         * docs/design/part-block.txt:
12679         * docs/design/part-dynamic.txt:
12680         Small docs updates.
12681
12682 2006-07-03  Wim Taymans  <wim@fluendo.com>
12683
12684         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
12685         (gst_caps_unref), (gst_static_caps_get),
12686         (gst_caps_append_structure):
12687         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
12688         Use GSlice when the glib we build against is >= 2.10
12689
12690 2006-07-03  Wim Taymans  <wim@fluendo.com>
12691
12692         * gst/gstelement.c: (gst_element_pads_activate):
12693         Small cleanup in pad activation code.
12694
12695 2006-07-03  Wim Taymans  <wim@fluendo.com>
12696
12697         Patch by: Peter Kjellerstedt <pkj at axis dot com>
12698
12699         * gst/gst-i18n-app.h:
12700         * gst/gst-i18n-lib.h:
12701         * tools/gst-inspect.c: (print_signal_info):
12702         The attached patch will make the inclusion of gettext.h unconditional in
12703         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
12704         libintl.h in tools/gst-inspect.c.
12705         This allows use of --disable-nls again and fixes #344642.
12706
12707 2006-07-03  Edward Hervey  <edward@fluendo.com>
12708
12709         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
12710         Implement pad blocking on events according to part-block.txt.
12711         More comments on behaviour.
12712         * tests/check/gst/gstevent.c: (test_event):
12713         Send event to peer pad of blocked pad (else it will block).
12714
12715 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12716
12717         * libs/gst/check/gstcheck.c: (gst_check_message_error),
12718         (gst_check_run_suite):
12719           if we get the wrong message, give us the types as string
12720         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
12721           Fix a translatable
12722         * tests/check/elements/filesrc.c: (GST_START_TEST):
12723           add a test for trying to open a non-existing file
12724
12725 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12726
12727         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12728           add a test for adding self
12729
12730 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12731
12732         * libs/gst/check/gstcheck.h:
12733           add some assert_ as alias for fail_unless_*
12734         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
12735           increase test coverage
12736
12737 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12738
12739         * Makefile.am:
12740           include lcov.mak for lcov coverage generation
12741         * tools/Makefile.am:
12742           add to CLEANFILES
12743
12744 2006-07-02  Edward Hervey  <edward@fluendo.com>
12745
12746         * tests/check/elements/.cvsignore:
12747         moaping
12748
12749 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12750
12751         * configure.ac:
12752           don't set CFLAGS and friends for gcov, done from GST_GCOV now
12753         * tests/check/Makefile.am:
12754           clean up gcov files
12755
12756 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12757
12758         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
12759           remove gst_caps_simplify; it was not declared and not used
12760           and deprecated in 0.8
12761
12762 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12763
12764         * docs/faq/gst-uninstalled:
12765           don't put empty paths on PYTHONPATH
12766         * docs/gst/gstreamer-sections.txt:
12767           remove some symbols that are not there
12768
12769 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12770
12771         * gst/gstcaps.c: (gst_caps_compare_structures):
12772           whitespace fixes
12773         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12774         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12775           add more tests
12776
12777 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12778
12779         * libs/gst/dataprotocol/Makefile.am:
12780           build dataprotocol test by linking to the lib, instead of
12781           compiling the source, so we get coverage
12782         * tests/check/Makefile.am:
12783         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
12784         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
12785           add a test for filesrc
12786
12787 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12788
12789         * tests/check/gst/gststructure.c: (GST_START_TEST),
12790         (gst_structure_suite):
12791           Push coverage from 59.04% to 70.00%
12792
12793 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12794
12795         * tests/check/Makefile.am:
12796           gst-inspect every element; this makes sure that we also get
12797           coverage on element's get/set functions
12798
12799 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12800
12801         * configure.ac:
12802           set CFLAGS and friends to -O0 if gcov is being used
12803           add GCOV LIBS
12804         * gst/Makefile.am:
12805         * libs/gst/base/Makefile.am:
12806         * libs/gst/check/Makefile.am:
12807         * libs/gst/controller/Makefile.am:
12808         * libs/gst/dataprotocol/Makefile.am:
12809         * libs/gst/net/Makefile.am:
12810         * plugins/elements/Makefile.am:
12811         * plugins/indexers/Makefile.am:
12812           add makefile rules to generate gcov data and clean up
12813         * tests/check/Makefile.am:
12814           add a coverage target that generates an html overview
12815           of coverage data
12816
12817 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12818
12819         * tests/check/elements/fakesink.c:
12820         * tests/check/elements/fakesrc.c:
12821         * tests/check/elements/fdsrc.c:
12822         * tests/check/elements/identity.c:
12823         * tests/check/generic/sinks.c: (gst_sinks_suite):
12824         * tests/check/generic/states.c:
12825         * tests/check/gst/gst.c:
12826         * tests/check/gst/gstabi.c:
12827         * tests/check/gst/gstbin.c:
12828         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
12829         * tests/check/gst/gstbus.c: (gst_bus_suite):
12830         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12831         * tests/check/gst/gstelement.c:
12832         * tests/check/gst/gstevent.c: (gst_event_suite):
12833         * tests/check/gst/gstghostpad.c:
12834         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
12835         * tests/check/gst/gstmessage.c: (gst_message_suite):
12836         * tests/check/gst/gstminiobject.c:
12837         * tests/check/gst/gstobject.c:
12838         * tests/check/gst/gstpad.c:
12839         * tests/check/gst/gstpipeline.c:
12840         * tests/check/gst/gstplugin.c:
12841         * tests/check/gst/gstquery.c: (gst_query_suite):
12842         * tests/check/gst/gstsegment.c: (gst_segment_suite):
12843         * tests/check/gst/gststructure.c:
12844         * tests/check/gst/gstsystemclock.c:
12845         * tests/check/gst/gsttag.c:
12846         * tests/check/gst/gsttask.c: (gst_task_suite):
12847         * tests/check/gst/gstutils.c:
12848         * tests/check/gst/gstvalue.c:
12849         * tests/check/libs/adapter.c:
12850         * tests/check/libs/basesrc.c:
12851         * tests/check/libs/collectpads.c:
12852         * tests/check/libs/controller.c:
12853         * tests/check/libs/gdp.c: (gst_dp_suite):
12854         * tests/check/libs/gstnetclientclock.c:
12855         * tests/check/libs/gstnettimeprovider.c:
12856         * tests/check/libs/libsabi.c: (libsabi_suite):
12857         * tests/check/libs/typefindhelper.c:
12858         * tests/check/pipelines/cleanup.c:
12859         * tests/check/pipelines/parse-launch.c:
12860         * tests/check/pipelines/simple-launch-lines.c:
12861         * tests/check/pipelines/stress.c: (stress_suite):
12862           use the new macro
12863
12864 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12865
12866         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
12867         * libs/gst/check/gstcheck.h:
12868           create a macro and function so that the simple unit test
12869           case can be just one macro to create main()
12870
12871 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
12872
12873         * gst/gstbin.c: (gst_bin_restore_thyself):
12874         * gst/gstxml.c: (gst_xml_make_element):
12875           Fix deserialisation from XML. Set parent manually
12876           instead of using gst_bin_add(), since gst_bin_add()
12877           will unlink all pads of the element being added.
12878           Fixes #341667.
12879
12880 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
12881
12882         Patch by: Peter Kjellerstedt <pkj at axis com>
12883
12884         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
12885           Fix missing g_strdup() and double free when using the
12886           --gst-plugin-load command line option (#346097).
12887
12888 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
12889
12890         * gst/gstinfo.c:
12891           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
12892
12893         * libs/gst/net/gstnetclientclock.c:
12894         * libs/gst/net/gstnettimeprovider.c:
12895           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
12896
12897 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
12898
12899         * docs/manual/advanced-dataaccess.xml:
12900           Fix buffer probe example compilation in
12901           ADM (#345708).
12902         
12903 2006-06-22  Edward Hervey  <edward@fluendo.com>
12904
12905         * gst/gstelement.c: (gst_element_pads_activate):
12906         We need to deactivate src pads first and then sink pads.
12907         The reason is the src pads might be blocking while holding the streaming
12908         lock, so we need to deactivate them first so that deactivating the sink
12909         pads doesn't block (since it will require the streaming lock).
12910
12911 2006-06-22  Wim Taymans  <wim@fluendo.com>
12912
12913         * libs/gst/base/gstbasetransform.c:
12914         (gst_base_transform_buffer_alloc):
12915         Forgot to remove two unneeded unrefs.
12916         Simplify a check _is_equal allready checks the obvious case.
12917
12918 2006-06-22  Wim Taymans  <wim@fluendo.com>
12919
12920         * docs/design/part-block.txt:
12921         Some docs about what pad_block should do.
12922
12923 2006-06-22  Wim Taymans  <wim@fluendo.com>
12924
12925         * gst/gstcaps.c: (gst_caps_replace):
12926         Fix crasher when passed NULL. Doc clarification.
12927         Optimize for the trivial case.
12928
12929         * gst/gstpipeline.c: (gst_pipeline_change_state):
12930         Small cleanups.
12931
12932         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12933         Small documentation cleanup.
12934
12935         * libs/gst/base/gstbasetransform.c:
12936         (gst_base_transform_buffer_alloc):
12937         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
12938         is what we need and it avoids a whole lot of redundant 
12939         refcount operations.
12940
12941 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
12942
12943         Patch by: Philip Jägenstedt  <philip at lysator liu se>
12944
12945         * docs/manual/advanced-dataaccess.xml:
12946           Fix 'Embedding static elements' section to use
12947           GST_PLUGIN_DEFINE_STATIC (#345607).
12948
12949 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12950
12951         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
12952           Attempt to 'fix' spuriously failing test case: it seems like the
12953           timeout of half a second is simply too small when the system is under
12954           load otherwise, and the timeout doesn't really seem to serve any
12955           particular purpose here. Give the pipeline a few seconds to preroll
12956           first, and then give it another half a second to go from PAUSED to
12957           PLAYING and marshal the message into the main thread.
12958
12959 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12960
12961         * tools/gst-feedback-m.m:
12962           Don't only use unversioned tools, try versioned tools as well
12963           (#345086).
12964
12965 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12966
12967         * gst/gstbus.c: (gst_bus_class_init):
12968           Fix some typos, make docs more explicit.
12969
12970 2006-06-20  Wim Taymans  <wim@fluendo.com>
12971
12972         * tests/check/gst/gstghostpad.c: (block_callback),
12973         (GST_START_TEST), (gst_ghost_pad_suite):
12974         Added some more ghostpad tests, mainly blocking
12975         and probes.
12976
12977 2006-06-16  Wim Taymans  <wim@fluendo.com>
12978
12979         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12980         (gst_file_sink_close_file), (gst_file_sink_do_seek),
12981         (gst_file_sink_event), (gst_file_sink_render):
12982         * plugins/elements/gstfilesink.h:
12983         Check if we can seek in the file instead of assuming
12984         we always can. Post an error when we are asked to seek in a
12985         non-seekable file (like a fifo). Fixes #343312.
12986         Some cleanups.
12987
12988 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
12989
12990         * tools/gst-launch.1.in:
12991           Un-garble (fourcc) bit in filtered caps section.
12992
12993 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
12994
12995         * docs/manual/advanced-autoplugging.xml:
12996         * docs/manual/basics-helloworld.xml:
12997         * docs/manual/highlevel-components.xml:
12998           Don't leak bus reference in sample code.
12999
13000 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
13001
13002         * autogen.sh:
13003           Add default for new --enable-plugin-docs switch.
13004
13005         * configure.ac:
13006           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
13007           Fixes #344039.
13008
13009         * docs/Makefile.am:
13010           Use new ENABLE_PLUGIN_DOCS conditional.
13011
13012 2006-06-14  Wim Taymans  <wim@fluendo.com>
13013
13014         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
13015         Make it clear with a FIXME and a real define what the #if 0
13016         previously disabled.
13017
13018 2006-06-14  Wim Taymans  <wim@fluendo.com>
13019
13020         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13021         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
13022         * libs/gst/base/gstbasetransform.c:
13023         (gst_base_transform_sink_eventfunc):
13024         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13025         Don't randomly and silently reset a segment when the format 
13026         changes as this is a bug somewhere upstream. Fixes #330379.
13027
13028 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
13029
13030         Patch by: Wouter Paesen  <wouter at kangaroot net>
13031
13032         * libs/gst/controller/gstcontroller.c:
13033         (gst_controlled_property_new):
13034           Fix controlling of float properties (#344849).
13035
13036         * tests/check/libs/controller.c:
13037         (gst_test_mono_source_get_property),
13038         (gst_test_mono_source_set_property),
13039         (gst_test_mono_source_class_init), (GST_START_TEST):
13040           While we're at it, add some float stuff to unit test.
13041
13042 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13043
13044         * docs/README:
13045         * docs/images/gdp-header.svg:
13046           add a gdp image
13047         * docs/libs/Makefile.am:
13048         * docs/libs/gdp-header.png:
13049         * libs/gst/dataprotocol/dataprotocol.c:
13050           add it to the API docs
13051         * docs/manual/intro-motivation.xml:
13052           fix typo
13053
13054 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
13055
13056         * gst/gst.c: (scan_and_update_registry), (init_post):
13057           If the fork()'ed child process can't write the updated registry cache
13058           file to disk for some reason, make it exit with a failure exit code,
13059           so that the parent can then re-scan the plugins itself and update the
13060           registry structures in memory and work with that (rather than failing
13061           when creating elements because seemingly no plugins are available).
13062           Refactor registry scanning code into separate function for this and
13063           also separate fork() and non-fork() code paths. Fixes #344748.
13064
13065 2006-06-13  Wim Taymans  <wim@fluendo.com>
13066
13067         * docs/manual/advanced-dataaccess.xml:
13068         Fix wrong PluginDesc. Fixes #344755.
13069
13070 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
13071
13072         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
13073           Fix silly bug that prevented us from creating
13074           ~/.gstreamer-0.10 and writing the registry in one
13075           go (the first call to g_mkstemp() would overwrite the
13076           placeholder in the template string, so the second call
13077           to g_mkstemp() after creating the missing directory
13078           would then error out with 'invalid argument').
13079
13080 2006-06-13  Edward Hervey  <edward@fluendo.com>
13081
13082         * gst/gst.c: (init_post):
13083         Free string.
13084
13085 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13086
13087         * gst/glib-compat-private.h:
13088         * gst/glib-compat.c:
13089         * gst/glib-compat.h:
13090         * gst/gstvalue.c: (gst_value_serialize_flags):
13091           remove GLib 2.6 compatibility code
13092
13093 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
13094
13095         * gst/parse/Makefile.am:
13096           Fix build with 'make -j N' even more (#340016).
13097
13098 2006-06-12  Wim Taymans  <wim@fluendo.com>
13099
13100         * docs/gst/gstreamer-sections.txt:
13101         Fix docs.
13102
13103 2006-06-12  Wim Taymans  <wim@fluendo.com>
13104
13105         * gst/gstsegment.c: (gst_segment_set_duration),
13106         (gst_segment_set_last_stop), (gst_segment_set_seek),
13107         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
13108         (gst_segment_to_running_time), (gst_segment_clip):
13109         Use G_UNLIKELY to help the compiler a bit.
13110
13111 2006-06-12  Wim Taymans  <wim@fluendo.com>
13112
13113         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
13114
13115         * gst/gstevent.c: (gst_event_get_type):
13116         * gst/gstmessage.c:
13117         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13118         (gst_pad_push):
13119         constify quark registration strings. Fixes #344115
13120         Avoid unneeded type checking is _pad_push() by internally
13121         calling gst_pad_chain_unchecked().
13122
13123 2006-06-12  Wim Taymans  <wim@fluendo.com>
13124
13125         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
13126         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
13127         (gst_subbuffer_finalize), (gst_buffer_create_sub),
13128         (gst_buffer_is_span_fast), (gst_buffer_span):
13129         Init _type for consistency.
13130         Use _FLAGS macro to avoid type check.
13131         Avoid unneeded type checks in subbufer code.
13132
13133 2006-06-12  Wim Taymans  <wim@fluendo.com>
13134
13135         * gst/gst.c: (gst_debug_help):
13136         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
13137         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
13138         (gst_plugin_feature_list_free):
13139         * gst/gstregistry.c: (gst_registry_add_plugin),
13140         (gst_registry_add_feature), (gst_registry_plugin_filter),
13141         (gst_registry_feature_filter), (gst_registry_find_plugin),
13142         (gst_registry_find_feature), (gst_registry_get_plugin_list),
13143         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
13144         * gst/gstregistryxml.c: (load_feature),
13145         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
13146         * gst/gstminiobject.c: (gst_mini_object_unref),
13147         (gst_mini_object_replace), (gst_value_mini_object_free),
13148         (gst_value_mini_object_copy):
13149         Use _CAST macros to avoid unneeded type checking.
13150         Added some more G_UNLIKELY.
13151
13152 2006-06-12  Wim Taymans  <wim@fluendo.com>
13153
13154         * gst/gstbuffer.h:
13155         Avoid unneeded type checking.
13156         API: GST_BUFFER_IS_DISCONT
13157
13158         * gst/gstminiobject.h:
13159         Avoid type check in flag accessor.
13160
13161         * gst/gstelementfactory.h:
13162         * gst/gstplugin.h:
13163         * gst/gstpluginfeature.h:
13164         Add _CAST macros.
13165         API: GST_ELEMENT_FACTORY_CAST
13166         API: GST_PLUGIN_CAST
13167         API: GST_PLUGIN_FEATURE_CAST
13168
13169 2006-06-12  Wim Taymans  <wim@fluendo.com>
13170
13171         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
13172         (gst_object_unref):
13173         Add G_UNLIKELY in type registration.
13174         Avoid type check in _ref/_unref since that is also
13175         done in glib.
13176
13177 2006-06-12  Wim Taymans  <wim@fluendo.com>
13178
13179         * gst/gsterror.c: (gst_g_error_get_type):
13180         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
13181         (gst_static_pad_template_get_type):
13182         * gst/gsttaglist.c: (gst_tag_list_get_type):
13183         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
13184         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
13185         * gst/gsturi.c: (gst_uri_handler_get_type):
13186         * gst/gstvalue.c: (gst_date_get_type):
13187         * gst/gstxml.c: (gst_xml_get_type):
13188         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
13189         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
13190         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
13191         Add G_UNLIKELY in type registration.
13192
13193 2006-06-12  Wim Taymans  <wim@fluendo.com>
13194
13195         * tools/gst-inspect.c: (print_signal_info):
13196         Properly print enum values.
13197
13198 2006-06-12  Wim Taymans  <wim@fluendo.com>
13199
13200         * gst/gstinfo.c: (gst_debug_set_active),
13201         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
13202         * gst/gstinfo.h:
13203         Add some G_[UN]LIKELY.
13204         Maintain __gst_debug_min to avoid formatting the arguments of
13205         debug messages that will be dropped anyway to avoid a lot of 
13206         overhead from the debugging system.
13207
13208 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
13209
13210         * po/POTFILES.in:
13211         * po/POTFILES.skip:
13212           add missing files containing translatable strings, tell intltool about
13213           one exception
13214
13215 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
13216
13217         * tests/check/libs/.cvsignore:
13218         add test-binary to ignore list
13219
13220 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
13221
13222         * docs/libs/gstreamer-libs-docs.sgml:
13223         reorder (put dp into a chapter) and indent
13224
13225 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13226
13227         * configure.ac:
13228           back to HEAD
13229
13230 === release 0.10.8 ===
13231
13232 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
13233
13234         * configure.ac:
13235           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
13236
13237 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13238
13239         * gst/gst.c: (init_post):
13240           move pid declaration to declaration block
13241
13242 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13243
13244         * gst/gst.c: (init_post):
13245           use _exit() instead of exit() in our forked child; this ensures
13246           that none of the registered exit handlers from whatever is using
13247           GStreamer get executed.  This fixes gnome-mixer-applet failing
13248           to load, because ORBit would shut down.
13249           Spotted by: Edward Hervey  <edward@fluendo.com>
13250           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
13251           Fixes #344474
13252
13253 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13254
13255         * configure.ac:
13256           back to TRUNK
13257
13258 === release 0.10.7 ===
13259
13260 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
13261
13262         * configure.ac:
13263           releasing 0.10.7, "Soepeke, ik zie ou"
13264
13265 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13266
13267         * configure.ac:
13268         * po/af.po:
13269         * po/az.po:
13270         * po/bg.po:
13271         * po/ca.po:
13272         * po/cs.po:
13273         * po/de.po:
13274         * po/en_GB.po:
13275         * po/fr.po:
13276         * po/it.po:
13277         * po/nb.po:
13278         * po/nl.po:
13279         * po/ru.po:
13280         * po/sq.po:
13281         * po/sr.po:
13282         * po/sv.po:
13283         * po/tr.po:
13284         * po/uk.po:
13285         * po/vi.po:
13286         * po/zh_CN.po:
13287         * po/zh_TW.po:
13288         * win32/common/config.h:
13289           0.10.6.2 prerelease
13290
13291 2006-06-07  Wim Taymans  <wim@fluendo.com>
13292
13293         * gst/gstindex.c: (gst_index_gtype_resolver):
13294         * tools/gst-xmlinspect.c: (print_plugin_info):
13295         Fix leak spotted by coverity checker. Fixes #343827
13296         Fix another other leak found by paolo borelli.
13297
13298 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13299
13300         * libs/gst/dataprotocol/dataprotocol.c:
13301         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13302         (gst_dp_version_get_type), (gst_dp_init),
13303         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
13304         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
13305         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
13306         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
13307         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
13308         (gst_dp_packetizer_free):
13309         * libs/gst/dataprotocol/dataprotocol.h:
13310           API: add a GstDPPacketizer object, and create/free functions
13311           API: add GstDPVersion enum
13312           Add 1.0 event function that uses the string serialization
13313           Serialize more useful buffer flags
13314           Fixes #343988
13315
13316 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13317
13318         * tests/check/Makefile.am:
13319         * tests/check/gst/gstabi.c:
13320         * tests/check/gst/struct_ppc64.h:
13321         * tests/check/libs/libsabi.c:
13322         * tests/check/libs/struct_ppc64.h:
13323           add ppc64 structure sizes
13324
13325 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13326
13327         * tests/check/Makefile.am:
13328         * tests/check/gst/gstabi.c:
13329         * tests/check/gst/struct_x86_64.h:
13330         * tests/check/libs/libsabi.c:
13331         * tests/check/libs/struct_x86_64.h:
13332           generate and add structure size lists for x86_64
13333
13334 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13335
13336         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
13337         * libs/gst/check/gstcheck.h:
13338           factor out the method from tests that checks size of structures,
13339           and add code to generate the header containing these sizes
13340         * tests/check/gst/gstabi.c: (GST_START_TEST):
13341         * tests/check/gst/struct_i386.h:
13342         * tests/check/libs/libsabi.c: (GST_START_TEST):
13343         * tests/check/libs/struct_i386.h:
13344           use it
13345
13346 2006-06-06  Michael Smith  <msmith@fluendo.com>
13347
13348         * gst/gstsegment.h:
13349           Don't use c++-style comments, fixes #343929
13350
13351 2006-06-05  Edward Hervey  <edward@fluendo.com>
13352
13353         * gst/gst.c:
13354         plugin_paths is not used if we build without registry support.
13355
13356         * gst/gstsegment.c: (gst_segment_copy): 
13357         _copy() was always returning NULL...
13358
13359 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13360
13361         * libs/gst/dataprotocol/dataprotocol.c:
13362         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
13363         (gst_dp_packet_from_event):
13364           factor out CRC code
13365
13366 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13367
13368         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
13369           make sure we unset caps
13370
13371 2006-06-02  Michael Smith  <msmith@fluendo.com>
13372
13373         * libs/gst/check/gstcheck.c: (gst_check_init),
13374         (gst_check_chain_func):
13375         * libs/gst/check/gstcheck.h:
13376           Add a cond/mutex to the check support lib, signal this whenever we
13377           add to the buffers list. This will allow tests to not busy-wait on
13378           the buffer-list.
13379
13380 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13381
13382         * libs/gst/dataprotocol/dataprotocol.c:
13383         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
13384         (gst_dp_packet_from_event):
13385           factor out some common header init code
13386
13387 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13388
13389         * docs/libs/gstreamer-libs-sections.txt:
13390         * docs/libs/tmpl/gstdataprotocol.sgml:
13391         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
13392         * libs/gst/dataprotocol/dataprotocol.h:
13393           API: make gst_dp_crc() public
13394
13395 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
13396
13397         * plugins/indexers/gstindexers.c: (plugin_init):
13398         conditionally register fileindexer (fixes #343598)
13399
13400 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
13401
13402         * gst/gsttagsetter.h:
13403         Can't cast ifaces to a class
13404
13405         * libs/gst/net/gstnetclientclock.h:
13406         * libs/gst/net/gstnettimeprovider.h:
13407         * plugins/elements/gstfakesink.h:
13408         * plugins/elements/gstfakesrc.h:
13409         * plugins/elements/gstfdsink.h:
13410         * plugins/elements/gstfdsrc.h:
13411         * plugins/elements/gstfilesink.h:
13412         * plugins/elements/gstfilesrc.h:
13413         * plugins/elements/gstidentity.h:
13414         * plugins/elements/gstqueue.h:
13415         * plugins/elements/gsttee.h:
13416         * plugins/indexers/gstfileindex.c:
13417         * plugins/indexers/gstmemindex.c:
13418         * tests/old/examples/plugins/example.h:
13419         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
13420
13421 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13422
13423         * libs/gst/dataprotocol/dataprotocol.c:
13424         (gst_dp_header_from_buffer):
13425           make sure we zero the whole ABI-compatible area
13426
13427 2006-06-01  Wim Taymans  <wim@fluendo.com>
13428
13429         Patch by: Alessandro Decina <alessandro at nnva dot org>
13430
13431         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
13432         Make sure the EOS flag is cleared from pads after a flush
13433         or stop. Fixes #343538.
13434
13435         * tests/check/libs/collectpads.c: (GST_START_TEST),
13436         (gst_collect_pads_suite):
13437         Added test for collectpads reusage after EOS.
13438
13439 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
13440
13441         * gst/gst.c:
13442          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
13443         * win32/common/libgstbase.def:
13444          export gst_collect_pads_set_flushing
13445         * win32/common/libgstreamer.def:
13446          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
13447          gst_value_fraction_multiply
13448         * win32/vs6/gst_inspect.dsp:
13449          add a link to intl.lib
13450
13451 2006-05-30  Wim Taymans  <wim@fluendo.com>
13452
13453         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
13454         (gst_collect_pads_chain):
13455         Handle the case where a pad is removed from the collection
13456         that could cause the other pads to become collectable.
13457
13458 2006-05-30  Wim Taymans  <wim@fluendo.com>
13459
13460         * gst/gstelement.c:
13461         Clarify the use of _release_request_pad() and
13462         _get_request_pad() a bit better.
13463
13464         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
13465         (gst_adapter_take_buffer):
13466         Fix some doc and comment typos.
13467
13468 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13469
13470         * docs/gst/gstreamer-sections.txt:
13471         * docs/libs/gstreamer-libs-sections.txt:
13472           add declared symbols
13473
13474 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
13475
13476         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13477         Add debug that can be enabled using a #define at the top of the file,
13478         for dumping stats about how late/early we were when waking up from
13479         waiting on the clock.
13480
13481 2006-05-30  Wim Taymans  <wim@fluendo.com>
13482
13483         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
13484         When rebuilding the pad list, don't leak the previous list.
13485
13486 2006-05-30  Wim Taymans  <wim@fluendo.com>
13487
13488         Patch by: Lutz Mueller <lutz at topfrose dot de>
13489
13490         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13491         (gst_base_src_get_query_types), (gst_base_src_update_length):
13492         Publish supported query types.
13493         Update last_stop field in get_range mode so the position
13494         query works. Fixes #342321.
13495
13496 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
13497
13498         * docs/gst/gstreamer-sections.txt:
13499         * gst/gsttaglist.c: (_gst_tag_initialize):
13500         * gst/gsttaglist.h:
13501           API: add GST_TAG_PREVIEW_IMAGE (#343341).
13502
13503 2006-05-30  Wim Taymans  <wim@fluendo.com>
13504
13505         Patch by: Alessandro Decina <alessandro at nnva dot org>
13506
13507         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
13508         Unlock mutex when removing an unknown pad.
13509         Fixes #343334.
13510
13511         * tests/check/Makefile.am:
13512         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
13513         (push_event), (setup), (teardown), (GST_START_TEST),
13514         (gst_collect_pads_suite), (main):
13515         Added collecpads check, disabled for now as check crashes for
13516         some reason.
13517
13518 2006-05-29  Wim Taymans  <wim@fluendo.com>
13519
13520         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
13521         Don't leak pads lists.
13522
13523 2006-05-29  Wim Taymans  <wim@fluendo.com>
13524
13525         * docs/libs/gstreamer-libs-sections.txt:
13526         * libs/gst/base/gstcollectpads.c:
13527         (gst_collect_pads_set_flushing_unlocked),
13528         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
13529         (gst_collect_pads_stop):
13530         * libs/gst/base/gstcollectpads.h:
13531         API: gst_collect_pads_set_flushing()
13532         Added api to set the pads to flushing, useful for seeking
13533         code in elements using collectpads.
13534         Clear segment when receiving a flush.
13535
13536 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
13537
13538         * gst/gst.c: (add_path_func), (init_post):
13539           Don't scan registry paths passed via --gst-plugin-path immediately
13540           (will crash, because absolutely nothing is set up and no types are
13541           registered etc.); do this later in init_post(). Fixes #343057.
13542
13543 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13544
13545         * gst/gst.c: (init_post):
13546           if we have fork, fork while reading/rebuilding the registry
13547           so the parent doesn't take the hit of having all plugins loaded
13548           in memory.  Fixes #342777.
13549         * configure.ac:
13550           Check if we have fork()
13551         * win32/common/config.h.in:
13552           no fork() on win32
13553
13554 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
13555
13556         * plugins/elements/gstelements.c:
13557         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13558         (gst_file_src_init), (gst_file_src_set_property),
13559         (gst_file_src_get_property), (gst_file_src_start):
13560         * plugins/elements/gstfilesrc.h:
13561           API: GstFileSrc::use-mmap
13562
13563         Add a use-mmap property to enable easier testing of all code paths.
13564         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
13565         in the absence of gnomevfssrc. (Closes #340501)
13566
13567 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
13568
13569         * tools/gst-inspect.c:
13570         Add missing include, removes warning of ngettext not being defined on
13571         some arches.
13572
13573 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
13574
13575         * gst/gstvalue.c: (gst_value_deserialize_fraction):
13576         Handle NULL input and output pointers silently as a failed conversion,
13577         rather than g_warnings.
13578
13579 2006-05-25  Wim Taymans  <wim@fluendo.com>
13580
13581         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
13582         Initialize variable before using. Fixes #342820.
13583
13584 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
13585
13586         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
13587           Fix off-by-one bug that would only allow peeks of N-1 bytes
13588           from the start even if the buffer to typefind on contains
13589           in fact N bytes of data (makes vorbis typefinding from a
13590           vorbis identification header buffer work).
13591
13592         * tests/check/Makefile.am:
13593         * tests/check/libs/.cvsignore:
13594         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
13595         (gst_typefindhelper_suite), (main), (foobar_typefind),
13596         (plugin_init):
13597           Add very basic unit test for gst_type_find_helper_for_buffer()
13598           that checks for the problem fixed above.
13599
13600 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13601
13602         * tools/gst-inspect.c: (print_interfaces),
13603         (print_element_properties_info), (print_element_list), (main):
13604           add more translatable strings
13605
13606 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
13607
13608         Patch by: Julien Moutte  <julien at moutte net>
13609
13610         * docs/gst/gstreamer-sections.txt:
13611           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
13612           
13613         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
13614         (gst_fake_sink_preroll):
13615         * plugins/elements/gstfakesink.h:
13616           API: Add new GstFakeSink::preroll-handoff signal (#337100).
13617
13618 2006-05-23  Wim Taymans  <wim@fluendo.com>
13619
13620         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
13621         * gst/gstpad.h:
13622         Added _CUSTOM error and success GstFlowReturn that can be
13623         used be elements internally. 
13624         Added macro to check for SUCCESS flowreturns.
13625         API: GST_FLOW_CUSTOM_SUCCESS
13626         API: GST_FLOW_CUSTOM_ERROR
13627         API: GST_FLOW_IS_SUCCESS
13628
13629         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
13630         Added check for GstFlowReturn sanity.
13631
13632 2006-05-23  Wim Taymans  <wim@fluendo.com>
13633
13634         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
13635
13636         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
13637         (gst_collect_pads_event):
13638         clear/reset segment info in FLUSH_STOP.
13639         Fixes #336929.
13640
13641 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
13642
13643         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
13644         (gst_collect_pads_check_collected):
13645         Flush queued buffer on _stop(), fixes playing again (#342454)
13646
13647 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13648
13649         * tests/check/gst/gststructure.c: (GST_START_TEST),
13650         (gst_structure_suite):
13651           add a test for a complete structure
13652
13653 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
13654
13655         * docs/faq/developing.xml:
13656         * docs/faq/faq.xml:
13657         * docs/faq/troubleshooting.xml:
13658         * docs/faq/using.xml:
13659           Some minor FAQ updates that won't change the fact that
13660           our FAQ is badly structured, full of information hardly
13661           anyone new to GStreamer needs to know and lacking lots
13662           of information people constantly ask for.
13663           
13664 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
13665
13666         * gst/gstpad.c: (gst_pad_set_caps):
13667           Short-circuit gst_pad_set_caps if setting the existing
13668           caps pointer again, and avoid printing debug and 
13669           reffing/unreffing the caps.
13670
13671         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13672           There's actually no need to set the caps before pushing -
13673           the acceptcaps method will handle it anyway.
13674
13675 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
13676
13677         * docs/gst/gstreamer-sections.txt:
13678         * win32/common/libgstreamer.def:
13679         * gst/gstutils.c: (gst_element_seek_simple):
13680         * gst/gstutils.h:
13681           API: add gst_element_seek_simple() (#342238).
13682
13683 2006-05-18  Edward Hervey  <edward@fluendo.com>
13684
13685         * gst/gsttypefind.c: (gst_type_find_get_type):
13686         * gst/gsttypefind.h:
13687         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
13688         registered for GstTypeFind pointers. This allows wrapping the structure
13689         in bindings (i.e. gst-python).
13690
13691 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
13692
13693         * gst/gsttagsetter.c:
13694           Docs additions and fixes (see #339918).
13695
13696 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
13697
13698         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13699         The caps intersection algorithm can produce multiple copies of the
13700         caps. Until that is fixed, we need to simplify the result to be
13701         sure whether the allowed caps are fixed or not.
13702
13703         * plugins/elements/gstqueue.c: (gst_queue_init),
13704         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
13705         (gst_queue_push_one):
13706         Proxied buffer alloc should not set the caps on the source pad.
13707         When pushing buffers, we always accept the caps change that triggers.
13708         This prevents negotiation errors caused by caps changing mid-stream 
13709         and then being refused on our source pad (because upstream is now
13710         refusing those caps).
13711
13712 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
13713
13714         * tests/examples/helloworld/helloworld.c: (main):
13715           Must plug audioconvert and audioresample between decoder
13716           and audio sink.
13717
13718 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
13719
13720         * gst/gstregistryxml.c: (read_string), (load_pad_template),
13721         (load_feature), (load_plugin):
13722         Allow empty strings for some of the plugin fields so we don't 
13723         drop valid plugin entries that were written out correctly
13724         (Fixes #341479)
13725
13726 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
13727         
13728         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
13729           Use g_remove and g_rename instead of remove and rename that don't 
13730           handle utf8 characters. rename was failing for users who had specific
13731           characters in their name then the registry was built at each 
13732           gstreamer init.
13733         * win32/vs6/gst_inspect.dsp:
13734         * win32/vs6/gst_launch.dsp:
13735         * win32/vs6/libgstbase.dsp:
13736         * win32/vs6/libgstcoreelements.dsp:
13737         * win32/vs6/libgstreamer.dsp:
13738           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
13739           build of libgstreamer and clean unused libraries in projects link 
13740           settings.
13741
13742 2006-05-17  Edward Hervey  <edward@fluendo.com>
13743
13744         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13745         The queue is not responsible for pushing an EOS when receiving a fatal
13746         flow error. It's up to the real element driving the pipeline to do that.
13747
13748 2006-05-16  Edward Hervey  <edward@fluendo.com>
13749
13750         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13751         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
13752         buffer returned a fatal error. It should just send an EOS and stop
13753         its task.
13754         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
13755         when pushing buffers on the queue and will be able to handle the event.
13756
13757 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
13758
13759         * docs/manual/basics-bins.xml:
13760         * docs/manual/basics-init.xml:
13761           Fix typos and minor errors in sample code (#341856).
13762
13763 2006-05-16  Wim Taymans  <wim@fluendo.com>
13764
13765         * docs/design/part-qos.txt:
13766         Fix indexes in formulas to make more sense.
13767
13768 2006-05-15  Wim Taymans  <wim@fluendo.com>
13769
13770         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13771         Don't report POSITION based on clock time if sync is
13772         disabled in a sink.
13773
13774 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
13775
13776         * gst/gstobject.h:
13777           Add cast to make compiler happy - refcount variable was a gint
13778           in GstObject but is a guint in GObject and g_atomic_int_get()
13779           wants a gint *.
13780
13781 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13782
13783         * gst/parse/Makefile.am:
13784           chain commands using &&, which also makes parallel make work
13785
13786 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
13787
13788         * docs/gst/gstreamer-sections.txt:
13789         * gst/gstevent.c:
13790         * gst/gstevent.h:
13791         * gst/gstmessage.h:
13792           Minor docs fixes.
13793
13794 === release 0.10.6 ===
13795
13796 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
13797
13798         * configure.ac:
13799           releasing 0.10.6, "Take the cannoli"
13800
13801 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13802
13803         * tools/gst-launch.c: (print_tag):
13804           Fix use of uninitialized variable in the hypothetical
13805           case that some broken plugin creates a GST_TAG_IMAGE
13806           tag containing a NULL buffer (#341667).
13807
13808 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13809
13810         * tools/gst-launch.c: (print_tag):
13811           Print something more intelligible for image tags when
13812           using the -t switch (#341556).
13813
13814 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13815
13816         * Makefile.am:
13817           updates for win32
13818         * configure.ac:
13819           define GST_MAJORMINOR so we have it available in win32/common/config.h
13820           Possibly remove it from our Makefile.am files later
13821         * win32/common/config.h:
13822         * win32/common/config.h.in:
13823           added GST_MAJORMINOR
13824         * win32/common/gstenumtypes.c: (register_gst_resource_error):
13825         * win32/common/gstversion.h:
13826           updated
13827
13828 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
13829
13830         * win32/MANIFEST:
13831           Update win32 files listing.
13832         * win32/common/gstversion.h:
13833           Add GST_MAJORMINOR definition.
13834         * win32/common/libgstreamer.def:
13835           Add new exported functions.
13836           
13837 2006-05-12  Michael Smith  <msmith@fluendo.com>
13838
13839         * gst/gstplugin.c: (gst_plugin_load_file):
13840           If an so file has no plugin entry point, unload the module.
13841
13842 2006-05-11  Wim Taymans  <wim@fluendo.com>
13843
13844         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
13845         (gst_queue_set_property):
13846         Don't forget to signal the _chain or _loop function 
13847         when the queue size or thresholds change since that might
13848         cause them to make progres again.
13849
13850 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
13851
13852         * gst/gstclock.c: (gst_clock_class_init):
13853         * gst/gstindex.c: (gst_index_class_init):
13854         * gst/gstobject.c: (gst_object_class_init):
13855         * gst/gstpad.c: (gst_pad_class_init):
13856         * gst/gstpipeline.c: (gst_pipeline_class_init):
13857         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13858         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
13859         * libs/gst/base/gstbasetransform.c:
13860         (gst_base_transform_class_init):
13861         * libs/gst/net/gstnetclientclock.c:
13862         (gst_net_client_clock_class_init):
13863         * libs/gst/net/gstnettimeprovider.c:
13864         (gst_net_time_provider_class_init):
13865         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
13866         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
13867         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
13868         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
13869         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
13870         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
13871         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13872         * plugins/elements/gstidentity.c: (gst_identity_class_init):
13873         * plugins/elements/gsttee.c: (gst_tee_class_init):
13874         * tests/old/examples/plugins/example.c: (gst_example_class_init):
13875         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
13876           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
13877
13878 2006-05-11  Wim Taymans  <wim@fluendo.com>
13879
13880         * gst/gstbuffer.c: (_gst_buffer_initialize):
13881         Register subbufer along with the buffer type so that
13882         it does not accidentally gets registered from N
13883         different streaming threads in a non threadsafe way.
13884
13885 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
13886
13887         * gst/gstbuffer.h:
13888         * gst/gstevent.h:
13889         * gst/gstmessage.h:
13890           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
13891           gst_event_ref() and gst_message_ref() functions again
13892           (ugly hack, please do fix if there's a better way besides
13893           overrides.txt, which doesn't seem to work).
13894
13895 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13896
13897         * libs/gst/check/gstcheck.h:
13898           add an assert for setting state to avoid lots of repetitive code
13899           in the future
13900
13901 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13902
13903         * gst/gstvalue.c: (gst_value_serialize_flags):
13904           fix a leak if no flags are set
13905         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13906           fix leak in tests
13907
13908 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
13909
13910         * docs/manual/basics-pads.xml:
13911           Expand a bit on caps and filtered links and update
13912           examples that were still using the no longer existing
13913           gst_pad_link_filtered() (#338206).
13914
13915 2006-05-10  Wim Taymans  <wim@fluendo.com>
13916
13917         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
13918         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
13919         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
13920         (gst_collect_pads_stop):
13921         * libs/gst/base/gstcollectpads.h:
13922         No need to call _stop in _finalize.
13923         Iterate the main pad list in _finalize.
13924         Added some more debug.
13925         Free lists and data in the right order.
13926         Also free data whem doing _remove_pad when stopped for
13927         backward compatibility protect ::started with PAD_LOCK as
13928         well.
13929
13930 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13931
13932         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
13933         (gst_structure_parse_value):
13934           add some comments
13935           rename a method so that it actually says what it does better
13936
13937 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13938
13939         * gst/gstevent.c: (_gst_event_initialize):
13940         * gst/gstformat.c: (_gst_format_initialize):
13941           make sure some essential types used by events are registered
13942           as part of gst_init()
13943         * gst/gstvalue.c: (gst_value_serialize_flags):
13944           if no flags are set, serialize them to a value that represents NONE
13945           so that deserializing them works
13946         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13947           add tests for serialization and deserialization of flags
13948
13949 2006-05-10  Wim Taymans  <wim@fluendo.com>
13950
13951         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
13952         (gst_collect_pads_collect_range), (gst_collect_pads_available),
13953         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
13954         (gst_collect_pads_event), (gst_collect_pads_chain):
13955         Update docs.
13956         Better debug info.
13957         Catch and return errors from the collect function
13958         Refuse data on eos pads.
13959
13960 2006-05-10  Edward Hervey  <edward@fluendo.com>
13961
13962         * gst/gstinterface.h:
13963         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
13964         GInterface type checking.
13965         They were previously using non-defined macros.
13966
13967 2006-05-09  Wim Taymans  <wim@fluendo.com>
13968
13969         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
13970         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
13971         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
13972         (gst_collect_pads_start), (gst_collect_pads_stop),
13973         (gst_collect_pads_peek), (gst_collect_pads_pop),
13974         (gst_collect_pads_available), (gst_collect_pads_read),
13975         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
13976         (gst_collect_pads_is_collected), (gst_collect_pads_event),
13977         (gst_collect_pads_chain):
13978         * libs/gst/base/gstcollectpads.h:
13979         Clean up the mess that is collectpads, add comments and
13980         FIXMEs where needed.
13981         Maintain a separate pad list so we can add pads while
13982         collecting the other ones. For this we need a new separate 
13983         lock (see comics).
13984         Fix memory leak in finalize.
13985         Refactor some weird code to set/unset pad flushing flags, mark
13986         with comments.
13987         Don't crash in _available, _read, _flush when we're EOS.
13988
13989         * tests/check/libs/.cvsignore:
13990         Ignore adapter check binary.
13991
13992 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13993
13994         * gst/gstindex.c: (gst_index_resolver_get_type):
13995         * plugins/elements/gstfakesink.c:
13996         (gst_fake_sink_state_error_get_type):
13997         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13998         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
13999         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
14000           Const-ify GEnumValue arrays.
14001
14002 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14003
14004         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14005           Add test case for flags + gst_buffer_make_metadata_writable().
14006
14007 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14008
14009         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
14010           gst_buffer_make_metadata_writable() should maintain the
14011           buffer flags (those that make sense at least) (see #340859).
14012
14013 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14014
14015         * tools/gst-inspect.c:
14016         * tools/gst-launch.c:
14017         * tools/gst-typefind.c:
14018         * tools/gst-xmlinspect.c:
14019         * tools/tools.h:
14020           Fix up includes: need to include stdlib.h in tools.h for exit().
14021
14022 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14023
14024         * gst/gsttaglist.c: (_gst_tag_initialize):
14025         * gst/gsttaglist.h:
14026           API: add GST_TAG_IMAGE tag (#340721).
14027
14028 2006-05-08  Wim Taymans  <wim@fluendo.com>
14029
14030         * gst/gstquery.c:
14031         Added some docs for the segment query.
14032
14033 2006-05-08  Wim Taymans  <wim@fluendo.com>
14034
14035         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14036         (gst_base_src_loop), (gst_base_src_change_state):
14037         Always push non-flushing serialized events in the streaming 
14038         thread.
14039
14040 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14041
14042         * gst/gsterror.c: (_gst_stream_errors_init):
14043           Add a missing error string.
14044
14045 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
14046
14047         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
14048         Add applied_rate to the debug
14049
14050         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
14051         Copy applied_rate into the outgoing NEWSEGMENT event
14052
14053 2006-05-08  Wim Taymans  <wim@fluendo.com>
14054
14055         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
14056
14057         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
14058         (gst_base_sink_change_state):
14059         call ::unlock before taking the PREROLL_LOCK so we can safely
14060         handle elements that lock in ::render.
14061         Fixes #340174.
14062
14063 2006-05-08  Edward Hervey  <edward@fluendo.com>
14064
14065         * autogen.sh: (CONFIGURE_DEF_OPT): 
14066         Darwin's libtoolize is in fact called glibtoolize.
14067         Adding glibtoolize to the list of accepted names for libtoolize.
14068
14069 2006-05-08  Wim Taymans  <wim@fluendo.com>
14070
14071         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14072         Unify error handling, don't post an error message
14073         when a push() returns EOS but perform our normal EOS
14074         handling code. Fixes #340772.
14075
14076 2006-05-08  Wim Taymans  <wim@fluendo.com>
14077
14078         * docs/design/part-overview.txt:
14079         Make upsteam/downstream concepts more clear.
14080         Give an example of serialized/non-serialized events.
14081
14082         * docs/design/part-events.txt:
14083         * docs/design/part-streams.txt:
14084         Mention applied_rate.
14085
14086         * docs/design/part-trickmodes.txt:
14087         Mention applied rate, flesh out some more use cases.
14088
14089         * gst/gstevent.c: (gst_event_new_new_segment),
14090         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
14091         (gst_event_parse_new_segment_full), (gst_event_new_tag),
14092         (gst_event_parse_tag), (gst_event_new_buffer_size),
14093         (gst_event_parse_buffer_size), (gst_event_new_qos),
14094         (gst_event_parse_qos), (gst_event_parse_seek),
14095         (gst_event_new_navigation):
14096         * gst/gstevent.h:
14097         Add applied_rate field to NEWSEGMENT event.
14098         API: gst_event_new_new_segment_full()
14099         API: gst_event_parse_new_segment_full()
14100
14101         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
14102         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
14103         (gst_segment_to_stream_time), (gst_segment_to_running_time):
14104         * gst/gstsegment.h:
14105         Add applied_rate to GstSegment structure.
14106         Make calculation of stream_time and running_time more correct
14107         wrt rate/applied_rate.
14108         Add some more docs.
14109         API: GstSegment::applied_rate field
14110         API: gst_segment_set_newsegment_full();
14111
14112         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14113         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
14114         * libs/gst/base/gstbasetransform.c:
14115         (gst_base_transform_sink_eventfunc),
14116         (gst_base_transform_handle_buffer):
14117         Parse and use applied_rate in the GstSegment field.
14118
14119         * tests/check/gst/gstevent.c: (GST_START_TEST):
14120         Add check for applied_rate field.
14121
14122         * tests/check/gst/gstsegment.c: (GST_START_TEST),
14123         (gstsegments_suite):
14124         Add more checks for various GstSegment operations.
14125
14126 2006-05-08  Wim Taymans  <wim@fluendo.com>
14127
14128         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
14129         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
14130         (gst_base_sink_get_position), (gst_base_sink_change_state):
14131         Store the sync time of the buffer end position separatly in a
14132         new variable eos_rtime so we can properly sync the EOS event.
14133         Fixes #340697.
14134         Fix the docs for gst_base_sink_set_qos_enabled().
14135         Don't set segment start to invalid value when we receive a 
14136         non TIME newsegment.
14137         get closer to handling position reporting for negative rates 
14138         correctly.
14139
14140 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
14141
14142         * gst/gstcaps.c:
14143         Docs about how to print caps for debug purposes.
14144
14145         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
14146         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
14147
14148 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
14149
14150         * gst/gstelement.c:
14151           use full enum names and preprend a '%' in docs strings to make recent 
14152           gtk-doc turn that into a link
14153
14154 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14155
14156         * docs/manual/basics-bins.xml:
14157         * docs/manual/basics-bus.xml:
14158         * docs/manual/basics-pads.xml:
14159           Some typo fixes, some additions, some clarifications. 
14160
14161 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14162
14163         * tools/gst-inspect.c: (main):
14164         * tools/gst-launch.c: (main):
14165         * tools/gst-run.c: (main):
14166         * tools/gst-typefind.c: (main):
14167         * tools/gst-xmlinspect.c: (main):
14168           Use the string passed to g_option_context_new() for
14169           what it's intended for - the program name is already
14170           printed elsewhere.
14171
14172 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14173
14174         * tools/Makefile.am:
14175         * tools/gst-inspect.c: (main):
14176         * tools/gst-launch.c: (main):
14177         * tools/gst-xmlinspect.c: (main):
14178         * tools/tools.h:
14179           Add back --version command line option (#340460).
14180
14181         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
14182           Add --version option and use GOption for argument parsing; refactor a
14183           bit; accept directories as arguments and recurse into them; lastly,
14184           print a decent error message when things go wrong.
14185
14186 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14187
14188         * docs/manual/basics-bins.xml:
14189         Don't mention GstThread (#340611)
14190         * docs/manual/basics-elements.xml:
14191         Update link to GObject tutorial (#340607)
14192         
14193 2006-05-05  Wim Taymans  <wim@fluendo.com>
14194
14195         * gst/gstbuffer.h:
14196         * gst/gstminiobject.c:
14197         Add note about refcounting and miniobject/buffer writeability
14198         to docs. Fixes #340604
14199
14200         * gst/gstelementfactory.h:
14201         Added some explanation about @klass.
14202
14203 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14204
14205         * docs/manual/intro-motivation.xml:
14206         * docs/manual/manual.xml:
14207         Avoid CORBA & Bonobo references (#340598)
14208
14209 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14210
14211         * docs/manual/basics-bus.xml:
14212         * docs/manual/basics-pads.xml:
14213         Fix up some inaccuracies and omissions (#340609)
14214         
14215 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14216
14217         * gst/gstghostpad.c:
14218           Small typo in docs (#340625)
14219
14220 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14221
14222         * gst/parse/Makefile.am:
14223           Make 'make -j' proof (see #340698).
14224
14225 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14226
14227         * configure.ac:
14228           Require GLib-2.8 here as well.
14229
14230 2006-05-05  Wim Taymans  <wim@fluendo.com>
14231
14232         * gst/glib-compat.c:
14233         * gst/gst.c: (init_pre):
14234         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
14235         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
14236         (gst_object_dispatch_properties_changed):
14237         * gst/gstobject.h:
14238         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
14239         * gst/gststructure.c: (gst_structure_set_valist):
14240         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
14241         Remove pre glib2.8 compatibility, fixes #340508
14242
14243 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
14244
14245         * gst/gsttaglist.h:
14246           Mention type of tags in doc blurbs.
14247
14248 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
14249
14250         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
14251         (gst_pad_configure_src), (gst_pad_push):
14252         Restore acceptcaps checking behaviour now that good plugins have
14253         been released.
14254
14255 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
14256
14257         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
14258
14259         * gst/gst.c:
14260         * gst/gstbus.c:
14261         * gst/gstclock.c:
14262         * gst/gstevent.c:
14263         * gst/gstformat.c:
14264         * gst/gstmessage.c:
14265         * gst/gstparse.c:
14266         * gst/gstquery.c:
14267         * gst/gstutils.c:
14268         * gst/parse/Makefile.am:
14269         * libs/gst/base/gstadapter.c:
14270         * libs/gst/base/gstbasesrc.c:
14271         * libs/gst/base/gstpushsrc.c:
14272         * libs/gst/base/gsttypefindhelper.c:
14273         * plugins/elements/gstfakesrc.c:
14274         * plugins/elements/gstidentity.c:
14275           Make sure gstprivate.h and/or config.h are
14276           always included first, otherwise some of our
14277           defines (like _FILE_OFFSET_BITS) might be
14278           redefined in the system headers. Fixes build
14279           on opensolaris (#340016).
14280
14281 2006-05-04  Wim Taymans  <wim@fluendo.com>
14282
14283         * docs/libs/gstreamer-libs-sections.txt:
14284         API: addition: gst_adapter_take_buffer()
14285         
14286         * libs/gst/base/gstadapter.c: (gst_adapter_push),
14287         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
14288         (gst_adapter_available_fast):
14289         * libs/gst/base/gstadapter.h:
14290         Prepare for optimizing the hell out of this hugely inefficient
14291         piece of code. 
14292         Added gst_adapter_take_buffer() so we can at least start thinking
14293         about subbuffering and merging.
14294         Added some comments.
14295
14296         * tests/check/Makefile.am:
14297         * tests/check/libs/adapter.c: (GST_START_TEST),
14298         (gst_adapter_suite), (main):
14299         Added GstAdapter check.
14300
14301 2006-05-04  Wim Taymans  <wim@fluendo.com>
14302
14303         * docs/design/part-overview.txt:
14304         Fix some typos, add blurb about buffer flags.
14305
14306 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14307
14308         * docs/libs/gstreamer-libs-sections.txt:
14309           make sure GstBaseTransformClass shows up in the docs
14310         * libs/gst/base/gstbasetransform.c:
14311         * libs/gst/base/gstbasetransform.h:
14312           move docs so gtk-doc picks it up now
14313
14314 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
14315
14316         * docs/libs/gstreamer-libs-sections.txt:
14317           add missing symbols to docs
14318
14319 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
14320
14321         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14322           back out the newsegment handling change, see #340060 for ongoing
14323           discussion
14324
14325 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
14326
14327         * tools/gst-run.c: (get_candidates), (main):
14328           Fix wrong g_file_test() usage (see glib docs for why it doesn't
14329           work); fix typo in error message. Fixes #340079.
14330
14331 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14332
14333         * common/Makefile.am:
14334         * docs/Makefile.am:
14335         * docs/faq/Makefile.am:
14336         * docs/gst/Makefile.am:
14337         * docs/libs/Makefile.am:
14338         * docs/manual/Makefile.am:
14339         * docs/plugins/Makefile.am:
14340         * docs/pwg/Makefile.am:
14341         * docs/slides/Makefile.am:
14342         * docs/upload.mak:
14343         * common/upload.mak:
14344           move upload.mak to common
14345
14346 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14347
14348         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14349           add more asserts on refcounts
14350           do more cleanup at end of tests
14351           fix test leaks showing in FC5
14352
14353 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
14354
14355         * plugins/elements/gsttypefindelement.c:
14356         (gst_type_find_element_handle_event):
14357         reverted wrong change and reflowed code to avoid others falling into
14358         this trap
14359
14360 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14361
14362         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14363           fix changelog entry about last collectpads change,
14364           add notes about proper fix
14365
14366 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14367
14368         * gst/gst.c:
14369         * gst/gstregistry.c: (gst_registry_scan_path_level),
14370         (gst_registry_scan_path):
14371         * gst/gstregistry.h:
14372           only write out registry if it has changed, fixes #338339
14373
14374 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14375
14376         * gst/gstbin.c:
14377         * gst/gstpipeline.c:
14378         * plugins/elements/gstcapsfilter.c:
14379         * plugins/elements/gstfakesink.c:
14380         * plugins/elements/gstfakesrc.c:
14381         * plugins/elements/gstfdsink.c:
14382         * plugins/elements/gstfdsrc.c:
14383         * plugins/elements/gstfilesink.c:
14384         * plugins/elements/gstfilesrc.c:
14385         * plugins/elements/gstidentity.c:
14386         * plugins/elements/gstqueue.c:
14387         * plugins/elements/gsttee.c:
14388         * plugins/elements/gsttypefindelement.c:
14389         (gst_type_find_element_handle_event):
14390           make GstElementDetails const
14391
14392 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14393
14394         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
14395         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14396         (gst_collect_pads_is_collected), (gst_collect_pads_event):
14397           more detailed debug and formatting cleanup,
14398           forward newsegments to src-pad (so that e.g. adder not eats them)
14399
14400 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14401
14402         * gst/gstutils.c: (gst_element_link_pads):
14403           cleanup double code
14404
14405 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14406
14407         * libs/gst/controller/gstcontroller.c:
14408         (gst_controller_sync_values):
14409           some little tuning
14410         * tests/check/libs/controller.c: (GST_START_TEST),
14411         (gst_controller_suite):
14412           a new test for live value handling
14413
14414 2006-04-28  Wim Taymans  <wim@fluendo.com>
14415
14416         * gst/gstutils.c: (push_and_ref):
14417         Added some more docs.
14418         Fix refcount issue whith gst_element_found_tags() helper 
14419         function. Fixes #338335
14420
14421         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14422         Added testsuite for gst_element_found_tags().
14423
14424 2006-04-28  Michael Smith  <msmith@fluendo.com>
14425
14426         * gst/gstvalue.c: (gst_value_serialize_flags):
14427           Avoid NULL dereference when trying to serialize flags containing
14428           invalid values.
14429
14430 2006-04-28  Michael Smith  <msmith@fluendo.com>
14431
14432         * plugins/elements/gsttypefindelement.c:
14433         (gst_type_find_element_handle_event):
14434           If we get EOS before any data is accumulated, don't use
14435           uninitialised local variables.
14436
14437 2006-04-28  Michael Smith  <msmith@fluendo.com>
14438
14439         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14440         (gst_dp_event_from_packet):
14441           Fixes in reading/writing events over GDP (not currently used?) - 
14442           dereferencing NULL events for unknown/invalid event types, memory
14443           leak, and change g_warning to GST_WARNING.
14444
14445 2006-04-28  Wim Taymans  <wim@fluendo.com>
14446
14447         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
14448         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
14449         (gst_base_sink_get_position), (gst_base_sink_change_state):
14450         When frame dropping is enabled, we should not ignore frames
14451         without a duration.
14452         Update some documentation.
14453
14454 2006-04-28  Wim Taymans  <wim@fluendo.com>
14455
14456         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14457         (gst_base_src_send_event), (gst_base_src_change_state):
14458         Documentation updates.
14459
14460 2006-04-28  Wim Taymans  <wim@fluendo.com>
14461
14462         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
14463         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
14464         handle EAGAIN, EINTR and short writes correctly. Also clean
14465         up some error cases, avoid a deadlock on bad file descriptors and
14466         use GST_DEBUG_OBJECT.
14467         Fixes #339843
14468
14469 2006-04-28  Wim Taymans  <wim@fluendo.com>
14470
14471         * gst/gstvalue.c: (gst_value_serialize_buffer),
14472         (gst_value_deserialize_buffer):
14473         Don't try to serialize a GValue with a NULL buffer. 
14474         Fixes #339821.
14475
14476         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14477         Added check for serialisation of NULL buffers.
14478
14479 2006-04-28  Wim Taymans  <wim@fluendo.com>
14480
14481         * gst/gstminiobject.c: (gst_value_take_mini_object):
14482         Taking a NULL miniobject is valid, fix the case where
14483         we try to unref the NULL miniobject.
14484
14485 2006-04-28  Wim Taymans  <wim@fluendo.com>
14486
14487         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14488
14489         * gst/gstbin.c: (gst_bin_handle_message_func):
14490         Update docs.
14491         Don't leak bin refcount when a state recalc is
14492         in progress and we delay another one #339808.
14493
14494 2006-04-28  Wim Taymans  <wim@fluendo.com>
14495
14496         * docs/design/part-TODO.txt:
14497         Mention QoS as an ongoing work item.
14498
14499         * docs/design/part-buffering.txt:
14500         New doc about buffering that needs to be fleshed out
14501         at some point.
14502
14503         * docs/design/part-qos.txt:
14504         More QoS policy for decoders/demuxers/transforms
14505
14506         * docs/design/part-trickmodes.txt:
14507         Small update.
14508
14509 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14510
14511         * configure.ac:
14512           back to HEAD
14513
14514 === release 0.10.5 ===
14515
14516 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
14517
14518         * configure.ac:
14519           releasing 0.10.5, "Fogo"
14520
14521 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14522
14523         patch by: Wim Taymans
14524
14525         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
14526         (gst_pad_configure_src), (gst_pad_push):
14527         * gst/gstpipeline.c: (gst_pipeline_init):
14528           Fix internal data flow errors.  Fixes #338711.
14529
14530 2006-04-12  Wim Taymans  <wim@fluendo.com>
14531
14532         * tests/check/gst/gstelement.c: (GST_START_TEST):
14533         Don't leak the factory.
14534
14535 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14536
14537         * configure.ac:
14538         * win32/common/config.h:
14539           prerelease
14540
14541 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
14542
14543         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
14544         (gst_controller_unset_all):
14545           Free allocated GstTimedValues when freeing list nodes.
14546           Should fix leaks 'make check-valgrind' complains about.
14547
14548         * win32/common/libgstcontroller.def:
14549           Add gst_controller_unset_all.
14550
14551 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
14552
14553         * docs/libs/gstreamer-libs-sections.txt:
14554         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
14555         (gst_controller_unset_all):
14556         * libs/gst/controller/gstcontroller.h:
14557         API: Added new method gst_controller_unset_all()
14558         fixed gst_controller_unset()
14559         * tests/check/libs/controller.c: (GST_START_TEST),
14560         (gst_controller_suite):
14561         Added two testcases for new and fixed method
14562
14563 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
14564
14565         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
14566           MSG_DONTWAIT is not defined on Cygwin, so work
14567           around that (fixes #317048).
14568           
14569 2006-04-11  Wim Taymans  <wim@fluendo.com>
14570
14571         * gst/gstelementfactory.c: (gst_element_register),
14572         (gst_element_factory_create), (gst_element_factory_make):
14573         Some cleanups.
14574         Fixed a FIXME.
14575         Updated docs (Fixes #131079)
14576
14577         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14578         Small cleanups.
14579
14580         * tests/check/gst/gstelement.c: (GST_START_TEST),
14581         (gst_element_suite):
14582         Added testcase for elementfactory class field.
14583
14584 2006-04-10  Wim Taymans  <wim@fluendo.com>
14585
14586         * gst/gstsegment.c:
14587         Added some more docs.
14588
14589         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
14590         (gst_base_sink_reset_qos):
14591         Calculate more accurate rate values.
14592
14593 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
14594
14595         * gst/gst_private.h:
14596           add a new #ifdef to use __declspec(dllimport) only for
14597           other modules and not for gstreamer core
14598         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
14599           use gst_guint64_to_gdouble for conversion
14600         * win32/common/libgstreamer.def:
14601           add new exported functions
14602         * win32/vs6/gst_inspect.dsp:
14603         * win32/vs6/gst_launch.dsp:
14604         * win32/vs6/libgstbase.dsp:
14605         * win32/vs6/libgstcontroller.dsp:
14606         * win32/vs6/libgstcoreelements.dsp:
14607         * win32/vs6/libgstdataprotocol.dsp:
14608         * win32/vs6/libgstnet.dsp:
14609           update project files
14610
14611 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
14612
14613         * gst/gstbuffer.c: (gst_subbuffer_class_init):
14614         * gst/gstclock.c: (gst_clock_class_init):
14615         * gst/gstelement.c: (gst_element_class_init):
14616         * gst/gstindex.c: (gst_index_class_init):
14617         * gst/gstindexfactory.c: (gst_index_factory_class_init):
14618         * gst/gstobject.c: (gst_object_class_init),
14619         (gst_signal_object_class_init):
14620         * gst/gstpad.c: (gst_pad_class_init):
14621         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
14622         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
14623         * gst/gstregistry.c: (gst_registry_class_init):
14624         * gst/gstsystemclock.c: (gst_system_clock_class_init):
14625         * gst/gsttask.c: (gst_task_class_init):
14626         * gst/gstxml.c: (gst_xml_class_init):
14627         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14628         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14629         (gst_base_src_loop):
14630         * libs/gst/controller/gstcontroller.c:/
14631         (_gst_controller_class_init):
14632         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14633         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
14634         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
14635         * tests/old/examples/plugins/example.c: (gst_example_class_init):
14636         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14637         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
14638
14639 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
14640
14641         * gst/gstpad.c: (gst_pad_link):
14642           Must set peer pads before calling the link function, otherwise
14643           a task started from a link function might get a flow-not-linked
14644           result when trying to push because the other thread where the
14645           linking happens hasn't had a chance to set the peers yet. This
14646           might happen for example when a queue gets linked to a downstream
14647           element, as queue starts a streaming task when its source pad
14648           gets linked. Happens in real life when playing back flac/musepack
14649           files in playbin (#332390).
14650           
14651 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
14652
14653         * gst/gstindex.h:
14654         * gst/gstxml.h:
14655         * libs/gst/base/gstadapter.h:
14656         * libs/gst/base/gstbasesink.h:
14657         * libs/gst/base/gstbasesrc.h:
14658         * libs/gst/base/gstbasetransform.h:
14659         * libs/gst/base/gstcollectpads.h:
14660         * libs/gst/base/gstpushsrc.h:
14661         Fix broken GObject macros
14662
14663 2006-04-07  Wim Taymans  <wim@fluendo.com>
14664
14665         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14666         Initialize start and stop times, thanks valgrind.
14667
14668 2006-04-07  Wim Taymans  <wim@fluendo.com>
14669
14670         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14671         Be a bit nicer to badly behaving upstream elements that expect
14672         us to deal with non TIME segments and timestamps (such as fakesrc
14673         in the testsuite).
14674
14675 2006-04-07  Wim Taymans  <wim@fluendo.com>
14676
14677         * gst/gstbus.c:
14678         Small documentation clarification about the signal watch.
14679
14680         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
14681         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
14682         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14683         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
14684         (gst_base_sink_get_position_last),
14685         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
14686         Convert and store timestamps in stream time and running time, the
14687         raw timestamps are not useful, also document this better.
14688         Use different window sizes for good and bad QoS observations so
14689         we react to badness a little quicker.
14690         Keep track of the amount of rendered and dropped buffers.
14691         Send QoS timestamps in running time.
14692
14693         * libs/gst/base/gstbasetransform.c:
14694         (gst_base_transform_sink_eventfunc),
14695         (gst_base_transform_handle_buffer):
14696         Compare QoS timestamps against running time.
14697
14698 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
14699
14700         * gst/gstpad.c:
14701           Typo fixes in docs.
14702
14703 2006-04-06  Michael Smith  <msmith@fluendo.com>
14704
14705         * gst/gstpad.c: (gst_pad_set_property):
14706           Use g_value_get_object() instead of g_value_dup_gst_object(),
14707           to avoid double-reffing the pad template (which we then sink,
14708           so this worked previously if (and only if) the pad template
14709           was floating.
14710
14711         * gst/gstpadtemplate.c: (gst_pad_template_init),
14712         (gst_pad_template_pad_created):
14713           Never return floating references to pad templates, create
14714           them as initially-sunken.
14715
14716           Document an extra function (and make this stop sinking our
14717           pad template, since that is now guaranteed to do nothing,
14718           since we created it sunken).
14719
14720         * gst/gstghostpad.c:
14721           Fix docs typo.
14722
14723 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
14724
14725         * gst/gstinfo.c: (__gst_in_valgrind):
14726           Add some newlines.
14727
14728         * plugins/elements/gsttypefindelement.c:
14729         (gst_type_find_element_chain):
14730           Don't leak buffer caps.
14731
14732 2006-04-06  Michael Smith  <msmith@fluendo.com>
14733
14734         * gst/parse/grammar.y:
14735           Fix a leak in parse-launch for any source-or-sink named element 
14736           references used.
14737
14738         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
14739           Unref the pipeline if it exists after we've failed parsing.
14740
14741 2006-04-05  Michael Smith  <msmith@fluendo.com>
14742
14743         * gst/gstpipeline.c: (gst_pipeline_init):
14744           When we create a pipeline bus, initially create it in flushing mode.
14745           Fixes leaks in at least one test, and makes a new pipeline work the
14746           same as one that has gone to READY and then back to NULL.
14747
14748         * gst/gstelement.c:
14749           Typo fix in docs.
14750
14751 2006-04-05  Michael Smith  <msmith@fluendo.com>
14752
14753         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14754           Unref a pad we reffed.
14755         * tests/check/gst/gstutils.c: (GST_START_TEST):
14756           Unref bins
14757
14758 2006-04-05  Michael Smith  <msmith@fluendo.com>
14759
14760         * gst/gstquery.c: (gst_query_set_formats),
14761         (gst_query_set_formatsv):
14762           Fix leaking GValues in queries, as shown by valgrind/testsuite.
14763
14764 2006-04-05  Michael Smith  <msmith@fluendo.com>
14765
14766         * tests/check/generic/sinks.c: (GST_START_TEST):
14767           Fix a variety of memleaks in sinks check, which are only sometimes 
14768           shown by running the tests under valgrind (weird?).
14769
14770 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
14771
14772         * docs/version.entities.in:
14773           Fix the substituted entity name after thomas' changes on the
14774           weekend.
14775
14776 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14777
14778         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
14779         VALGRIND_PRINTF
14780         
14781 2006-04-05  Andy Wingo  <wingo@pobox.com>
14782
14783         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
14784
14785         * libs/gst/base/gstbasetransform.c
14786         (gst_base_transform_sink_eventfunc): When resetting our segment on
14787         FLUSH_STOP, also update the flag saying we haven't seen a
14788         newsegment.
14789
14790 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14791
14792         Patch by: Paolo Borelli  <pborelli at katamail dot com>
14793
14794         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
14795         (gst_plugin_check_license):
14796           minor clean-ups: G_DEFINE_TYPE already takes care of the
14797           parent_class stuff, no need to do it twice. Mark array of
14798           license strings as constant. (#337103)
14799           
14800 2006-04-04  Michael Smith  <msmith@fluendo.com>
14801
14802         * tools/gst-inspect.c: (print_element_list):
14803           Free the right plugin list; fixes a memory leak.
14804
14805 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14806
14807         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
14808
14809         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
14810           Don't error out on empty buffers (#336945).
14811           
14812 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
14813
14814         * docs/libs/gstreamer-libs-sections.txt:
14815         * gst/gsttaglist.c:
14816         * libs/gst/base/gstbasesink.c:
14817         * libs/gst/base/gstbasesink.h:
14818         * libs/gst/base/gstbasesrc.c:
14819         * libs/gst/base/gstbasesrc.h:
14820           Documentation updates. Make BaseSink and BaseSrc docs contain the
14821           class structure so that people can actually see the prototypes for
14822           virtual functions they're supposed to be overriding.
14823
14824 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14825
14826         * plugins/elements/gsttypefindelement.c:
14827         (gst_type_find_element_chain):
14828           More debug info; when skipping typefinding, send cached
14829           events in all cases.
14830
14831 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14832
14833         * configure.ac:
14834           use new AS_VERSION and AS_NANO macros
14835         * gst/gst-i18n-lib.h:
14836         * gst/gst.c:
14837         * gst/gsterror.c:
14838         * gst/gstversion.h.in:
14839         * win32/common/config.h:
14840         * win32/common/config.h.in:
14841           update accordingly
14842
14843 2006-03-31  Michael Smith  <msmith@fluendo.com>
14844
14845         * plugins/elements/gsttypefindelement.c:
14846         (gst_type_find_element_chain):
14847           Do not typefind content if the buffers already have caps.
14848           Neccesary for icydemux (#333657), and the right thing to do anyway.
14849
14850 2006-03-30  Wim Taymans  <wim@fluendo.com>
14851
14852         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14853         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
14854         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
14855         (gst_base_sink_record_qos_observation),
14856         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14857         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
14858         (gst_base_sink_change_state):
14859         More QoS measurements as described in the design doc.
14860         Get rid of ringbuffer with observations, running average is
14861         more simple and equally good.
14862         Calculates valid proportion now.
14863         Added beginning of flood measurement.
14864
14865 2006-03-29  Wim Taymans  <wim@fluendo.com>
14866
14867         * docs/design/part-qos.txt:
14868         * gst/gstclock.c:
14869         Small documentation updates and additions.
14870
14871 2006-03-29  Wim Taymans  <wim@fluendo.com>
14872
14873         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
14874         (gst_base_src_send_event), (gst_base_src_loop),
14875         (gst_base_src_change_state):
14876         Perform the EOS logic when we reach the segment stop position.
14877         Fix compilation on gcc4.1
14878
14879 2006-03-29  Wim Taymans  <wim@fluendo.com>
14880
14881         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
14882
14883         * plugins/elements/gstqueue.c: (gst_queue_init),
14884         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14885         (gst_queue_set_property):
14886         * plugins/elements/gstqueue.h:
14887         In queue, when EOS is received, if minimum threshold > max_size -
14888         current_level, there is chance that queue blocks forever in conditional
14889         item del wait. This is because the queue is not emptied completely due
14890         to minimum threshold.  Here is another approach. Instead of setting
14891         cur_levels to max in EOS, just zero all minimum threshold levels. This
14892         should make sure that queue gives out all data. When going to READY
14893         (stop) state, just reset the original minimum threshold levels.
14894         Fixes #336336.
14895
14896 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
14897
14898         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
14899         (gst_type_find_element_handle_event),
14900         (gst_type_find_element_send_cached_events),
14901         (gst_type_find_element_change_state):
14902         * plugins/elements/gsttypefindelement.h:
14903           When typefinding is done in push mode, we should cache
14904           events we receive during typefinding instead of just
14905           dropping them (e.g. newsegment, custom events from
14906           dvdreadsrc etc.) and then send them out once we've
14907           determined the type of the stream (and decodebin
14908           has had a chance to plug in a decoder/demuxer).
14909           
14910 2006-03-27  Wim Taymans  <wim@fluendo.com>
14911
14912         * docs/design/part-qos.txt:
14913         First QoS ideas.
14914
14915 2006-03-27  Wim Taymans  <wim@fluendo.com>
14916
14917         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
14918
14919         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
14920         (gst_base_src_send_event), (gst_base_src_change_state):
14921         Handle element seek correctly when we are streaming.
14922         Fixes #326998.
14923
14924 2006-03-24  Michael Smith  <msmith@fluendo.com>
14925
14926         * docs/faq/gst-uninstalled:
14927           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
14928           allow you to correctly run intalled applications built against old 
14929           core, using plugins that require updated core (e.g. running
14930           installed totem against a full uninstalled gstreamer stack)
14931
14932 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14933
14934         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
14935         more debug details
14936
14937 2006-03-24  Wim Taymans  <wim@fluendo.com>
14938
14939         * docs/gst/gstreamer-sections.txt:
14940         Rearrange the order of the methods so that related methods
14941         are grouped together in sections.
14942
14943 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14944
14945         * gst/gstelement.c:
14946           Little clarification in the docs
14947
14948 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14949
14950         * docs/README:
14951         formatting fix
14952         * plugins/elements/gstidentity.c:
14953         * plugins/elements/gstqueue.c:
14954         * plugins/elements/gsttee.c:
14955         * plugins/elements/gsttypefindelement.c:
14956         GST_ELEMENT_DETAILS formatting
14957
14958 2006-03-24  Wim Taymans  <wim@fluendo.com>
14959
14960         * libs/gst/base/gstbasesink.h:
14961         Only add fields, not insert or we break ABI.
14962
14963 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14964
14965         * win32/common/libgstbase.def:
14966         * win32/common/libgstreamer.def:
14967           Update, add recently added functions.
14968
14969 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14970
14971         * docs/gst/gstreamer-sections.txt:
14972         * gst/gstutils.c: (gst_pad_query_peer_position),
14973         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
14974         * gst/gstutils.h:
14975           API: add some new utility functions:
14976            - gst_pad_query_peer_position()
14977            - gst_pad_query_peer_duration()
14978            - gst_pad_query_peer_convert()
14979           
14980 2006-03-23  Wim Taymans  <wim@fluendo.com>
14981
14982         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14983         (gst_base_sink_init), (gst_base_sink_finalize),
14984         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
14985         (gst_base_sink_set_property), (gst_base_sink_get_property),
14986         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
14987         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
14988         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
14989         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14990         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
14991         (gst_base_sink_preroll_object), (gst_base_sink_event),
14992         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
14993         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
14994         (gst_base_sink_query), (gst_base_sink_change_state):
14995         Decouple max-lateness and the fact that QoS messages are generated
14996         with a new property (qos).
14997         added API: GstBaseSink::async_play()
14998         Add vmethod so subclasses can be notified of ASYNC playing
14999         state changes.
15000         Collect timestamp start and stop to report better current
15001         position in EOS/PLAYING/PAUSED/READY/NULL.
15002         Refactor QoS/frame dropping and other measurements.
15003         API: GstBaseSrc::qos
15004         Fixes #326311
15005
15006         * libs/gst/base/gstbasesink.h:
15007         Added Private struct.
15008         API: gst_base_sink_set_qos_enabled()
15009         API: gst_base_sink_is_qos_enabled()
15010
15011 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15012
15013         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15014           If compiling against GLib-2.8 or newer, try to read the
15015           registry file using GMappedFile first before falling back
15016           to fopen() + fread() (#332151).
15017
15018 2006-03-22  Wim Taymans  <wim@fluendo.com>
15019
15020         * gst/gstinfo.c: (gst_debug_set_active),
15021         (gst_debug_category_set_threshold):
15022         Disable debugging unless explicitly activated.
15023         Fixes #335480.
15024
15025 2006-03-22  Wim Taymans  <wim@fluendo.com>
15026
15027         * gst/gstelement.c: (gst_element_set_locked_state),
15028         (gst_element_dispose):
15029         Cleanup the error case.
15030
15031         * gst/gstobject.c: (gst_object_dispose):
15032         print a critical when some object was disposed with
15033         a parent, also revive the object since it might
15034         crash the parent.
15035
15036 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
15037
15038         * tools/gst-launch.1.in:
15039           Fix another typo.
15040
15041 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15042
15043         * configure.ac:
15044         * tests/check/Makefile.am:
15045           disable some tests when we don't have a registry
15046         * tests/check/gst/gstutils.c: (gst_utils_suite):
15047           don't build the part that needs parsing
15048
15049 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15050
15051         * gst/Makefile.am
15052         * tests/examples/Makefile.am:
15053           fix --disable-parse build
15054
15055 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15056
15057         * tools/gst-feedback.1.in:
15058           Fix typo: s/feeback/feedback/ (#133494).
15059
15060 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15061
15062         * tools/Makefile.am:
15063         * tools/gst-launch.1.in:
15064           Add FILES section and correct entry about GST_REGISTRY_PATH
15065           environment variable (#133495; #133494).
15066
15067 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15068
15069         * tools/Makefile.am:
15070         * tools/gst-md5sum.1.in:
15071         * tools/gst-md5sum.c:
15072           Remove gst-md5sum and man page (the md5sink element
15073           required was removed ages ago)
15074
15075 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15076
15077         * gst/gststructure.c: (gst_structure_id_set_value):
15078           Make sure that string fields in structures/taglists
15079           contain valid UTF-8 - we don't want to pass rubbish to
15080           applications because of a buggy plugin (cp. #334167).
15081
15082 2006-03-21  Edward Hervey  <edward@fluendo.com>
15083
15084         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15085         (gst_bin_handle_message_func):
15086         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
15087         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
15088         (gst_element_set_bus_func):
15089         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
15090         * gst/gstminiobject.c: (gst_value_set_mini_object),
15091         (gst_value_take_mini_object):
15092         * gst/gstpad.c: (gst_pad_set_pad_template):
15093         * gst/gstpipeline.c: (gst_pipeline_dispose),
15094         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
15095         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
15096         (gst_collect_pads_chain):
15097         * libs/gst/net/gstnettimeprovider.c:
15098         (gst_net_time_provider_set_property):
15099         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
15100         It's in fact all issues with gst_*object_replace().
15101
15102 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15103
15104         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
15105         
15106         * pkgconfig/gstreamer-check-uninstalled.pc.in:
15107         * pkgconfig/gstreamer-check.pc.in:
15108           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
15109
15110 2006-03-21  Edward Hervey  <edward@fluendo.com>
15111
15112         * gst/gstbuffer.h:
15113         * gst/gstevent.h:
15114         * gst/gstmessage.h:
15115         gst_[buffer|event|message]_ref() macros are replaced by a static
15116         inline functions because gcc-4.1 will about if the return value
15117         isn't used.
15118         * tests/check/gst/gstevent.c: (event_probe):
15119         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
15120
15121 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
15122
15123         * gst/gstutils.h:
15124         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
15125         the type' case. (Closes: #335195 for now). In the future, when we
15126         depend on GLib 2.10, we could also intern the type name using
15127         g_intern_static_string()
15128
15129 2006-03-20  Wim Taymans  <wim@fluendo.com>
15130
15131         * gst/gstbin.c: (gst_bin_handle_message_func),
15132         (bin_query_max_init), (bin_query_position_fold),
15133         (bin_query_position_done), (gst_bin_query):
15134         Position query should also take max of all streams.
15135
15136 2006-03-20  Wim Taymans  <wim@fluendo.com>
15137
15138         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15139         (gst_fake_src_finalize):
15140         Fix leaks in fakesrc.
15141
15142         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
15143         Fix leaks in the testcase.
15144
15145 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
15146
15147         * gst/gst_private.h:
15148           add win32 specific import decoration(__declspec(dllimport)) 
15149           for all extern GstDebugCategory * variables
15150         * win32/common/libgstbase.def:
15151         * win32/common/libgstcontroller.def:
15152         * win32/common/libgstreamer.def:
15153           Add some exports, remove empty lines
15154         * win32/common/libgstdataprotocol.def:
15155         * win32/common/libgstdataprotocol.dsp:
15156         * win32/common/libgstnet.def:
15157         * win32/common/libgstnet.dsp:
15158           new project files and exportation files added
15159         
15160 2006-03-19  Wim Taymans  <wim@fluendo.com>
15161
15162         * tests/check/libs/basesrc.c: (eos_event_counter):
15163         Use proper return value for probe.
15164
15165 2006-03-17  Wim Taymans  <wim@fluendo.com>
15166
15167         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
15168         (gst_pad_push):
15169         Don't leak buffers, caps and pads on negotiation errors.
15170
15171 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
15172
15173         * docs/faq/cvs.xml:
15174         * docs/faq/dependencies.xml:
15175         * docs/faq/developing.xml:
15176         * docs/faq/faq.xml:
15177         * docs/faq/general.xml:
15178         * docs/faq/getting.xml:
15179         * docs/faq/legal.xml:
15180         * docs/faq/troubleshooting.xml:
15181         * docs/faq/using.xml:
15182         Faq review and update.
15183
15184 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
15185
15186         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
15187         (gst_pad_push):
15188         Don't pound the cpu to pieces by checking get_caps when accept_caps
15189         is called with the same caps as the pad already has.
15190         Use GST_DEBUG_OBJECT when outputting caps change information.
15191
15192 2006-03-15  Wim Taymans  <wim@fluendo.com>
15193
15194         * gst/gstclock.c: (gst_clock_class_init):
15195         Fix docs.
15196
15197 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
15198
15199         * gst/gstbuffer.h:
15200         Documentation fix.
15201
15202         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
15203         (gst_pad_accept_caps), (gst_pad_configure_sink),
15204         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
15205         Make the default acceptcaps behaviour be to check the requested 
15206         caps against the gst_pad_get_caps output. 
15207
15208         Ensure that gst_pad_accept_caps is used to check caps when a pad
15209         doesn't have a setcaps function, so that pads automatically refuse 
15210         caps that they don't allow in their pad template. (Fixes #332986)
15211
15212         When a buffer with attached caps is pushed, ensure that the source 
15213         pad receives those caps even if the element didn't call
15214         gst_pad_set_caps first.
15215
15216 2006-03-15  Wim Taymans  <wim@fluendo.com>
15217
15218         * libs/gst/base/gstadapter.c:
15219         Add some docs.
15220
15221 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
15222
15223         * win32/common/libgstbase.def:
15224         * win32/common/libgstcontroller.def:
15225         * win32/common/libgstreamer.def:
15226           Add a whole bunch of missing functions (#334434).
15227
15228 2006-03-14  Wim Taymans  <wim@fluendo.com>
15229
15230         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15231         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
15232         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
15233         Better debug info when we receive a segment event.
15234         Reorganize a bit so we can pass the get_times() results around.
15235         Use the segment format when calculating the running time.
15236         Don't do QoS is sync is disabled or we have no clock or the
15237         element does not want us to sync to the clock.
15238         Don't drop buffers if QoS is disabled for now.
15239
15240 2006-03-14  Wim Taymans  <wim@fluendo.com>
15241
15242         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
15243         Marked the stats property as unimplemented so people don't get
15244         wild ideas.
15245         Add debug message when regression goes wrong.
15246         Added some more docs.
15247
15248 2006-03-14  Wim Taymans  <wim@fluendo.com>
15249
15250         * gst/gstsegment.c: (gst_segment_to_stream_time):
15251         Return correct return type in case of errors.
15252
15253 2006-03-14  Wim Taymans  <wim@fluendo.com>
15254
15255         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
15256           Don't segfault on invalid formats.
15257
15258 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
15259
15260         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15261           Can't use gst_segment_to_running_time() when the segment
15262           is not in GST_TIME_FORMAT (like with filesink, for example).
15263           Stops flac encoding pipelines from spewing critical warnings
15264           at EOS (#331248).
15265           
15266 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
15267
15268         * gst/gstpipeline.c: (gst_pipeline_class_init):
15269           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
15270
15271         * plugins/elements/gsttypefindelement.c:
15272         (gst_type_find_element_handle_event):
15273           Don't try to typefind empty streams.
15274
15275 2006-03-14  Wim Taymans  <wim@fluendo.com>
15276
15277         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
15278         (gst_base_sink_do_qos):
15279         Separate QoS calculation.
15280         Only drop buffers when lateness is bigger than the 
15281         duration of the buffer.
15282
15283 2006-03-13  Wim Taymans  <wim@fluendo.com>
15284
15285         * gst/gstpipeline.c: (gst_pipeline_set_property),
15286         (gst_pipeline_get_property), (do_pipeline_seek),
15287         (gst_pipeline_change_state), (gst_pipeline_set_delay),
15288         (gst_pipeline_get_delay):
15289         Don't deadlock when reading properties.
15290
15291 2006-03-13  Wim Taymans  <wim@fluendo.com>
15292
15293         * libs/gst/base/gstbasetransform.c:
15294         (gst_base_transform_class_init), (gst_base_transform_init),
15295         (gst_base_transform_sink_event),
15296         (gst_base_transform_sink_eventfunc),
15297         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
15298         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
15299         (gst_base_transform_set_property),
15300         (gst_base_transform_get_property),
15301         (gst_base_transform_change_state), (gst_base_transform_update_qos),
15302         (gst_base_transform_set_qos_enabled),
15303         (gst_base_transform_is_qos_enabled):
15304         * libs/gst/base/gstbasetransform.h:
15305         Make basetransform virtual method for src events too.
15306         Handle QOS in basetransform.
15307         API: gst_base_transform_update_qos()
15308         API: gst_base_transform_set_qos_enabled()
15309         API: gst_base_transform_is_qos_enabled()
15310
15311 2006-03-13  Wim Taymans  <wim@fluendo.com>
15312
15313         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15314         (gst_base_sink_do_sync):
15315         Small cleanups.
15316         Use QOS debug category.
15317
15318 2006-03-13  Wim Taymans  <wim@fluendo.com>
15319
15320         * plugins/elements/gstqueue.c:
15321         Very small doc update.
15322
15323 2006-03-13  Wim Taymans  <wim@fluendo.com>
15324
15325         * gst/gst_private.h:
15326         * gst/gstinfo.c: (_gst_debug_init):
15327         Added QOS debug category
15328
15329 2006-03-13  Wim Taymans  <wim@fluendo.com>
15330
15331         * docs/gst/gstreamer-sections.txt:
15332         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
15333         * gst/gstbin.h:
15334         * gst/gstbus.c: (gst_bus_class_init):
15335         * gst/gstbus.h:
15336         * gst/gstclock.c:
15337         * gst/gstelement.c: (gst_element_set_locked_state):
15338         * gst/gstsegment.c:
15339         Documentation updates.
15340
15341         * gst/gstpipeline.c: (gst_pipeline_get_type),
15342         (gst_pipeline_class_init), (gst_pipeline_init),
15343         (gst_pipeline_dispose), (gst_pipeline_set_property),
15344         (gst_pipeline_get_property), (do_pipeline_seek),
15345         (gst_pipeline_send_event), (gst_pipeline_change_state),
15346         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
15347         (gst_pipeline_get_delay):
15348         * gst/gstpipeline.h:
15349         Added methods for setting the delay.
15350         API: gst_pipeline_set_delay()
15351         API: gst_pipeline_get_delay()
15352         Add pipeline debug category
15353         Various cleanups.
15354         Updated docs.
15355         Don't reset stream time when seek failed.
15356
15357 2006-03-13  Wim Taymans  <wim@fluendo.com>
15358
15359         * docs/design/draft-klass.txt:
15360         * docs/design/part-clocks.txt:
15361         * docs/design/part-events.txt:
15362         * docs/design/part-gstbin.txt:
15363         * docs/design/part-gstpipeline.txt:
15364         * docs/design/part-messages.txt:
15365         * docs/design/part-negotiation.txt:
15366         * docs/design/part-overview.txt:
15367         * docs/design/part-preroll.txt:
15368         * docs/design/part-seeking.txt:
15369         * docs/design/part-states.txt:
15370         * docs/design/part-streams.txt:
15371         Documentation updates.
15372
15373 2006-03-12  Julien MOUTTE  <julien@moutte.net>
15374
15375         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
15376         us to leak strings...
15377
15378 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15379
15380         * libs/gst/net/gstnettimeprovider.c:
15381           fix docs
15382         * win32/common/config.h:
15383           update
15384
15385 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
15386
15387         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
15388
15389         * configure.ac:
15390           Don't check for libgnomeui (leftover from old examples
15391           that aren't built or disted any longer) (#334303).
15392           
15393 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
15394
15395         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
15396         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15397           Emit RESOURCE_NO_SPACE_LEFT error here as well when
15398           there's no space left on the device.
15399
15400 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
15401
15402         * gst/gstclock.h:
15403           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
15404           to cast the input to GstClockTime before comparing with
15405           another GstClockTime value.
15406
15407 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15408
15409         * configure.ac:
15410           back to trunk
15411
15412 === release 0.10.4 ===
15413
15414 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
15415
15416         * configure.ac:
15417           releasing 0.10.4, "Light"
15418
15419 2006-03-10  Michael Smith  <msmith@fluendo.com>
15420
15421         * libs/gst/dataprotocol/dataprotocol.c:
15422           Fix docs for dataprocotol to not get the return types completely
15423           wrong for a few functions.
15424
15425 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
15426
15427         * docs/gst/gstreamer-sections.txt:
15428         * gst/gstpipeline.c: (gst_pipeline_class_init),
15429         (gst_pipeline_init), (gst_pipeline_set_property),
15430         (gst_pipeline_get_property), (gst_pipeline_change_state),
15431         (gst_pipeline_set_auto_flush_bus),
15432         (gst_pipeline_get_auto_flush_bus):
15433         * gst/gstpipeline.h:
15434           Add new API: gst_pipeline_set_auto_flush_bus() and
15435           gst_pipeline_get_auto_flush_bus() to disable automatic
15436           flushing of the pipeline's GstBus when going from READY
15437           to NULL state (#332045).
15438
15439 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
15440
15441         * docs/gst/gstreamer-sections.txt:
15442         * gst/gsturi.c: (gst_uri_has_protocol):
15443         * gst/gsturi.h:
15444            Add new API: gst_uri_has_protocol() (#333779).
15445
15446 2006-03-09  Wim Taymans  <wim@fluendo.com>
15447
15448         * gst/gstclock.c: (gst_clock_entry_new),
15449         (gst_clock_id_compare_func), (gst_clock_id_wait),
15450         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
15451         (gst_clock_init), (gst_clock_get_internal_time),
15452         (gst_clock_set_master), (do_linear_regression),
15453         (gst_clock_add_observation), (gst_clock_set_property):
15454         * gst/gstclock.h:
15455         Review docs.
15456         Small cleanups.
15457         Fix a possible segfault when the window-size is made smaller.
15458         Calculate jitter before performing the clock wait. Ideally
15459         the clock implementation should calculate jitter but we need
15460         API breakage for that.
15461
15462         * gst/gstsystemclock.c: (gst_system_clock_init):
15463         Docs review.
15464         
15465         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15466         Remove leftover else
15467
15468         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
15469         (gst_systemclock_suite):
15470         Added check to test GST_CLOCK_DIFF.
15471
15472 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
15473
15474         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
15475         (gst_type_find_helper_get_range):
15476           If we are provided with the size, we should implement
15477           GstTypeFind::get_length, so that typefind functions who
15478           want to can actually peek at the middle of a file.
15479
15480 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
15481
15482         * docs/manual/advanced-dataaccess.xml:
15483           Add some very very basic error checking.
15484
15485         * docs/pwg/appendix-checklist.xml:
15486           Some updates to the list of things to check when writing an element.
15487
15488 2006-03-08  Wim Taymans  <wim@fluendo.com>
15489
15490         * docs/design/part-element-transform.txt:
15491         Added some docs about the design of tranform elements.
15492
15493         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15494         (gst_base_src_loop), (gst_base_src_change_state):
15495         Mark buffers with the DISCONT flag.
15496
15497 2006-03-08  Michael Smith  <msmith@fluendo.com>
15498
15499         * gst/gstregistry.h:
15500         * gst/gstregistryxml.c: (gst_registry_save),
15501         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
15502         (gst_registry_xml_save_pad_template),
15503         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
15504         (gst_registry_xml_write_cache):
15505           Rewrite registry-saving to avoid race conditions and check for
15506           failed writes.
15507
15508 2006-03-08  Wim Taymans  <wim@fluendo.com>
15509
15510         * libs/gst/base/gstbasetransform.c:
15511         (gst_base_transform_transform_caps),
15512         (gst_base_transform_transform_size),
15513         (gst_base_transform_prepare_output_buffer),
15514         (gst_base_transform_get_unit_size),
15515         (gst_base_transform_buffer_alloc),
15516         (gst_base_transform_handle_buffer),
15517         (gst_base_transform_change_state):
15518         Cleanups, separate normal flow from errors, add sensible
15519         DEBUG lines.
15520         Don't try to renegotiate when allocating an output buffer.
15521         Also copy DISCONT buffer flag when copying a buffer.
15522         Reset the transform after we finish streaming, not during.
15523
15524 2006-03-08  Wim Taymans  <wim@fluendo.com>
15525
15526         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15527         Use last buffer timestamp in qos message.
15528
15529 2006-03-07  Wim Taymans  <wim@fluendo.com>
15530
15531         Patch by: Christophe Fergeau
15532
15533         * docs/pwg/advanced-tagging.xml:
15534         * docs/pwg/building-pads.xml:
15535           fixes #333416
15536
15537 2006-03-07  Wim Taymans  <wim@fluendo.com>
15538
15539         * docs/libs/gstreamer-libs-sections.txt:
15540         Added basesink new methods.
15541
15542         * gst/gstevent.c:
15543         * gst/gstevent.h:
15544         Docs updates. Flesh out the QoS docs.
15545
15546         * libs/gst/base/gstadapter.c:
15547         Small doc clarification about ownership and flushing.
15548
15549         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
15550         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
15551         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
15552         (gst_base_sink_get_property), (gst_base_sink_do_sync):
15553         * libs/gst/base/gstbasesink.h:
15554         API additions: 
15555         Added new methods to allow subclass to control max-lateness 
15556         and sync.
15557         Generate very basic QoS events based on last sync observation.
15558         Updated docs, fix typo, added some QoS blurb.
15559
15560         * libs/gst/base/gstbasesrc.c:
15561         Remove obsolete _get_state() calls from docs.
15562
15563 2006-03-07  Wim Taymans  <wim@fluendo.com>
15564
15565         * docs/libs/gstreamer-libs-sections.txt:
15566         * libs/gst/base/gstbasetransform.h:
15567         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
15568         Fix docs for GstBaseSrc.
15569
15570 2006-03-07  Wim Taymans  <wim@fluendo.com>
15571
15572         * docs/gst/gstreamer-sections.txt:
15573         * gst/gstbuffer.h:
15574         * gst/gstvalue.c:
15575         * libs/gst/base/gstbasetransform.h:
15576         Small documentation fixes.
15577
15578 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
15579
15580         * gst/gstvalue.c:
15581           Document thread-unsafety of gst_value_register_foo_func()
15582           when used at the same time as gst_value_foo() (#322628).
15583
15584 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
15585
15586         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
15587         (gst_push_src_check_get_range):
15588           Push sources don't support pull mode by default.
15589
15590 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
15591
15592         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15593         (gst_base_src_init), (gst_base_src_pad_check_get_range),
15594         (gst_base_src_default_check_get_range):
15595         * libs/gst/base/gstbasesrc.h:
15596           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
15597           provide default implementation, and rename
15598           gst_base_src_check_get_range() to
15599           gst_base_src_pad_check_get_range() for clarity.
15600
15601 2006-03-06  Wim Taymans  <wim@fluendo.com>
15602
15603         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15604         Make property overridable.
15605
15606 2006-03-06  Wim Taymans  <wim@fluendo.com>
15607
15608         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15609         (gst_base_sink_init), (gst_base_sink_set_property),
15610         (gst_base_sink_get_property), (gst_base_sink_do_sync):
15611         * libs/gst/base/gstbasesink.h:
15612         API addition: Make max-lateness a property.
15613
15614 2006-03-06  Wim Taymans  <wim@fluendo.com>
15615
15616         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
15617         (gst_base_sink_do_sync), (gst_base_sink_render_object):
15618         Don't ever draw a frame that is >10ms late.
15619
15620 2006-03-06  Michael Smith  <msmith@fluendo.com>
15621
15622         * gst/gstmessage.c: (_gst_message_copy):
15623           When copying a message, set the parent_refcount of the enclosed
15624           structure to point at the copy, not the original message.
15625
15626 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
15627
15628         Patch by: Christophe Fergeau
15629
15630         * gst/gstutils.h:
15631           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
15632           usable in c++ code (#333417)
15633
15634 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15635
15636         * gst/gstclock.h:
15637           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
15638
15639 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
15640
15641         * libs/gst/base/gstbasetransform.c:
15642         (gst_base_transform_transform_caps):
15643           Make sure caps are writable before passing them to
15644           gst_caps_append().
15645
15646 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
15647
15648         * gst/gsterror.h:
15649           Fix some minor docs errors.
15650
15651 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
15652
15653           Patch by: Ross Burton <ross at burtonini dot com>
15654
15655         * gst/gsterror.c: (_gst_resource_errors_init):
15656         * gst/gsterror.h:
15657           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
15658
15659 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
15660
15661         * gst/gst.c:
15662         Add a check and output a g_warning when GStreamer is built
15663         against GLib 2.6 but running against 2.8 or higher, and vice 
15664         versa. (Closes: #323542)
15665
15666 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
15667
15668         * gst/parse/parse.l:
15669           Commit patch for parse_launch syntax from #331255. Removes 
15670           support for quoted strings and mimetypes when writing filtered 
15671           caps. See the bug report for more details - I'm pretty sure this
15672           obscure feature is not in use by _anyone_ anywhere.
15673
15674           With this simple change, the size of the gstreamer.so here 
15675           drops from 2193KB to 1565KB.
15676
15677 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15678
15679         * plugins/elements/gsttypefindelement.h:
15680         * plugins/elements/gsttypefindelement.c:
15681         (gst_type_find_element_src_event), (start_typefinding),
15682         (stop_typefinding), (gst_type_find_element_handle_event),
15683         (gst_type_find_element_chain),
15684         (gst_type_find_element_chain_do_typefinding):
15685           Use gst_type_find_helper_for_buffer() for chain-based
15686           typefinding.
15687
15688 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15689
15690         * plugins/elements/gsttypefindelement.c:
15691         (gst_type_find_element_class_init),
15692         (gst_type_find_element_set_property),
15693         (gst_type_find_element_get_property):
15694           Deprecate "maximum" property (not only was it only taken into
15695           account for typefinding in push-mode anyway, it also was never
15696           actually possible to set it in the first place because the
15697           property was registered with the numeric property ID for the
15698           "minimum" property). Register "maximum" property correctly,
15699           for the sake of future copy'n'pasters. Remove some cruft
15700           from property get/set functions.
15701
15702 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15703
15704         * plugins/elements/gsttypefindelement.c:
15705         (gst_type_find_element_activate):
15706           Use gst_type_find_helper_get_range() here, so we
15707           can honour the "minimum" property and also emit
15708           the signal with the correct probability of the found caps.
15709
15710 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
15711
15712         * docs/libs/gstreamer-libs-sections.txt:
15713         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
15714         (helper_find_suggest), (gst_type_find_helper_get_range),
15715         (gst_type_find_helper):
15716         * libs/gst/base/gsttypefindhelper.h:
15717           New API: gst_type_find_helper_get_range() (#333042).
15718
15719 2006-03-02  Michael Smith  <msmith@fluendo.com>
15720
15721         * gst/gstregistryxml.c: (load_feature):
15722           Asserting on a failure to read part of the registry is Not Cool.
15723           Just log a warning and return NULL (which is already handled)
15724
15725 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
15726
15727         * win32/common/libgstbase.def:
15728           added export of gst_type_find_helper_for_buffer
15729         * win32/common/libgstbase.def:
15730           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
15731           gst_ghost_pad_get_target
15732
15733 2006-02-28  Wim Taymans  <wim@fluendo.com>
15734
15735         * docs/design/draft-klass.txt:
15736         We use Filter now.
15737         Added Connector to mark elements that are only used to
15738         allow pipeline connections.
15739         Moved Debug to extra feature since most of them are 
15740         functionally something else.
15741
15742 2006-02-28  Wim Taymans  <wim@fluendo.com>
15743
15744         * docs/design/draft-klass.txt:
15745         Some updates and clarifications.
15746
15747 2006-02-28  Wim Taymans  <wim@fluendo.com>
15748
15749         * docs/design/draft-klass.txt:
15750         Proposal for klass field values.
15751
15752         * docs/design/part-streams.txt:
15753         Start of a doc describing stream anatomy.
15754
15755 2006-02-28  Wim Taymans  <wim@fluendo.com>
15756
15757         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
15758         Help the compiler a bit with type registration.
15759         Use existing forward cod path instead of duplicating it when 
15760         handling a message.
15761         
15762         * gst/gstbus.c: (gst_bus_get_type):
15763         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
15764         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
15765         * gst/gstclock.c: (gst_clock_get_type):
15766         * gst/gstelement.c: (gst_element_get_type),
15767         * gst/gstelementfactory.c: (gst_element_factory_get_type):
15768         * gst/gstindexfactory.c: (gst_index_factory_get_type):
15769         * gst/gstminiobject.c: (gst_mini_object_get_type):
15770         * gst/gstpad.c: (gst_pad_get_type):
15771         * gst/gstsegment.c: (gst_segment_get_type):
15772         * gst/gststructure.c: (gst_structure_get_type):
15773         * gst/gstsystemclock.c: (gst_system_clock_get_type):
15774         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
15775         * gst/gstvalue.c:
15776         Help compiler with type registration.
15777
15778         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
15779         Small doc update.
15780
15781 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15782
15783         * plugins/elements/gsttypefindelement.c:
15784         (gst_type_find_element_handle_event):
15785           When we get an EOS event and have not found a type yet
15786           (most likely because we had not yet accumulated
15787           TYPE_FIND_MIN_SIZE of data yet), try to determine the
15788           type given the data we have so far. Fixes typefinding
15789           for very short streams again, most notably quicktime
15790           redirections as used on Apple's trailer site (#331701).
15791
15792 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15793
15794         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
15795         (gst_type_find_helper):
15796           Try typefinding factories with the highest rank first.
15797
15798 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15799
15800         * docs/libs/gstreamer-libs-docs.sgml:
15801         * docs/libs/gstreamer-libs-sections.txt:
15802         * libs/gst/base/gsttypefindhelper.c:
15803           Add section for typefind helper and add documentation
15804           for the old and the new function.
15805
15806 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15807
15808         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
15809         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
15810         (gst_type_find_helper_for_buffer):
15811         * libs/gst/base/gsttypefindhelper.h:
15812           New API: gst_type_find_helper_for_buffer() (#332723).
15813           
15814 2006-02-27  Michael Smith  <msmith@fluendo.com>
15815
15816         Patch by: Loïc Minier
15817
15818         * configure.ac:
15819         * docs/Makefile.am:
15820         * docs/slides/Makefile.am:
15821           prevent CVS directories getting disted.
15822
15823 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15824
15825         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
15826           Use the REFCOUNTING category for caps refcounting.
15827           
15828 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
15829
15830         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
15831           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
15832
15833 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
15834
15835         * plugins/elements/gsttypefindelement.c:
15836         (gst_type_find_element_activate):
15837           Use gst_pad_check_pull_range() before _activate_pull()
15838           to avoid unnecessary open/close (see #331690).
15839
15840 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
15841
15842         * gst/gstutils.c:
15843           Docs enhancement: make it crystal clear what the
15844           gst_pad_add_*_probe() callbacks should look like.
15845
15846 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
15847
15848         * libs/gst/base/gstbasesrc.c:
15849           Document how applications can stop recording from
15850           live sources (see #330996).
15851
15852 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15853
15854         * tests/check/Makefile.am:
15855         * tests/check/libs/basesrc.c: (eos_event_counter),
15856         (basesrc_eos_events_pull), (basesrc_eos_events_push),
15857         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
15858         (gst_basesrc_suite), (main):
15859           ... and add some tests for the base source EOS stuff.
15860
15861 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15862
15863         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
15864           Test case originally showed the problem fixed below,
15865           but was then amended. Add checks back at the place
15866           where they used to be.
15867
15868 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15869
15870         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15871         (gst_base_src_init), (gst_base_src_loop),
15872         (gst_base_src_activate_push), (gst_base_src_activate_pull),
15873         (gst_base_src_change_state):
15874         * libs/gst/base/gstbasesrc.h:
15875           Don't unconditionally send EOS when going from PAUSED to
15876           READY state, esp. make sure we don't send two EOS events
15877           in some cases (e.g. one when reaching EOS and one when
15878           going from PAUSED to READY). Also, we don't want to send
15879           EOS events when operating in pull mode. However, we do
15880           want to send an EOS event when shutting down a live
15881           source explicitly, for example (fixes #330996).
15882           
15883 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15884
15885         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
15886           Update src->read_position after a seek when not using mmap.
15887           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
15888
15889 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
15890
15891         * gst/Makefile.am:
15892         * gst/gstparse.h:
15893         * gst/gstutils.c:
15894         * gst/gstutils.h:
15895         Make things work with --disable-parse as they do with 
15896         --disable-load-save - the symbols involved disappear, but the
15897         header is still installed and GST_DISABLE_PARSE is included via
15898         gstconfig.h
15899
15900 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15901
15902         * libs/gst/base/gstbasetransform.c:
15903         (gst_base_transform_change_state): Fix a stupid bug. I was 
15904         sure I compiled that.
15905
15906 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15907
15908         * gst/gstpad.c: (gst_pad_set_blocked_async):
15909         * gst/gstutils.c: (gst_pad_add_data_probe),
15910         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15911         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15912         (gst_pad_remove_buffer_probe): Make those function act on the
15913         ghostpad target when it's a ghostpad. (Closes #331727)
15914
15915 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15916
15917         * libs/gst/base/gstbasetransform.c:
15918         (gst_base_transform_change_state): Make basetransform reusable.
15919         (Closes #331898)
15920
15921 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
15922
15923         * docs/random/release:
15924         Move the current documentation of how to do a release to the top
15925         of the file.
15926
15927         * gst/gstbin.c: (gst_bin_class_init),
15928         (gst_bin_handle_message_func):
15929         Allow multiple state-recalculation threads. (Closes #328873)
15930
15931 2006-02-19  Julien MOUTTE  <julien@moutte.net>
15932
15933         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
15934         * gst/gstpad.c: (gst_pad_set_event_function),
15935         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
15936         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
15937         2 strings. You can't use the STR_NULL macro on that.
15938
15939 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
15940
15941         * gst/gstpad.c: (gst_pad_set_event_function),
15942         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
15943         (gst_pad_set_getcaps_function)
15944         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
15945           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
15946           So now, we can use --gst-debug-level=5 on Windows
15947         * win32/common/libgstcontroller.def:
15948           Added export of gst_controller_init
15949         * win32/vs6/libgstcontroller.dsp:
15950           Fixed Release post build configuration
15951
15952 2006-02-17  Wim Taymans  <wim@fluendo.com>
15953
15954         * tests/check/gst/gstquery.c: (GST_START_TEST):
15955         Added another check.
15956
15957 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
15958
15959         * plugins/elements/gsttypefindelement.c: (find_peek):
15960           We can do peeks at non-zero offsets, as long as they
15961           fall within the buffer we have.
15962
15963 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
15964
15965         * tests/check/Makefile.am:
15966         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
15967         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
15968         (parse_suite), (main):
15969           Add testsuite for parse launch syntax
15970
15971 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
15972
15973         * plugins/elements/gsttypefindelement.c:
15974         (gst_type_find_element_chain):
15975           When typefinding is unsuccessful in the chain function, don't
15976           error out immediately. Only error out with NO_CAPS_FOUND if
15977           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
15978           otherwise simply wait for more data so we can try typefinding
15979           again with more data later. Also, don't attempt to typefind
15980           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
15981           this should improve typefinding from network sources where the
15982           size of the first buffer can be somewhat random.
15983
15984 2006-02-14  Wim Taymans  <wim@fluendo.com>
15985
15986         * docs/gst/gstreamer-sections.txt:
15987         * gst/gstpadtemplate.c:
15988         * gst/gstpadtemplate.h:
15989         Fix padtemplate docs, fixes #328805.
15990
15991 2006-02-14  Wim Taymans  <wim@fluendo.com>
15992
15993         * tools/gst-launch.c: (main):
15994         NO_PREROLL is not an ERROR so don't send confusing messages
15995         to the user.
15996
15997 2006-02-14  Wim Taymans  <wim@fluendo.com>
15998
15999         Patch by: Torsten Schoenfeld
16000
16001         * gst/gstregistry.c: (gst_registry_get_default),
16002         (_gst_registry_cleanup):
16003         Protect default registry with lock and ref/sink it.
16004         Fixes #324818
16005
16006 2006-02-14  Wim Taymans  <wim@fluendo.com>
16007
16008         * gst/gstbuffer.c:
16009         * gst/gstquery.c: (gst_query_list_add_format),
16010         (gst_query_set_formatsv), (gst_query_parse_formats_length),
16011         (gst_query_parse_formats_nth):
16012         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16013         Docs fixes.
16014
16015 2006-02-14  Wim Taymans  <wim@fluendo.com>
16016
16017         * docs/gst/gstreamer-sections.txt:
16018         Reworked query docs.
16019
16020         * gst/gstquery.c: (gst_query_new_formats),
16021         (gst_query_list_add_format), (gst_query_set_formats),
16022         (gst_query_set_formatsv), (gst_query_parse_formats_length),
16023         (gst_query_parse_formats_nth):
16024         * gst/gstquery.h:
16025         Flesh out formats query, added some new methods.
16026         Fix part of #324398.
16027
16028         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
16029         Added query creation tests.
16030
16031 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
16032
16033         * gst/gstpad.c: (fixate_value):
16034         Add a default fixation for fraction lists.
16035
16036 2006-02-13  Wim Taymans  <wim@fluendo.com>
16037
16038         * gst/gsttask.c: (gst_task_init), (gst_task_func),
16039         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
16040         (gst_task_join):
16041         * gst/gsttask.h:
16042         Detect and warn for obvious deadlocks. fixes #320340
16043         Fix error case where lock was not released.
16044
16045         * tests/check/Makefile.am:
16046         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
16047         (task_func), (gst_element_suite), (main):
16048         Add task check.
16049
16050 2006-02-13  Wim Taymans  <wim@fluendo.com>
16051
16052         * docs/gst/gstreamer-sections.txt:
16053         * gst/gstbus.c:
16054         Add new functions to docs.
16055
16056 2006-02-13  Wim Taymans  <wim@fluendo.com>
16057
16058         * docs/design/part-TODO.txt:
16059         Updated TODO list, basesrc supports seeking to non-bytes
16060         formats.
16061
16062         * docs/design/part-element-sink.txt:
16063         Update docs.
16064
16065         * gst/gstbin.c: (bin_replace_message),
16066         (gst_bin_handle_message_func):
16067         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
16068         * gst/gstevent.c: (gst_event_finalize):
16069         * gst/gstpad.c: (gst_pad_event_default_dispatch),
16070         (gst_pad_send_event):
16071         Use shiny new _TYPE_NAME macros.
16072
16073         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
16074         Move debug statement up.
16075
16076         * gst/gstelement.c: (gst_element_set_locked_state):
16077         Add some debugging.
16078
16079 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
16080
16081         * docs/gst/gstreamer-sections.txt:
16082         * gst/gstmessage.h:
16083         * gst/gstquery.h:
16084           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
16085           macros (#330906). Also, document the already existing
16086           GST_QUERY_TYPE macro.
16087
16088 2006-02-13  Wim Taymans  <wim@fluendo.com>
16089
16090         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
16091         (event_probe), (GST_START_TEST):
16092         Only events up to the pipeline EOS are counted, there are
16093         some more when going to NULL currently which we don't care
16094         about for now.
16095
16096 2006-02-13  Wim Taymans  <wim@fluendo.com>
16097
16098         * gst/gstpad.c: (gst_pad_send_event):
16099         Correctly check flushing and emit probes. fixes #330125
16100
16101 2006-02-10  Andy Wingo  <wingo@pobox.com>
16102
16103         * gst/gstbus.c (gst_bus_class_init): Declare our private data
16104         structure.
16105         (gst_bus_init): Cache the location of the private data in the
16106         instance structure.
16107         (gst_bus_enable_sync_message_emission) 
16108         (gst_bus_disable_sync_message_emission): Implement new public
16109         functions.
16110         (gst_bus_post): Emit the sync-message signal if the user asked for
16111         it. Fixes #330684.
16112
16113         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
16114         location of the bus-private structure.
16115         (gst_bus_enable_sync_message_emission)
16116         (gst_bus_disable_sync_message_emission): API addition
16117
16118 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
16119
16120         Patch by: Vincent Torri
16121
16122         * docs/pwg/building-boiler.xml:
16123         PWG patch from #326800
16124
16125 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
16126
16127         * configure.ac:
16128         * docs/Makefile.am:
16129         * docs/design/Makefile.am:
16130           Dist design docs.
16131
16132 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
16133
16134         * configure.ac:
16135           back to CVS
16136
16137 === release 0.10.3 ===
16138
16139 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
16140
16141         * configure.ac:
16142           releasing 0.10.3, "Like a virgin"
16143
16144 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
16145
16146         * configure.ac:
16147           2nd prerelease of 0.10.3
16148           Bump libtool versioning.
16149
16150 2006-02-07  Andy Wingo  <wingo@pobox.com>
16151
16152         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
16153         update last_stop if we're in TIME format and the timestamp is
16154         valid.
16155
16156         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
16157         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
16158         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
16159         If we get a new newsegment with a different format, adapt
16160         accordingly.
16161
16162         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
16163         of 0. Not a problem, really.
16164
16165         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
16166         warn if sync=true.
16167
16168 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
16169
16170         * configure.ac:
16171           Prelease of 0.10.3
16172
16173 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
16174
16175         * win32/vs7:
16176           project files updated to the default vs7 configuration
16177         * win32/common/libgstbase.def:
16178         * win32/common/libgstreamer.def:
16179           added new symbols,
16180           removed empty lines,
16181           sorted all exported symbols alphabetically
16182         * win32/common/dirent.c:
16183         * win32/common/dirent.h:
16184         * win32/common/gchar.h:
16185           use windows line end.
16186           
16187 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
16188
16189         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
16190           Send EOS event when stopping.
16191
16192 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
16193
16194         * docs/README:
16195           Tell folks what to do if the plugin-foobar.xml file
16196           hasn't been generated for a newly-added plugin.
16197
16198 2006-02-05  Julien MOUTTE  <julien@moutte.net>
16199
16200         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
16201         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
16202         (gst_collect_pads_start), (gst_collect_pads_stop),
16203         (gst_collect_pads_event): Collectpads now holds a reference
16204         to the GstPad that was added. Indeed we don't want to look
16205         at pads that might just go away with no warning...
16206
16207 2006-02-05  Julien MOUTTE  <julien@moutte.net>
16208
16209         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
16210         (gst_collect_pads_start), (gst_collect_pads_stop),
16211         (gst_collect_pads_event), (gst_collect_pads_chain):
16212         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
16213         Mark Nauwelaerts's patch on bug #328491.
16214
16215 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
16216
16217         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
16218         (gst_utils_suite):
16219           Add some simple tests for gst_parse_bin_from_description() and
16220           gst_bin_find_unconnected_pad() (#329069).
16221
16222 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
16223
16224         * tools/gst-launch.c: (event_loop), (main):
16225           Catch errors during preroll (#320084).
16226
16227 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
16228
16229         * plugins/elements/gsttypefindelement.c:
16230         (gst_type_find_element_activate):
16231           Post TYPE_NOT_FOUND error message when typefinding
16232           is unsuccessful in the activate function as well.
16233
16234 2006-02-02  Wim Taymans  <wim@fluendo.com>
16235
16236         * docs/design/part-element-sink.txt:
16237         Updated doc.
16238
16239 2006-02-02  Wim Taymans  <wim@fluendo.com>
16240
16241         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16242         (gst_base_sink_render_object),
16243         (gst_base_sink_queue_object_unlocked):
16244         Only keep track of prerollable items when we are 
16245         prerolling.
16246         Before rendering after preroll, always check if we
16247         have queued items.
16248         Added some more debugging.
16249
16250 2006-02-02  Wim Taymans  <wim@fluendo.com>
16251
16252         * gst/gstelement.c: (gst_element_continue_state),
16253         (gst_element_set_state_func), (gst_element_change_state):
16254         Fixed #326576, been running this for quite some time with
16255         no regressions at all.
16256
16257 2006-02-02  Wim Taymans  <wim@fluendo.com>
16258
16259         * common/gst.supp:
16260         Added more suppressions
16261
16262 2006-02-02  Wim Taymans  <wim@fluendo.com>
16263
16264         * docs/design/part-element-sink.txt:
16265         Updated document.
16266
16267         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16268         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
16269         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
16270         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16271         (gst_base_sink_do_sync), (gst_base_sink_render_object),
16272         (gst_base_sink_preroll_object),
16273         (gst_base_sink_queue_object_unlocked),
16274         (gst_base_sink_queue_object), (gst_base_sink_event),
16275         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
16276         (gst_base_sink_loop), (gst_base_sink_activate_pull),
16277         (gst_base_sink_get_position), (gst_base_sink_change_state):
16278         * libs/gst/base/gstbasesink.h:
16279         Totally refactored matching the design doc.
16280         Use two segments, one to clip incomming buffers and another to
16281         perform sync.
16282         Handle queueing correctly, bypass the queue when playing.
16283         Make EOS cancelable.
16284         Handle errors correctly when operating in pull based mode.
16285
16286         * tests/check/elements/fakesink.c: (GST_START_TEST),
16287         (fakesink_suite):
16288         Added new check for sinks.
16289
16290 2006-02-02  Wim Taymans  <wim@fluendo.com>
16291
16292         * gst/gstsegment.c: (gst_segment_clip):
16293         No reason to refuse to clip when start == -1
16294
16295 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
16296
16297         * docs/README:
16298         * docs/manual/intro-basics.xml:
16299         * docs/manual/intro-preface.xml:
16300         * docs/manual/manual.xml:
16301         * docs/pwg/advanced-dparams.xml:
16302         * docs/pwg/intro-basics.xml:
16303         * docs/pwg/intro-preface.xml:
16304         * docs/pwg/pwg.xml:
16305           describe dparams (controller) for plugins
16306           unify docs a little more
16307
16308 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
16309
16310         * docs/gst/gstreamer-sections.txt:
16311         * gst/gstutils.c: (element_find_unconnected_pad),
16312         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
16313         * gst/gstutils.h:
16314           Add new API: gst_parse_bin_from_description() and
16315           gst_bin_find_unconnected_pad() (#329069).
16316
16317 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
16318
16319         * docs/manual/README:
16320           uncover a nasty detail of the docs build
16321
16322 2006-01-31  Wim Taymans  <wim@fluendo.com>
16323
16324         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
16325         Don't cache duration messages if we're not going to use or
16326         free them.
16327
16328 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
16329
16330         * docs/manual/advanced-dparams.xml:
16331         * docs/pwg/advanced-dparams.xml:
16332           more dparam docs
16333         * gst/gstindex.c:
16334           fix docs
16335         * libs/gst/controller/lib.c: (gst_controller_init):
16336           init just once
16337
16338 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16339
16340         * gst/gstelement.c: (gst_element_message_full):
16341           also show file/line/func if no additional debug was given
16342
16343 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
16344         
16345         * win32/vs7/grammar.vcproj:
16346           activate copy of autogenerated files for Release mode
16347
16348 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
16349         
16350         * win32/common/libgstreamer.def:
16351           export gst_value_compare
16352
16353 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
16354
16355         * plugins/elements/Makefile.am:
16356         * plugins/elements/gstelements.c:
16357         * plugins/elements/gstfdsink.c: (_do_init),
16358         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
16359         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
16360         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
16361         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
16362         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
16363         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
16364         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
16365         * plugins/elements/gstfdsink.h:
16366         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
16367
16368 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
16369
16370         * docs/manual/advanced-dparams.xml:
16371           describe controller
16372         * docs/manual/advanced-position.xml:
16373         * docs/manual/basics-init.xml:
16374         * docs/manual/manual.xml:
16375         * docs/manual/titlepage.xml:
16376         * docs/pwg/pwg.xml:
16377         * docs/pwg/titlepage.xml:
16378           cleanup xml (more to come)
16379         * libs/gst/controller/gstcontroller.c:
16380           fix typo
16381
16382 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
16383         
16384         * win32/vs6/grammar.dsp:
16385           add autogen of gstmarshal.c,h for Release mode
16386                 
16387 2006-01-30  Wim Taymans  <wim@fluendo.com>
16388
16389         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16390         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
16391         (gst_base_sink_handle_object), (gst_base_sink_event),
16392         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
16393         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16394         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
16395         (gst_base_sink_deactivate), (gst_base_sink_activate),
16396         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
16397         (gst_base_sink_query), (gst_base_sink_change_state):
16398         Basesink cleanups, remove some old code.
16399         Handle the case where a subclass can preroll in the render
16400         method (mostly audiosinks).
16401         Handle more events.
16402         Remove some locks around variables that are now protected
16403         with the PREROLL_LOCK (clock_id, flushing, ..).
16404         Optimize position query some more, do correct locking.
16405         Remove old code to push queue in state change, this is not
16406         needed anymore since preroll blocks on all prerollable items 
16407         now.
16408         Almost implemented as described in design doc.
16409
16410 2006-01-30  Wim Taymans  <wim@fluendo.com>
16411
16412         * tests/check/gst/gstbin.c: (GST_START_TEST):
16413         Wait for refcount to settle down before checking.
16414
16415 2006-01-30  Wim Taymans  <wim@fluendo.com>
16416
16417         * docs/design/part-element-sink.txt:
16418         Pseudo code overview of desired sink behaviour regarding
16419         preroll.
16420
16421 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
16422         * win32/vs6/grammar.dsp:
16423           fix some bugs in Release mode for autogenerated files
16424                 
16425 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
16426         * win32/common/libgstbase.def:
16427         * win32/common/libgstreamer.def:
16428           export some new symbols: gst_base_src_set_format,
16429           gst_iterator_next, gst_structure_set_valist
16430
16431 2006-01-29  Julien MOUTTE  <julien@moutte.net>
16432
16433         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
16434         Set pad functions unconditionally. Fixes #329105.
16435
16436 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
16437         * win32/vs8:
16438           add vs8 project files created by Sergey Scobich
16439
16440 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
16441
16442         * gst/gstutils.c: (gst_element_unlink_pads):
16443         Don't leak pad references.
16444
16445         * tests/check/elements/fakesink.c: (GST_START_TEST):
16446         * tests/check/generic/sinks.c: (GST_START_TEST):
16447         * tests/check/generic/states.c: (GST_START_TEST):
16448         * tests/check/gst/gstbin.c: (GST_START_TEST):
16449         * tests/check/gst/gstcaps.c: (GST_START_TEST):
16450         * tests/check/gst/gstelement.c: (GST_START_TEST):
16451         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16452         * tests/check/gst/gstiterator.c: (GST_START_TEST):
16453         * tests/check/gst/gstvalue.c: (GST_START_TEST):
16454         Fix a bunch of leaks. Make generic/sinks.c
16455         use a bit less cpu by slowing the buffer rate
16456         between fakesrc and fakesink.
16457         
16458 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
16459         * gst/gstcaps.c:
16460         * gst/gstelement.c: (gst_element_send_event):
16461         * gst/gstevent.c:
16462         * gst/gstinfo.c:
16463         * gst/gstiterator.c:
16464         * gst/gstiterator.h:
16465         * gst/gstpad.c: (gst_pad_send_event):
16466         * gst/gststructure.c:
16467         * gst/gsturi.c:
16468         * gst/gstutils.c:
16469         * gst/gstvalue.c:
16470         * libs/gst/base/gstadapter.c:
16471           doc fixes, to link to function, just write gst_cool_function(), don't
16472           prefix with '#'
16473
16474 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
16475
16476         * plugins/elements/gsttee.c: (gst_tee_do_push),
16477         (gst_tee_handle_buffer):
16478         Always prefer an actual return value from a src
16479         pad in place of NOT_LINKED. This means we return
16480         WRONG_STATE when all src pads are WRONG_STATE
16481         instead of NOT_LINKED.
16482
16483         Lock when replacing the last message to prevent
16484         racing with the get_property method.
16485
16486         Add debug output
16487
16488 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
16489
16490         * tests/check/Makefile.am:
16491         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
16492         (main):
16493         Add a very simple check that should have caught the memleak I fixed
16494         last night (if not for the slice allocator hiding it)
16495
16496 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
16497
16498         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16499         (gst_bin_remove_func), (gst_bin_handle_message_func),
16500         (bin_query_duration_fold), (bin_query_generic_fold):
16501         Clean up references to the clock provider when disposed or when
16502         handling a clock-lost message from it.
16503
16504         Unref sinks when performing a query via gst_iterator_fold, as the
16505         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
16506
16507         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
16508         (gst_clock_set_master):
16509         Drop our reference to the master clock, if any, when we are disposed.
16510
16511         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
16512         Chain up in dispose. 
16513
16514 2006-01-26  Wim Taymans  <wim@fluendo.com>
16515
16516         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
16517         Add some debugging.
16518
16519 2006-01-26  Julien MOUTTE  <julien@moutte.net>
16520
16521         * plugins/elements/gsttee.c: (gst_tee_do_push),
16522         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
16523         handles pad being NOT_LINKED or in WRONG_STATE.
16524
16525 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
16526
16527         * win32/MANIFEST:
16528           more updating
16529
16530 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
16531
16532         * win32/MANIFEST:
16533           remove obsolete entry
16534
16535 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
16536
16537         * docs/gst/gstreamer-sections.txt:
16538         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
16539         (gst_bin_iterate_sources), (gst_bin_send_event):
16540         * gst/gstbin.h:
16541         * gst/gstelement.c: (gst_element_send_event):
16542         * gst/gstevent.c:
16543         * gst/gstpad.c: (gst_pad_send_event):
16544           added code for downstream events, reviewed docs in gstevent.c
16545
16546 2006-01-25  Julien MOUTTE  <julien@moutte.net>
16547
16548         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16549         We only query position using the clock in the playing state.
16550         Query peer in the other cases.
16551         * win32/common/config.h: Updates.
16552
16553 2006-01-24  Wim Taymans  <wim@fluendo.com>
16554
16555         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16556         A clock entry that is scheduled for the exact time of the
16557         clock is still in time.
16558
16559         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16560         (gst_base_sink_do_sync):
16561         Add some more debug info.
16562
16563 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
16564
16565         * win32/vs7:
16566           Add new vs7 project files and solution.
16567
16568 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
16569
16570         * win32/vs7:
16571           all files removed as they were out-dated.
16572
16573 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16574
16575         * docs/random/release:
16576           update notes
16577         * gst/gstbin.c: (gst_bin_init):
16578         * gst/gstbus.c: (gst_bus_new):
16579         * gst/gstbus.h:
16580         * gst/gstpipeline.c: (gst_pipeline_init):
16581           use gst_bus_new(), improve logging, fix docs
16582         * win32/common/config.h:
16583           update for cvs build
16584
16585 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16586
16587         * autogen.sh:
16588           up required version of automake to 1.7
16589
16590 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
16591
16592         * win32/common/libgstreamer.def:
16593           export gst_buffer_is_metadata_writable
16594
16595 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
16596
16597         * docs/gst/gstreamer-sections.txt:
16598         * gst/gstevent.h:
16599           Add gst_event_replace() (#327001)
16600
16601 2006-01-20  Wim Taymans  <wim@fluendo.com>
16602
16603         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16604         Make it actually compile too..
16605
16606 2006-01-20  Wim Taymans  <wim@fluendo.com>
16607
16608         * gst/gstcaps.c:
16609         Clarify behaviour of _is_equal() when passing NULL parameters.
16610
16611         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16612         (gst_pad_set_caps):
16613         Cleanups. Don't unref NULL caps.
16614         When setting the same caps, protect caps of the pad with
16615         proper lock.
16616         Use full functionality of _is_equal() when comparing caps.
16617
16618 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
16619
16620         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16621         Don't loop infinitely if there are no buffers to present. Partially
16622         fixes #327197, but collectpads is just broken for reusing elements
16623         to do multiple encodes atm.
16624
16625 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
16626
16627         * tools/gst-inspect.c: (print_element_features):
16628         * tools/gst-xmlinspect.c: (main):
16629         URL_HANDLER is not a plugin feature we can search for in
16630         the registry.
16631
16632 2006-01-19  Edward Hervey  <edward@fluendo.com>
16633
16634         * gst/gstelement.c: (gst_element_pads_activate): 
16635         When activating, do src pads first, then sink pads.
16636         When de-activating, do sink pads first, then src pads.
16637
16638 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16639
16640         * docs/gst/gstreamer-sections.txt:
16641         Add gst_index_add_associationv to the docs
16642
16643 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16644
16645         * gst/gstevent.c:
16646           Fix docs typo
16647
16648         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
16649         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
16650           Do some refactoring. Doesn't actually change functionality,
16651           but makes landing the DRAIN event easier later.
16652
16653 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
16654
16655         * docs/pwg/advanced-scheduling.xml:
16656           Update from 0.9.x to 0.10 API and make example a bit
16657           clearer.
16658
16659 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16660
16661         * docs/gst/gstreamer-sections.txt:
16662         Add gst_buffer_(is|make)_metadata_writable methods.
16663
16664 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16665
16666         * docs/design/part-sparsestreams.txt:
16667         Update sparse streams doc, hopefully for greater clarity
16668
16669 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
16670
16671         * docs/design/part-events.txt:
16672         Remove mention of FILLER events.
16673         Add DRAIN event.
16674
16675         * docs/design/part-sparsestreams.txt:
16676         Write some things about using NEWSEGMENT to keep sparse streams
16677         flowing.
16678
16679 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
16680
16681         * gst/gstbin.c: (gst_bin_dispose):
16682           Guard gst_object_unref call against a NULL object (dispose
16683           can theoretically be called multiple times).
16684           
16685 2006-01-18  Wim Taymans  <wim@fluendo.com>
16686
16687         * gst/gstbin.c: (gst_bin_element_set_state):
16688         * gst/gstclock.c: (gst_clock_id_wait):
16689         Added some more debug info.
16690
16691         * libs/gst/base/gstadapter.c:
16692         Added more docs.
16693
16694         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16695         (gst_base_sink_do_sync), (gst_base_sink_chain):
16696         Added some comments.
16697
16698 2006-01-18  Wim Taymans  <wim@fluendo.com>
16699
16700         * tests/check/Makefile.am:
16701         * tests/check/elements/fakesink.c: (chain_async_buffer),
16702         (chain_async), (chain_async_return), (GST_START_TEST),
16703         (fakesink_suite), (main):
16704         Added fakesink test that checks prerolling and clipping
16705         behaviour.
16706
16707         * tests/check/gst/gstutils.c: (GST_START_TEST):
16708         Make check run faster so that buildbots don't timeout.
16709
16710 2006-01-18  Wim Taymans  <wim@fluendo.com>
16711
16712         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16713         (gst_base_sink_do_sync):
16714         Some cleanups.
16715         When the sink finishes blocking on the preroll buffer, it can
16716         immediatly render it instead of rendering when the next buffer
16717         arrives.
16718
16719 2006-01-18  Wim Taymans  <wim@fluendo.com>
16720
16721         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
16722         (gst_base_sink_get_property), (gst_base_sink_do_sync),
16723         (gst_base_sink_chain):
16724         Small cleanups.
16725         GST_ELEMENT_CLOCK and sync are protected with LOCK.
16726         Don't store _last_stop if the buffer is dropped.
16727
16728 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
16729
16730         * plugins/elements/gsttypefindelement.c:
16731         (gst_type_find_element_class_init):
16732           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
16733           object method handler that sets the caps on the pad and we want
16734           that to happen before we emit the signal (fixes e.g. feeding a
16735           plain text file to decodebin).
16736
16737 2006-01-18  Christian Schaller  <Christian@fluendo.com>
16738
16739         * gst/gstplugin.c: Add MPL and Proprietary as license options
16740
16741 2006-01-18  Andy Wingo  <wingo@pobox.com>
16742
16743         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
16744         symbol was exported before, it appears this was just an oversight.
16745         Fixes #168703.
16746         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
16747
16748         * gst/gstindex.c (gst_index_add_associationv): Changed int in
16749         prototype to gint. OK since this prototype was not in the header.
16750
16751 2006-01-17  Andy Wingo  <wingo@pobox.com>
16752
16753         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
16754         registry while we remove plugins.
16755
16756         * tools/gst-inspect.c (print_element_info): Don't unref the
16757         factory arg, that should be the responsibility of whatever code
16758         received the ref. Fixes a double-free when called from
16759         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
16760         (main): Unref the factory if we have one.
16761         (print_element_list): No change -- relies on the
16762         plugin_feature_list_free to free the list of features.
16763
16764 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
16765
16766         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
16767         (gst_buffer_make_metadata_writable):
16768         * gst/gstbuffer.h:
16769         * libs/gst/base/gstbasetransform.c:
16770         (gst_base_transform_prepare_output_buf):
16771         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16772         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16773           Replace gst_buffer_(make|is)_metadata_writable patch now
16774           that the release is out.
16775
16776 2006-01-17  Andy Wingo  <wingo@pobox.com>
16777
16778         * gst/gstregistry.c: Reflow design comment. Update so as to speak
16779         in the present tense without reference to versions.
16780
16781         * gst/gstregistry.c (gst_registry_add_plugin)
16782         (gst_registry_remove_plugin, gst_registry_remove_feature)
16783         (gst_registry_find_feature, gst_registry_get_feature_list)
16784         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
16785         (gst_registry_lookup, gst_registry_scan_path)
16786         (_gst_registry_remove_cache_plugins)
16787         (gst_registry_get_feature_list_by_plugin): Add argument
16788         validation.
16789
16790 === release 0.10.2 ===
16791
16792 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
16793
16794         * configure.ac:
16795           releasing 0.10.2, "If man is five"
16796
16797 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16798
16799         * gst/gstbuffer.c:
16800         * gst/gstbuffer.h:
16801         * libs/gst/base/gstbasetransform.c:
16802         (gst_base_transform_prepare_output_buf):
16803         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16804         * tests/check/gst/gstbuffer.c: (gst_test_suite):
16805           Back out patch until after the release.
16806
16807 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16808
16809         * gst/gstminiobject.c:
16810           Spelling fix in docs.
16811         * ChangeLog - remove conflict indicator
16812
16813 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16814
16815         Reviewed By: Andy Wingo
16816
16817         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
16818         (gst_buffer_make_metadata_writable):
16819         * gst/gstbuffer.h:
16820           Add gst_buffer_(is|make)_metadata_writable as analogues of
16821           gst_buffer_(is|make)_writable.
16822
16823         * libs/gst/base/gstbasetransform.c:
16824         (gst_base_transform_prepare_output_buf):
16825         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16826           Use name gst_buffer_(is|make)_metadata_writable functions.
16827
16828         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16829           Test gst_buffer_(is|make)_metadata_writable
16830         
16831           (Closes: #324162)
16832
16833 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
16834
16835         * docs/manual/Makefile.am:
16836           don't do parallel make
16837         * configure.ac:
16838           AC_SUBST HOST_CPU
16839         * win32/common/config.h.in:
16840           add generations for HOST_CPU and GST_MAJORMINOR
16841         * win32/common/config.h:
16842           commit generated result
16843
16844 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
16845
16846         * docs/manual/appendix-integration.xml:
16847           Update GNOME integration section to use gst_init_get_option_group()
16848           instead of the old popt stuff (#322911). Also, GNOME applications
16849           should  now use gconf*sink and gconf*src instead of the old gconf
16850           helper lib we had.
16851
16852 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
16853
16854
16855         * docs/gst/gstreamer-docs.sgml:
16856         * docs/gst/gstreamer-sections.txt:
16857         * docs/libs/gstreamer-libs-sections.txt:
16858           add new API entries to the docs
16859         * libs/gst/controller/Makefile.am:
16860         * libs/gst/controller/gstcontroller.c:
16861         * libs/gst/controller/gstcontroller.h:
16862         * libs/gst/controller/gstcontrollerprivate.h:
16863         * libs/gst/controller/gsthelper.c:
16864         * libs/gst/controller/gstinterpolation.c:
16865           move private structs to private header
16866         * po/README:
16867           gstreamer-0.7 -> gstreamer-0.10
16868         * tests/check/libs/struct_i386.h:
16869           remove private structs
16870
16871 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16872
16873         * plugins/indexers/Makefile.am:
16874           Fixes as part of #317048
16875
16876 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16877
16878         * plugins/indexers/Makefile.am:
16879           fix #316086 - compilation when mmap is missing
16880
16881 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
16882
16883         * libs/gst/base/gstbasesink.c:
16884           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
16885           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
16886         * win32/common/config.h:
16887           added some defines GST_MAJORMINOR and HOST_CPU
16888         * win32/common/libgstbase.def:
16889         * win32/common/libgstreamer.def:
16890           added some exported functions.
16891
16892 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
16893
16894         * libs/gst/controller/gstcontroller.c:
16895         (gst_controlled_property_set_interpolation_mode),
16896         (gst_controlled_property_new):
16897         * libs/gst/controller/gstcontroller.h:
16898         * libs/gst/controller/gstinterpolation.c:
16899         (interpolate_none_get_string_value_array):
16900           make G_TYPE_STRING controlable
16901
16902 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
16903
16904         * tools/README:
16905         * tools/gst-feedback.1.in:
16906         * tools/gst-inspect.1.in:
16907         * tools/gst-launch.1.in:
16908         * tools/gst-md5sum.1.in:
16909         * tools/gst-typefind.1.in:
16910         * tools/gst-xmlinspect.1.in:
16911         * tools/gst-xmllaunch.1.in:
16912           cleanup man-pages, remove reference to gst-register, document env-vars
16913
16914 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
16915
16916         * gst/gstbuffer.c: (gst_buffer_span):
16917           gst_buffer_span should copy the timestamp of the first buffer
16918           if they were both originally overlapping subbuffers of the 
16919           same parent, using the same logic as the 'slow copy' case.
16920
16921 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
16922
16923         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
16924           Need to awaken ALL the pads when we pop a buffer, otherwise
16925           collectpads only works when there is 2 input streams.
16926
16927 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
16928
16929         * docs/random/ensonic/media-device-daemon.txt:
16930           more ideas (dbus)
16931         * gst/gstbuffer.c:
16932           fix doc example, add clarification
16933         * tools/gst-launch.1.in:
16934           add initial info about GST_PLUGIN_PATH, needs more work
16935
16936 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
16937
16938         * docs/manual/basics-bins.xml:
16939         * docs/manual/basics-elements.xml:
16940         * docs/manual/intro-basics.xml:
16941           Some more minor docs additions and updates.
16942
16943 2006-01-11  Wim Taymans  <wim@fluendo.com>
16944
16945         * docs/manual/basics-bins.xml:
16946         * docs/manual/basics-elements.xml:
16947         Some small fixes as pointed out by Ser-ver on IRC.
16948
16949 2006-01-10  Edward Hervey  <edward@fluendo.com>
16950
16951         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
16952         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
16953         the single-segment mode.
16954
16955 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
16956
16957         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16958
16959         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
16960         (gst_base_src_perform_seek), (gst_base_src_send_event),
16961         (gst_base_src_set_property), (gst_base_src_get_property),
16962         (gst_base_src_loop), (gst_base_src_start),
16963         (gst_base_src_activate_push):
16964         * libs/gst/base/gstbasesrc.h:
16965           Name (private) union; makes Sun's Forte compiler happy (#324900).
16966
16967 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
16968
16969         * README:
16970           gst-register is gone.
16971
16972 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16973
16974         * gst/gstvalue.c: (_gst_value_initialize):
16975           make the G_TYPE_DATE instantiation work if debug is disabled
16976
16977 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
16978
16979         * gst/gstmessage.c: (gst_message_parse_tag),
16980         (gst_message_parse_error), (gst_message_parse_warning):
16981           Don't crash when return location for error/warning debug
16982           string is NULL; add fact that return locations can be
16983           NULL to docs where appropriate.
16984
16985 2006-01-05  Wim Taymans  <wim@fluendo.com>
16986
16987         * gst/gstplugin.c: (gst_plugin_load_file):
16988         Replace strdup by g_strdup.
16989
16990 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16991
16992         * docs/pwg/advanced-types.xml:
16993           fix doc borkage
16994
16995 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16996
16997         submitted by: Abel Cheung
16998
16999         * po/LINGUAS:
17000         * po/zh_TW.po:
17001           Added Chinese (traditional) translation
17002
17003 2006-01-04  Wim Taymans  <wim@fluendo.com>
17004
17005         * docs/manual/basics-pads.xml:
17006         * docs/plugins/Makefile.am:
17007         * docs/plugins/gstreamer-plugins-docs.sgml:
17008         * docs/plugins/gstreamer-plugins-sections.txt:
17009         * docs/pwg/advanced-clock.xml:
17010         * docs/pwg/advanced-scheduling.xml:
17011         * docs/pwg/advanced-types.xml:
17012         * plugins/elements/gstfdsink.c:
17013         * plugins/elements/gstfdsrc.c:
17014         * plugins/elements/gstfdsrc.h:
17015         * plugins/elements/gstidentity.c: (gst_identity_class_init):
17016         * plugins/elements/gstidentity.h:
17017         * plugins/elements/gstqueue.h:
17018         * plugins/elements/gsttee.c:
17019         * plugins/elements/gsttee.h:
17020         * plugins/elements/gsttypefindelement.c:
17021         (gst_type_find_element_class_init):
17022         * plugins/elements/gsttypefindelement.h:
17023         Small updates to various docs.
17024         Added core plugins to docs.
17025
17026 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17027
17028         * common/gst.supp:
17029           add a suppression for liboil's uninitialized variable
17030
17031 2006-01-02  James Livingston  <jrl at ids dot org dot au>
17032
17033         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17034
17035         * gst/gstutils.h:
17036           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
17037           macro, so that gcc doesn't complain if the -Wmissing-prototypes
17038           compiler switch is being used (#325429).
17039
17040 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
17041
17042         * gst/gstbin.c: (gst_bin_query):
17043           Disable duration query caching in bins until it gets
17044           fixed (see #324807).
17045
17046 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
17047
17048         * tools/gst-inspect.c: (print_element_properties_info):
17049           Handle properties of POINTER and BOXED type.
17050
17051 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
17052
17053         * gst/gst.c: (init_post):
17054           Init tags stuff and some other things before loading
17055           any static plugins (there may be other static plugins
17056           than just the GStreamer ones, and they may want to
17057           register their own tags or formats or whatever, and
17058           preferably without segfaulting).
17059
17060         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
17061           Print at least a warning in the debug logs if we drop a
17062           query just because we don't know how to adjust the value
17063           in the particular format.
17064
17065 2005-12-24  David Schleef  <ds@schleef.org>
17066
17067         * tools/gstreamer-completion:
17068           Replacement for gst-complete written in sh and sed.  Only
17069           completes names of features, but that's 90% of what I want
17070           it for.  Properties are not available in registry.xml.  (Maybe
17071           they should be...)
17072
17073 === release 0.10.1 ===
17074
17075 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
17076
17077         * configure.ac:
17078           releasing 0.10.1, "Nollaig chridheil"
17079
17080 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
17081
17082         * docs/faq/cvs.xml:
17083           Add missing quote, should be make ERROR_CFLAGS="".
17084
17085 2005-12-20  Wim Taymans  <wim@fluendo.com>
17086
17087         * docs/design/part-trickmodes.txt:
17088         More documentation on trickmodes.
17089
17090 2005-12-20  Edward Hervey  <edward@fluendo.com>
17091
17092         * gst/gstcaps.c: (gst_static_caps_get_type):
17093         * gst/gstcaps.h:
17094           API addition: GST_TYPE_STATIC_CAPS
17095         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
17096         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
17097         * gst/gstpadtemplate.h:
17098           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
17099         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
17100         bindings.
17101
17102 2005-12-18  Wim Taymans  <wim@fluendo.com>
17103
17104         * libs/gst/base/gstadapter.c:
17105         * libs/gst/base/gstadapter.h:
17106         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
17107         (gst_base_sink_get_position):
17108         * libs/gst/base/gstbasesink.h:
17109         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17110         (gst_base_src_default_query), (gst_base_src_default_do_seek),
17111         (gst_base_src_do_seek), (gst_base_src_perform_seek),
17112         (gst_base_src_send_event), (gst_base_src_update_length),
17113         (gst_base_src_get_range), (gst_base_src_loop),
17114         (gst_base_src_start):
17115         * libs/gst/base/gstbasesrc.h:
17116         * libs/gst/base/gstbasetransform.h:
17117         * libs/gst/base/gstcollectpads.h:
17118         * libs/gst/base/gstpushsrc.c:
17119         * libs/gst/base/gstpushsrc.h:
17120         * libs/gst/dataprotocol/dataprotocol.c:
17121         * libs/gst/dataprotocol/dataprotocol.h:
17122         * libs/gst/net/gstnetclientclock.h:
17123         * libs/gst/net/gstnettimeprovider.h:
17124         Documentation updates.
17125
17126 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
17127
17128         * docs/manual/basics-helloworld.xml:
17129           Remove superfluous closing bracket in helloworld example.
17130
17131 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
17132
17133         * tools/gst-launch.1.in:
17134           Update gst-launch man page; add a section with useful
17135           environment variables. Fixes #323882.
17136
17137 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
17138
17139         * gst/gst.c:
17140         * gst/gst_private.h:
17141           change some char* into char[]
17142
17143 2005-12-16  Wim Taymans  <wim@fluendo.com>
17144
17145         * gst/gstregistryxml.c: (load_feature):
17146         Cleanups.
17147         Don't use g_object_unref on GstObjects so that we avoid
17148         leaks on unsafe glibs.
17149
17150 2005-12-16  Wim Taymans  <wim@fluendo.com>
17151
17152         * gst/gstbin.c: (gst_bin_recalc_state):
17153         Small doc updates.
17154
17155 2005-12-16  Wim Taymans  <wim@fluendo.com>
17156
17157         * common/check.mak:
17158         Added make forever target for check.
17159
17160 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17161
17162         * gst/gst.c: (init_post):
17163           make the registry cache file HOST_CPU-dependent
17164
17165 2005-12-16  Andy Wingo  <wingo@pobox.com>
17166
17167         * plugins/elements/gstbufferstore.c
17168         (gst_buffer_store_cleared_func): Pay attention to g_list_append
17169         return value.
17170
17171         * tests/check/gst/gstobject.c
17172         (test_fake_object_name_threaded_unique): Pay attention to
17173         g_list_sort return value.
17174
17175 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
17176
17177         * tools/gst-feedback-m.m:
17178           Update for 0.9/0.10 (fixes #323870).
17179
17180 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
17181
17182         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
17183           Fix lcopy for mini objects, the mini object needs to be ref'ed.
17184           
17185         * tests/check/gst/gstminiobject.c: (my_foo_init),
17186         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
17187         (test_value_collection), (gst_mini_object_suite):
17188           Add test to ensure refcounts end up as expected when passing
17189           GstMiniObjects through g_object_get() and g_object_set().
17190
17191 2005-12-14  Julien MOUTTE  <julien@moutte.net>
17192
17193         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
17194         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
17195         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
17196         of collectpads. This version removes a lot of races without
17197         touching API/ABI. Yay !
17198
17199 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
17200
17201         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
17202           Don't allow activation of a srcpad in pull_range if it has no
17203           getrange function.
17204           Change some debug statements to be a little clearer
17205
17206         * plugins/elements/gsttypefindelement.c:
17207         (gst_type_find_handle_src_query):
17208           Check that we have a peer before executing queries thereupon.
17209
17210         * tests/examples/metadata/read-metadata.c: (message_loop):
17211           Use gst_bus_pop instead of gst_bus_poll when we just want it to
17212           immediately return us any available message with 0 timeout.
17213
17214 2005-12-12  Michael Smith  <msmith@fluendo.com>
17215
17216         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
17217           Don't unref factories after calling them.
17218         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
17219         * plugins/elements/gsttypefindelement.c:
17220         (gst_type_find_element_chain):
17221           Free lists of factories after using them. Fixing typefinding memory
17222           leaks.
17223
17224 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17225
17226         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
17227         (gst_plugin_feature_load):
17228           more meaningful debug output
17229         * configure.ac:
17230         * tests/Makefile.am:
17231         * tests/old/examples/Makefile.am:
17232           make make distcheck happy again
17233
17234 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
17235
17236         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17237           Catch the special case where we are operating chain-based,
17238           but the downstream peer pad has no chain function. Emit a
17239           custom error message in this case instead of letting the
17240           core generate one implying that this is some sort of core
17241           bug. It's not, it just means that whatever got plugged
17242           into the pipeline downstream when we announced the type
17243           can only operate pull-based, while our source can only
17244           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
17245           Error string has not been marked for translation yet, as
17246           it probably needs some more work first.
17247
17248         (gst_type_find_element_get_best_possibility):
17249           Add helper function to find the best of all available
17250           found possibilities that qualify given the min. threshold.
17251
17252         (gst_type_find_element_handle_event):
17253           Fix the case where we get an EOS while still in TYPEFIND
17254           mode (we want to chose the best of all possible types,
17255           not just the first type that happens to be in our unsorted
17256           list of possible types).
17257
17258         (gst_type_find_element_chain):
17259           Make sure we return GST_FLOW_ERROR when we errored out
17260           in stop_typefinding(); also, don't just find the best of
17261           all found type entries and then use the last examined
17262           type entry, but actually use the best entry.
17263
17264 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
17265
17266         * tests/examples/typefind/typefind.c: (type_found):
17267         * tests/examples/xml/runxml.c: (xml_loaded):
17268           More gcc4 fixes and a mem leak fix.
17269
17270 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17271
17272         * tests/examples/xml/createxml.c: (object_saved):
17273           gcc 4 fixes
17274
17275 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17276
17277         * tests/Makefile.am:
17278           enable the examples even more
17279
17280 2005-12-12  Andy Wingo  <wingo@pobox.com>
17281
17282         * libs/gst/net/gstnettimeprovider.c
17283         (gst_net_time_provider_class_init, gst_net_time_provider_init)
17284         (gst_net_time_provider_set_property)
17285         (gst_net_time_provider_get_property):
17286         API addition: Export "active" as a GObject property.
17287         (gst_net_time_provider_thread): Only respond to time queries if
17288         the time provider is active.
17289
17290         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
17291         NetTimeProvider, preserving binary compat.
17292
17293 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17294
17295         * tests/examples/controller/audio-example.c: (main):
17296         * tests/examples/launch/Makefile.am:
17297           convert comments again
17298
17299 2005-12-12  Wim Taymans  <wim@fluendo.com>
17300
17301         * libs/gst/base/gstpushsrc.c:
17302         Fix typo.
17303
17304 2005-12-12  Wim Taymans  <wim@fluendo.com>
17305
17306         * docs/libs/gstreamer-libs-sections.txt:
17307         Added new symbol to docs.
17308
17309         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17310         (gst_base_src_init), (gst_base_src_set_format),
17311         (gst_base_src_default_query), (gst_base_src_query),
17312         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
17313         (gst_base_src_perform_seek), (gst_base_src_send_event),
17314         (gst_base_src_default_event), (gst_base_src_event_handler),
17315         (gst_base_src_set_property), (gst_base_src_get_property),
17316         (gst_base_src_wait), (gst_base_src_do_sync),
17317         (gst_base_src_update_length), (gst_base_src_get_range),
17318         (gst_base_src_check_get_range), (gst_base_src_loop),
17319         (gst_base_src_default_negotiate), (gst_base_src_start),
17320         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17321         (gst_base_src_change_state):
17322         * libs/gst/base/gstbasesrc.h:
17323         Implement seeking to other formats than _BYTES.
17324         Implement more seeking methods correctly.
17325         Doc updates.
17326         Added query vmethod.
17327         Added do_seek vmethod to make life easier for subclasses
17328         when seeking.
17329         API addition: gst_base_src_set_format()
17330
17331 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17332
17333         * tests/examples/Makefile.am:
17334           added that too
17335
17336 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17337
17338         * configure.ac:
17339         * docs/random/ensonic/media-device-daemon.txt:
17340         * tests/examples/controller/.cvsignore:
17341         * tests/examples/controller/Makefile.am:
17342         * tests/examples/controller/audio-example.c: (main):
17343         * tests/examples/helloworld/.cvsignore:
17344         * tests/examples/helloworld/Makefile.am:
17345         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
17346         * tests/examples/launch/.cvsignore:
17347         * tests/examples/launch/Makefile.am:
17348         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
17349         * tests/examples/metadata/.cvsignore:
17350         * tests/examples/metadata/Makefile.am:
17351         * tests/examples/metadata/read-metadata.c: (message_loop),
17352         (make_pipeline), (print_tag), (main):
17353         * tests/examples/queue/.cvsignore:
17354         * tests/examples/queue/Makefile.am:
17355         * tests/examples/queue/queue.c: (event_loop), (main):
17356         * tests/examples/typefind/.cvsignore:
17357         * tests/examples/typefind/Makefile.am:
17358         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
17359         (main):
17360         * tests/examples/xml/.cvsignore:
17361         * tests/examples/xml/Makefile.am:
17362         * tests/examples/xml/createxml.c: (object_saved), (main):
17363         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
17364         * tests/old/examples/Makefile.am:
17365         * tests/old/examples/TODO:
17366         * tests/old/examples/controller/.cvsignore:
17367         * tests/old/examples/controller/Makefile.am:
17368         * tests/old/examples/controller/audio-example.c:
17369         * tests/old/examples/helloworld/.cvsignore:
17370         * tests/old/examples/helloworld/Makefile.am:
17371         * tests/old/examples/helloworld/helloworld.c:
17372         * tests/old/examples/launch/.cvsignore:
17373         * tests/old/examples/launch/Makefile.am:
17374         * tests/old/examples/launch/mp3parselaunch.c:
17375         * tests/old/examples/launch/mp3play:
17376         * tests/old/examples/manual/Makefile.am:
17377         * tests/old/examples/metadata/Makefile.am:
17378         * tests/old/examples/metadata/read-metadata.c:
17379         * tests/old/examples/queue/.cvsignore:
17380         * tests/old/examples/queue/Makefile.am:
17381         * tests/old/examples/queue/queue.c:
17382         * tests/old/examples/typefind/.cvsignore:
17383         * tests/old/examples/typefind/Makefile.am:
17384         * tests/old/examples/typefind/typefind.c:
17385         * tests/old/examples/xml/.cvsignore:
17386         * tests/old/examples/xml/Makefile.am:
17387         * tests/old/examples/xml/createxml.c:
17388         * tests/old/examples/xml/runxml.c:
17389           applied some simple fixing to some examples
17390           re-enabled the working examples
17391
17392 2005-12-12  Wim Taymans  <wim@fluendo.com>
17393
17394         * gst/gstsegment.c: (gst_segment_init),
17395         (gst_segment_set_last_stop), (gst_segment_set_seek),
17396         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
17397         (gst_segment_to_running_time):
17398         Added more documentation.
17399         Make sure the last_pos value is updated properly.
17400         Make sure to_stream_time and to_running_time don't
17401         operate on wrong values.
17402
17403         * tests/check/gst/gstsegment.c: (GST_START_TEST):
17404         Update check.
17405
17406 2005-12-12  Michael Smith  <msmith@fluendo.com>
17407
17408         * plugins/elements/gsttypefindelement.c: (free_entry),
17409         (gst_type_find_element_chain):
17410           Now that we're not leaking factories, make sure we keep references
17411           to them while we need them.
17412
17413 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17414
17415         * tests/check/gst/struct_i386.h:
17416           ifdef out the XML structs
17417
17418 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17419
17420         * gst/gstvalue.c: (gst_value_transform_double_fraction):
17421           floor is not needed, F is always positive; this obviates the
17422           need for adding -lm when building without libxml
17423
17424 2005-12-12  Wim Taymans  <wim@fluendo.com>
17425
17426         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17427         Take current playback rate into account when reporting
17428         the position.
17429
17430 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17431
17432         * docs/manual/mime-world.fig:
17433           Let's try this again, this time with a file that is
17434           actually in XFig format.
17435
17436 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17437
17438         * docs/manual/mime-world.fig:
17439           Add audioconvert element to diagram so that it
17440           matches the text and the code (fixes #319526).
17441
17442 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17443
17444         * docs/pwg/building-chainfn.xml:
17445         * docs/pwg/building-pads.xml:
17446         * docs/pwg/building-state.xml:
17447         * docs/pwg/other-source.xml:
17448           Update state change stuff for 0.10 (fixes #322969).
17449
17450 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17451
17452         * docs/manual/advanced-dataaccess.xml:
17453         * docs/manual/appendix-checklist.xml:
17454         * docs/manual/appendix-programs.xml:
17455         * docs/manual/basics-pads.xml:
17456         * docs/manual/highlevel-components.xml:
17457         * docs/manual/manual.xml:
17458           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
17459           add converters in front of pipelines; remove curly
17460           brackets for threads stuff, they no longer exist; use
17461           GST_TYPE_FRACTION for framerates; update some pieces of
17462           code to 0.10, but there's plenty more to do.
17463
17464         * docs/manual/appendix-porting.xml:
17465           Expand on asynchroneous state changes; s/0.9/0.10/;
17466           mention disappearance of gst_init_get_popt_table()
17467           (fixes #322916).
17468
17469 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17470
17471         * docs/faq/using.xml:
17472           Spider no longer exists, and neither does gst-launch-ext.
17473           Update examples to use decodebin and playbin and put
17474           converters in front of sinks (fixes #323726).
17475
17476 2005-12-09  Michael Smith  <msmith@fluendo.com>
17477
17478         * plugins/elements/gsttypefindelement.c: (find_peek),
17479         (gst_type_find_element_chain):
17480           Fix leaking element factories in typefinding.
17481           Fix problem where we forgot about a probable type on non-seekable
17482           files, and thus later mis-typefound it.
17483
17484 2005-12-09  Michael Smith  <msmith@fluendo.com>
17485
17486         * common/m4/gst-makecontext.m4:
17487         * common/m4/gst-mcsc.m4:
17488         * configure.ac:
17489         * win32/common/config.h:
17490         * win32/common/config.h.in:
17491           Remove makecontext stuff; not used in 0.10 and causes problems on
17492           HPUX according to bug #322441
17493
17494 2005-12-07  Wim Taymans  <wim@fluendo.com>
17495
17496         * tests/check/Makefile.am:
17497         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
17498         (main):
17499         * tests/check/libs/struct_i386.h:
17500         Added ABI check for libs
17501
17502 2005-12-07  Wim Taymans  <wim@fluendo.com>
17503
17504         * tests/check/Makefile.am:
17505         And add the struct_i386.h to dist.
17506
17507 2005-12-07  Wim Taymans  <wim@fluendo.com>
17508
17509         * tests/check/Makefile.am:
17510         * tests/check/gst/.cvsignore:
17511         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
17512         (main):
17513         * tests/check/gst/struct_i386.h:
17514         Added check for ABI compatibility.
17515
17516 2005-12-07  Wim Taymans  <wim@fluendo.com>
17517
17518         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17519         (gst_fake_src_get_times), (gst_fake_src_create):
17520         Fix broken sync option, fixes #323259
17521
17522 2005-12-07  Wim Taymans  <wim@fluendo.com>
17523
17524         * gst/gstbuffer.c:
17525         Small docs update.
17526
17527         * gst/gstcaps.c: (gst_caps_is_equal):
17528         Don't assert on NULL <--> X. Fixes #323260
17529
17530         * gst/gstminiobject.c: (gst_mini_object_replace):
17531         If we're doing atomic operations, we might just as well use
17532         the proper way to get an atomic pointer.
17533
17534         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17535         Clean up debugging.
17536
17537 2005-12-07  Michael Smith  <msmith@fluendo.com>
17538
17539         * gst/parse/grammar.y:
17540           Remove handling of { } for threads.
17541
17542 2005-12-06  David Schleef  <ds@schleef.org>
17543
17544         * libs/gst/base/gstbasetransform.c: speling fix.
17545
17546 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17547
17548         * docs/libs/tmpl/gstdataprotocol.sgml:
17549         * docs/random/omega/testing/gstobject.c:
17550         * gst/gst.c:
17551         * gst/gstclock.c:
17552         * gst/gstelement.c:
17553         * gst/gstelementfactory.c:
17554         * gst/gsterror.c:
17555         * gst/gstevent.c:
17556         * gst/gstghostpad.c:
17557         * gst/gstinfo.c:
17558         * gst/gstpadtemplate.c:
17559         * gst/gstregistryxml.c:
17560         * gst/gsttaglist.c:
17561         * gst/gsttagsetter.c:
17562         * gst/gsttypefind.c:
17563         * gst/gstvalue.c:
17564         * libs/gst/base/gstbasesrc.c:
17565         * libs/gst/net/gstnetclientclock.c:
17566         * libs/gst/net/gstnettimeprovider.c:
17567         * plugins/elements/gstfakesrc.c:
17568         * plugins/elements/gstfdsrc.c:
17569         * plugins/elements/gstfilesrc.c:
17570         * plugins/elements/gstidentity.c:
17571         * plugins/elements/gstqueue.c:
17572         * plugins/elements/gsttypefindelement.c:
17573         * plugins/indexers/gstfileindex.c:
17574         * plugins/indexers/gstmemindex.c:
17575         * tests/check/gst/gsttag.c:
17576         * tests/old/examples/cutter/cutter.c:
17577         * tests/old/examples/mixer/mixer.c:
17578         * tests/old/examples/xml/runxml.c: (main):
17579         * tests/old/testsuite/caps/normalisation.c:
17580         * tests/old/testsuite/debug/global.c:
17581         * tests/old/testsuite/parse/parse1.c:
17582         * tools/gst-xmlinspect.c:
17583         * win32/common/dirent.c:
17584           expand tabs
17585
17586 === release 0.10.0 ===
17587
17588 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17589
17590         * configure.ac:
17591           releasing 0.10.0, "Maroilles"
17592
17593 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17594
17595         submitted by: Funda Wang <fundawang@linux.net.cn>
17596
17597         * po/LINGUAS:
17598         * po/zh_CN.po:
17599           added Chinese (Traditional) translation
17600
17601 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17602
17603         * docs/gst/gstreamer-sections.txt:
17604         * docs/libs/tmpl/gstdataprotocol.sgml:
17605         * docs/random/thomasvs/TODO:
17606         * gst/gstutils.c:
17607         * gst/gstutils.h:
17608           fix docs
17609
17610 2005-12-05  Andy Wingo  <wingo@pobox.com>
17611
17612         patch by: Wim Taymans <wim@fluendo.com>
17613
17614         * libs/gst/base/gstbasetransform.c
17615         (gst_base_transform_prepare_output_buf)
17616         (gst_base_transform_buffer_alloc):
17617         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
17618         alloc_buffer_and_set_caps.
17619
17620         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
17621         set_caps on the source pad.
17622         (gst_pad_alloc_buffer_and_set_caps): New function, does what
17623         alloc_buffer used to do. Fixes #322874.
17624
17625         * docs/gst/gstreamer-sections.txt: 
17626         * docs/design/part-negotiation.txt: 
17627         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
17628         changes.
17629
17630 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17631
17632         patch by: Sebastien Moutte
17633
17634         * win32/MANIFEST:
17635         * win32/common/config.h.in:
17636         * win32/vs6/libgstcontroller.dsp:
17637           win32 build fixes
17638
17639 2005-12-05  Wim Taymans  <wim@fluendo.com>
17640
17641         * gst/gstcaps.c: (gst_caps_is_equal):
17642         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17643         (gst_fake_src_create):
17644         Back out previous code changes, leave doc updates, file bugs 
17645         instead. 
17646
17647 2005-12-05  Wim Taymans  <wim@fluendo.com>
17648
17649         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17650         (gst_fake_src_get_times), (gst_fake_src_create):
17651         * plugins/elements/gstfakesrc.h:
17652         Fix broken sync code.
17653
17654 2005-12-05  Wim Taymans  <wim@fluendo.com>
17655
17656         * gst/gstcaps.c: (gst_caps_is_equal):
17657         Comparing NULL against !NULL yields different caps, not a
17658         failure.
17659
17660 2005-12-05  Wim Taymans  <wim@fluendo.com>
17661
17662         * gst/gstpipeline.c:
17663         Fix small typo in docs.
17664
17665 2005-12-05  Andy Wingo  <wingo@pobox.com>
17666
17667         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
17668
17669         * gst/gst.c (init_post): remove hard-coded 0.9 location for
17670         registries/plugins with a MAJORMINOR one.
17671         (plugin_desc): Rename library from gstcoreleements to
17672         staticelements. Fixes #323222.
17673
17674 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
17675
17676         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
17677           Change debug category to 'collectpads' from 'collect_pads'
17678           (fixes #323250).
17679
17680 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
17681
17682         patch by: Sebastien Moutte
17683
17684         * libs/gst/controller/gstinterpolation.c:
17685           use convert function for uint64/double
17686         * win32/vs6/libgstcontroller.dsp:
17687           link to GLib
17688
17689 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
17690
17691         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
17692         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
17693         * gst/gstutils.h:
17694         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17695           add tests that seem to show that the guint64/gdouble conversions
17696           are correct.
17697
17698 2005-12-02  Wim Taymans  <wim@fluendo.com>
17699
17700         * gst/gstregistry.c: (gst_registry_add_path):
17701         * gst/gstregistry.h:
17702         * gst/gstregistryxml.c:
17703         Fix docs again.
17704
17705 2005-12-02  Wim Taymans  <wim@fluendo.com>
17706
17707         * gst/gstutils.c: (gst_util_uint64_scale_int64),
17708         (gst_util_uint64_scale_int):
17709         Small cleanup.
17710
17711         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17712         Add debug log line.
17713
17714         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
17715         Add FIXME.
17716
17717 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17718
17719         * win32/MANIFEST:
17720         * win32/common/config.h:
17721         * win32/vs6/gstreamer.dsw:
17722         * win32/vs6/libgstcoreelements.dsp:
17723         * win32/vs6/libgstelements.dsp:
17724           renamed core elements plugin
17725
17726 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17727
17728         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
17729         (get_candidates):
17730           do piece-wise major/minor comparison so 0.9 < 0.10
17731           also allow .exe extensions for tools
17732
17733 2005-12-02  Michael Smith  <msmith@fluendo.com>
17734
17735         * gst/gst.c:
17736           Escape a % to make gtkdoc happier; bug 322958.
17737
17738 === release 0.9.7 ===
17739
17740 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17741
17742         * configure.ac:
17743           releasing 0.9.7, "My Dog Has No Nose"
17744
17745 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17746
17747         * common/gst-xmlinspect.py:
17748         * configure.ac:
17749         * docs/libs/tmpl/gstdataprotocol.sgml:
17750         * docs/random/release:
17751         * po/af.po:
17752         * po/az.po:
17753         * po/bg.po:
17754         * po/ca.po:
17755         * po/cs.po:
17756         * po/de.po:
17757         * po/en_GB.po:
17758         * po/fr.po:
17759         * po/it.po:
17760         * po/nb.po:
17761         * po/nl.po:
17762         * po/ru.po:
17763         * po/sq.po:
17764         * po/sr.po:
17765         * po/sv.po:
17766         * po/tr.po:
17767         * po/uk.po:
17768         * po/vi.po:
17769         * win32/common/config.h:
17770         * win32/common/config.h.in:
17771         * win32/vs6/gst_inspect.dsp:
17772         * win32/vs6/gst_launch.dsp:
17773         * win32/vs6/libgstbase.dsp:
17774         * win32/vs6/libgstelements.dsp:
17775         * win32/vs6/libgstreamer.dsp:
17776         * win32/vs7/GStreamer.vcproj:
17777         * win32/vs7/gst-inspect.vcproj:
17778         * win32/vs7/gst-launch.vcproj:
17779         * win32/vs7/libgstbase.vcproj:
17780           bump GST_MAJORMINOR to 0.10
17781           reset libtool version
17782
17783 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17784
17785         * po/LINGUAS:
17786         * po/bg.po:
17787           Added Bulgarian translation by (Alexander Shopov)
17788
17789 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17790
17791         * tests/check/gst/gstplugin.c:
17792           fix test
17793
17794 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17795
17796         * common/gst-xmlinspect.py:
17797         * common/gtk-doc-plugins.mak:
17798         * configure.ac:
17799         * docs/Makefile.am:
17800         * docs/gst/Makefile.am:
17801         * docs/gst/gstreamer-docs.sgml:
17802         * docs/gst/gstreamer-sections.txt:
17803         * docs/gst/gstreamer.types:
17804         * docs/gst/gstreamer.types.in:
17805         * docs/plugins/Makefile.am:
17806         * docs/plugins/gstreamer-plugins-docs.sgml:
17807         * docs/plugins/gstreamer-plugins-sections.txt:
17808         * docs/plugins/gstreamer-plugins.types:
17809         * docs/plugins/inspect.stamp:
17810         * docs/plugins/inspect/plugin-coreelements.xml:
17811         * docs/plugins/inspect/plugin-coreindexers.xml:
17812         * docs/plugins/scanobj-build.stamp:
17813         * gstreamer.spec.in:
17814         * plugins/elements/Makefile.am:
17815         * plugins/elements/gstelements.c:
17816         * plugins/elements/gstfakesink.c:
17817         * plugins/elements/gstfakesrc.c:
17818         * plugins/elements/gstfilesink.c:
17819         * plugins/elements/gstfilesrc.c:
17820         * plugins/elements/gstqueue.c:
17821         * plugins/indexers/Makefile.am:
17822         * plugins/indexers/gstindexers.c:
17823           document core plugins in a separate document just like all the
17824           others
17825           rename these plugins to something starting with core
17826
17827 2005-12-01  Andy Wingo  <wingo@pobox.com>
17828
17829         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
17830         padding here before, but it missed the commit.
17831
17832 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17833
17834         * libs/gst/controller/gstinterpolation.c:
17835           whitespace prices have crashed, we should feel free to use some now
17836           use gst_guint64_to_gdouble
17837
17838 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17839
17840         * libs/gst/controller/gstcontroller.c:
17841         * libs/gst/controller/gsthelper.c:
17842         * libs/gst/controller/gstinterpolation.c:
17843         * libs/gst/controller/lib.c:
17844           wrap config.h include
17845
17846 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17847
17848         * docs/gst/gstreamer-sections.txt:
17849           update docs
17850
17851 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17852
17853         * plugins/elements/gstelements.c:
17854         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
17855         (gst_fd_sink__class_init), (gst_fd_sink__init),
17856         (gst_fd_sink__chain), (gst_fd_sink__set_property),
17857         (gst_fd_sink__get_property):
17858         * plugins/elements/gstfdsink.h:
17859         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
17860         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
17861         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
17862         (gst_fd_src_unlock), (gst_fd_src_set_property),
17863         (gst_fd_src_get_property), (gst_fd_src_create),
17864         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
17865         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
17866         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
17867         (gst_fd_src_uri_handler_init):
17868         * plugins/elements/gstfdsrc.h:
17869         * plugins/elements/gstqueue.c: (gst_queue_get_type):
17870           more anal cleanup
17871
17872 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17873
17874         * docs/gst/Makefile.am:
17875         * docs/gst/gstreamer.types.in:
17876         * gst/Makefile.am:
17877           fix the docs build
17878
17879 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17880
17881         * configure.ac:
17882         * gst/Makefile.am:
17883         * gst/gst.c:
17884         * gst/gstplugin.h:
17885         * gst/gstregistry.h:
17886         * tests/benchmarks/complexity.c:
17887         * tests/benchmarks/mass-elements.c:
17888         * tests/check/Makefile.am:
17889         * tools/Makefile.am:
17890         * tools/gst-inspect.c:
17891         * tools/gst-xmlinspect.c:
17892           various fixes to make
17893           --disable-nls --disable-registry --disable-loadsave
17894           --disable-parse --disable-gst-debug
17895           work and get the core .so down to 360444 bytes after stripping
17896
17897 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17898
17899         * Makefile.am:
17900         * configure.ac:
17901           descend into tests
17902         * docs/random/thomasvs/TODO:
17903         * tests/Makefile.am:
17904         * tests/README:
17905           add a README
17906
17907 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17908
17909         * win32/GStreamer.vcproj:
17910         * win32/MANIFEST:
17911         * win32/Makefile:
17912         * win32/Makefile.inspect:
17913         * win32/Makefile.launch:
17914         * win32/Makefile.register:
17915         * win32/README.txt:
17916         * win32/gst-inspect.vcproj:
17917         * win32/gst-launch.vcproj:
17918         * win32/gst-register.vcproj:
17919         * win32/gstelements.vcproj:
17920         * win32/gstgetbits.def:
17921         * win32/gstgetbits.vcproj:
17922         * win32/gstreamer-dbg.def:
17923         * win32/gstreamer.def:
17924         * win32/libgstbase.def:
17925         * win32/libgstbase.vcproj:
17926         * win32/link_oldruntime.c:
17927         * win32/mman.c:
17928         * win32/mman.h:
17929         * win32/mman.inl:
17930         * win32/msvc71.sln:
17931           move even more stuff, win32/ is nice and clean now
17932
17933 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17934
17935         * libs/gst/control/.cvsignore:
17936         * win32/MANIFEST:
17937         * win32/config.h:
17938         * win32/dirent.c:
17939         * win32/dirent.h:
17940         * win32/gstbytestream.def:
17941         * win32/gstbytestream.vcproj:
17942         * win32/gstconfig.h:
17943         * win32/gstenumtypes.c:
17944         * win32/gstenumtypes.h:
17945         * win32/gstoptimalscheduler.vcproj:
17946         * win32/gstversion.h:
17947         * win32/gtchar.h:
17948         * win32/testsuite/bins.vcproj:
17949         * win32/testsuite/bytestream.vcproj:
17950         * win32/testsuite/caps.vcproj:
17951         * win32/testsuite/cleanup.vcproj:
17952         * win32/testsuite/clock.vcproj:
17953         * win32/testsuite/debug.vcproj:
17954         * win32/testsuite/dlopen.vcproj:
17955         * win32/testsuite/dynparams.vcproj:
17956         * win32/testsuite/elements.vcproj:
17957         * win32/testsuite/ghostpads.vcproj:
17958         * win32/testsuite/indexers.vcproj:
17959         * win32/testsuite/negotiation.vcproj:
17960         * win32/testsuite/parse.vcproj:
17961         * win32/testsuite/plugin.vcproj:
17962         * win32/testsuite/refcounting.vcproj:
17963         * win32/testsuite/schedulers.vcproj:
17964         * win32/testsuite/states.vcproj:
17965         * win32/testsuite/tags.vcproj:
17966         * win32/testsuite/threads.vcproj:
17967           remove old win32 stuff that isn't maintained and should be
17968           reorganized
17969
17970 2005-11-30  Andy Wingo  <wingo@pobox.com>
17971
17972         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
17973         loading the gst.interfaces python module bork.
17974
17975         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
17976         available since GLib 2.2. Fixes #318031.
17977
17978 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17979
17980         * Makefile.am:
17981         * check/.cvsignore:
17982         * check/Makefile.am:
17983         * check/elements/.cvsignore:
17984         * check/elements/fakesrc.c:
17985         * check/elements/fdsrc.c:
17986         * check/elements/identity.c:
17987         * check/generic/.cvsignore:
17988         * check/generic/states.c:
17989         * check/gst-libs/.cvsignore:
17990         * check/gst-libs/controller.c:
17991         * check/gst-libs/gdp.c:
17992         * check/gst/.cvsignore:
17993         * check/gst/capslist.h:
17994         * check/gst/gst.c:
17995         * check/gst/gstbin.c:
17996         * check/gst/gstbuffer.c:
17997         * check/gst/gstbus.c:
17998         * check/gst/gstcaps.c:
17999         * check/gst/gstelement.c:
18000         * check/gst/gstevent.c:
18001         * check/gst/gstghostpad.c:
18002         * check/gst/gstiterator.c:
18003         * check/gst/gstmessage.c:
18004         * check/gst/gstminiobject.c:
18005         * check/gst/gstobject.c:
18006         * check/gst/gstpad.c:
18007         * check/gst/gstpipeline.c:
18008         * check/gst/gstplugin.c:
18009         * check/gst/gstsegment.c:
18010         * check/gst/gststructure.c:
18011         * check/gst/gstsystemclock.c:
18012         * check/gst/gsttag.c:
18013         * check/gst/gstutils.c:
18014         * check/gst/gstvalue.c:
18015         * check/net/.cvsignore:
18016         * check/net/gstnetclientclock.c:
18017         * check/net/gstnettimeprovider.c:
18018         * check/pipelines/.cvsignore:
18019         * check/pipelines/cleanup.c:
18020         * check/pipelines/simple_launch_lines.c:
18021         * check/pipelines/stress.c:
18022         * check/states/.cvsignore:
18023         * check/states/sinks.c:
18024         * configure.ac:
18025         * examples/Makefile.am:
18026         * examples/appreader/.cvsignore:
18027         * examples/appreader/Makefile.am:
18028         * examples/appreader/appreader.c:
18029         * examples/controller/.cvsignore:
18030         * examples/controller/Makefile.am:
18031         * examples/controller/audio-example.c:
18032         * examples/cutter/.cvsignore:
18033         * examples/cutter/Makefile.am:
18034         * examples/cutter/cutter.c:
18035         * examples/cutter/cutter.h:
18036         * examples/events/Makefile.am:
18037         * examples/events/seek.c:
18038         * examples/helloworld/.cvsignore:
18039         * examples/helloworld/Makefile.am:
18040         * examples/helloworld/helloworld.c:
18041         * examples/helloworld2/.cvsignore:
18042         * examples/helloworld2/Makefile.am:
18043         * examples/helloworld2/helloworld2.c:
18044         * examples/launch/.cvsignore:
18045         * examples/launch/Makefile.am:
18046         * examples/launch/mp3parselaunch.c:
18047         * examples/launch/mp3play:
18048         * examples/manual/.cvsignore:
18049         * examples/manual/Makefile.am:
18050         * examples/manual/extract.pl:
18051         * examples/metadata/Makefile.am:
18052         * examples/metadata/read-metadata.c:
18053         * examples/mixer/.cvsignore:
18054         * examples/mixer/Makefile.am:
18055         * examples/mixer/mixer.c:
18056         * examples/mixer/mixer.h:
18057         * examples/pingpong/.cvsignore:
18058         * examples/pingpong/Makefile.am:
18059         * examples/pingpong/pingpong.c:
18060         * examples/plugins/.cvsignore:
18061         * examples/plugins/Makefile.am:
18062         * examples/plugins/example.c:
18063         * examples/plugins/example.h:
18064         * examples/pwg/.cvsignore:
18065         * examples/pwg/Makefile.am:
18066         * examples/pwg/extract.pl:
18067         * examples/queue/.cvsignore:
18068         * examples/queue/Makefile.am:
18069         * examples/queue/queue.c:
18070         * examples/queue2/.cvsignore:
18071         * examples/queue2/Makefile.am:
18072         * examples/queue2/queue2.c:
18073         * examples/queue3/.cvsignore:
18074         * examples/queue3/Makefile.am:
18075         * examples/queue3/queue3.c:
18076         * examples/queue4/.cvsignore:
18077         * examples/queue4/Makefile.am:
18078         * examples/queue4/queue4.c:
18079         * examples/retag/.cvsignore:
18080         * examples/retag/Makefile.am:
18081         * examples/retag/retag.c:
18082         * examples/retag/transcode.c:
18083         * examples/thread/.cvsignore:
18084         * examples/thread/Makefile.am:
18085         * examples/thread/thread.c:
18086         * examples/typefind/.cvsignore:
18087         * examples/typefind/Makefile.am:
18088         * examples/typefind/typefind.c:
18089         * examples/xml/.cvsignore:
18090         * examples/xml/Makefile.am:
18091         * examples/xml/createxml.c:
18092         * examples/xml/runxml.c:
18093         * tests/Makefile.am:
18094         * tests/check/Makefile.am:
18095         * testsuite/.cvsignore:
18096         * testsuite/Makefile.am:
18097         * testsuite/Rules:
18098         * testsuite/caps/.cvsignore:
18099         * testsuite/caps/Makefile.am:
18100         * testsuite/caps/app_fixate.c:
18101         * testsuite/caps/audioscale.c:
18102         * testsuite/caps/caps.c:
18103         * testsuite/caps/caps.h:
18104         * testsuite/caps/caps_strings:
18105         * testsuite/caps/compatibility.c:
18106         * testsuite/caps/deserialize.c:
18107         * testsuite/caps/enumcaps.c:
18108         * testsuite/caps/eratosthenes.c:
18109         * testsuite/caps/filtercaps.c:
18110         * testsuite/caps/fixed.c:
18111         * testsuite/caps/fraction-convert.c:
18112         * testsuite/caps/fraction-multiply-and-zero.c:
18113         * testsuite/caps/intersect2.c:
18114         * testsuite/caps/intersection.c:
18115         * testsuite/caps/normalisation.c:
18116         * testsuite/caps/random.c:
18117         * testsuite/caps/renegotiate.c:
18118         * testsuite/caps/sets.c:
18119         * testsuite/caps/simplify.c:
18120         * testsuite/caps/string-conversions.c:
18121         * testsuite/caps/structure.c:
18122         * testsuite/caps/subtract.c:
18123         * testsuite/caps/union.c:
18124         * testsuite/debug/.cvsignore:
18125         * testsuite/debug/Makefile.am:
18126         * testsuite/debug/category.c:
18127         * testsuite/debug/commandline.c:
18128         * testsuite/debug/global.c:
18129         * testsuite/debug/output.c:
18130         * testsuite/debug/printf_extension.c:
18131         * testsuite/dlopen/.cvsignore:
18132         * testsuite/dlopen/Makefile.am:
18133         * testsuite/dlopen/dlopen_gst.c:
18134         * testsuite/dlopen/loadgst.c:
18135         * testsuite/elements/.cvsignore:
18136         * testsuite/elements/Makefile.am:
18137         * testsuite/elements/gst-inspect-check.in:
18138         * testsuite/elements/struct_i386.h:
18139         * testsuite/elements/struct_size.c:
18140         * testsuite/indexers/.cvsignore:
18141         * testsuite/indexers/Makefile.am:
18142         * testsuite/indexers/cache1.c:
18143         * testsuite/indexers/indexdump.c:
18144         * testsuite/parse/.cvsignore:
18145         * testsuite/parse/Makefile.am:
18146         * testsuite/parse/parse1.c:
18147         * testsuite/parse/parse2.c:
18148         * testsuite/plugin/.cvsignore:
18149         * testsuite/plugin/Makefile.am:
18150         * testsuite/plugin/README:
18151         * testsuite/plugin/dynamic.c:
18152         * testsuite/plugin/linked.c:
18153         * testsuite/plugin/loading.c:
18154         * testsuite/plugin/registry.c:
18155         * testsuite/plugin/static.c:
18156         * testsuite/plugin/static2.c:
18157         * testsuite/plugin/testplugin.c:
18158         * testsuite/plugin/testplugin2.c:
18159         * testsuite/plugin/testplugin2_s.c:
18160         * testsuite/plugin/testplugin_s.c:
18161         * testsuite/refcounting/.cvsignore:
18162         * testsuite/refcounting/Makefile.am:
18163         * testsuite/refcounting/bin.c:
18164         * testsuite/refcounting/element.c:
18165         * testsuite/refcounting/element_pad.c:
18166         * testsuite/refcounting/mainloop.c:
18167         * testsuite/refcounting/mem.c:
18168         * testsuite/refcounting/mem.h:
18169         * testsuite/refcounting/object.c:
18170         * testsuite/refcounting/pad.c:
18171         * testsuite/refcounting/sched.c:
18172         * testsuite/refcounting/thread.c:
18173         * testsuite/states/.cvsignore:
18174         * testsuite/states/Makefile.am:
18175         * testsuite/states/bin.c:
18176         * testsuite/states/locked.c:
18177         * testsuite/states/parent.c:
18178         * testsuite/threads/.cvsignore:
18179         * testsuite/threads/159566.c:
18180         * testsuite/threads/159852.c:
18181         * testsuite/threads/Makefile.am:
18182         * testsuite/threads/queue.c:
18183         * testsuite/threads/signals.c:
18184         * testsuite/threads/staticrec.c:
18185         * testsuite/threads/thread.c:
18186         * testsuite/threads/threadb.c:
18187         * testsuite/threads/threadc.c:
18188         * testsuite/threads/threadd.c:
18189         * testsuite/threads/threade.c:
18190         * testsuite/threads/threadf.c:
18191         * testsuite/threads/threadg.c:
18192         * testsuite/threads/threadh.c:
18193         * testsuite/threads/threadi.c:
18194           move all of these under tests
18195
18196 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18197
18198         * configure.ac:
18199         * tests/Makefile.am:
18200           fix distcheck
18201
18202 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18203
18204         * docs/gst/gstreamer-sections.txt:
18205         * tests/sched/.cvsignore:
18206         * tests/sched/Makefile.am:
18207         * tests/sched/cases/(fs-fs).xml:
18208         * tests/sched/cases/(fs-i-fs).xml:
18209         * tests/sched/cases/(fs-i-i-fs).xml:
18210         * tests/sched/cases/(fs-i-q[i-fs]).xml:
18211         * tests/sched/dynamic-pipeline.c:
18212         * tests/sched/interrupt1.c:
18213         * tests/sched/interrupt2.c:
18214         * tests/sched/interrupt3.c:
18215         * tests/sched/runtestcases:
18216         * tests/sched/runxml.c:
18217         * tests/sched/sched-stress.c:
18218         * tests/sched/sort.c:
18219         * tests/sched/testcases:
18220         * tests/sched/testcases1.tc:
18221         * tests/seeking/.cvsignore:
18222         * tests/seeking/Makefile.am:
18223         * tests/seeking/seeking1.c:
18224         * tests/threadstate/.cvsignore:
18225         * tests/threadstate/Makefile.am:
18226         * tests/threadstate/test1.c:
18227         * tests/threadstate/test2.c:
18228         * tests/threadstate/threadstate1.c:
18229         * tests/threadstate/threadstate2.c:
18230         * tests/threadstate/threadstate3.c:
18231         * tests/threadstate/threadstate4.c:
18232         * tests/threadstate/threadstate5.c:
18233           remove obsolete tests
18234         * configure.ac:
18235         * tests/bench-complexity.scm:
18236         * tests/bench-mass_elements.scm:
18237         * tests/complexity.c:
18238         * tests/complexity.gnuplot:
18239         * tests/instantiate/.cvsignore:
18240         * tests/instantiate/Makefile.am:
18241         * tests/instantiate/caps.c:
18242         * tests/mass_elements.c:
18243         * tests/network-clock-utils.scm:
18244         * tests/network-clock.scm:
18245         * tests/plot-data:
18246         First pass at cleaning up tests/ dir before moving the rest
18247         Combined with CVS surgery
18248
18249 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18250
18251         * po/POTFILES.in:
18252           queue has moved, update
18253
18254 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18255
18256         * docs/gst/gstreamer-sections.txt:
18257           remove double entries from the docs
18258         * gst/gst_private.h:
18259         * gst/gstinfo.c: (_gst_debug_init):
18260           remove the THREAD debug category
18261         * gst/Makefile.am:
18262         * gst/gstqueue.c:
18263         * gst/gstqueue.h:
18264         * docs/gst/gstreamer.types:
18265         * plugins/elements/gstqueue.c: (gst_queue_get_type),
18266         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
18267           completely move queue and fix up debugging categories
18268
18269 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18270
18271         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18272           make initialization portable, using LL is not
18273
18274 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18275
18276         * win32/common/gstconfig.h:
18277           add large padding
18278
18279 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18280
18281         * win32/common/libgstreamer.def:
18282           rename symbols; sort base section
18283
18284 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18285
18286         * gst/gstclock.c: (do_linear_regression):
18287           remove crack non-portable handrolled DEBUG macro
18288
18289 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18290
18291         * docs/random/release:
18292           update notes
18293         * win32/common/gstenumtypes.c: (register_gst_object_flags),
18294         (gst_object_flags_get_type), (register_gst_bin_flags),
18295         (gst_bin_flags_get_type), (register_gst_buffer_flag),
18296         (gst_buffer_flag_get_type), (register_gst_bus_flags),
18297         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
18298         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
18299         (gst_caps_flags_get_type), (register_gst_clock_return),
18300         (gst_clock_return_get_type), (register_gst_clock_entry_type),
18301         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
18302         (gst_clock_flags_get_type), (register_gst_state),
18303         (gst_state_get_type), (register_gst_state_change_return),
18304         (gst_state_change_return_get_type), (register_gst_state_change),
18305         (gst_state_change_get_type), (register_gst_element_flags),
18306         (gst_element_flags_get_type), (register_gst_core_error),
18307         (gst_core_error_get_type), (register_gst_library_error),
18308         (gst_library_error_get_type), (register_gst_resource_error),
18309         (gst_resource_error_get_type), (register_gst_stream_error),
18310         (gst_stream_error_get_type), (register_gst_event_type_flags),
18311         (gst_event_type_flags_get_type), (register_gst_event_type),
18312         (gst_event_type_get_type), (register_gst_seek_type),
18313         (gst_seek_type_get_type), (register_gst_seek_flags),
18314         (gst_seek_flags_get_type), (register_gst_format),
18315         (gst_format_get_type), (register_gst_index_certainty),
18316         (gst_index_certainty_get_type), (register_gst_index_entry_type),
18317         (gst_index_entry_type_get_type),
18318         (register_gst_index_lookup_method),
18319         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
18320         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
18321         (gst_index_resolver_method_get_type), (register_gst_index_flags),
18322         (gst_index_flags_get_type), (register_gst_debug_level),
18323         (gst_debug_level_get_type), (register_gst_debug_color_flags),
18324         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
18325         (gst_iterator_result_get_type), (register_gst_iterator_item),
18326         (gst_iterator_item_get_type), (register_gst_message_type),
18327         (gst_message_type_get_type), (register_gst_mini_object_flags),
18328         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
18329         (gst_pad_link_return_get_type), (register_gst_flow_return),
18330         (gst_flow_return_get_type), (register_gst_activate_mode),
18331         (gst_activate_mode_get_type), (register_gst_pad_direction),
18332         (gst_pad_direction_get_type), (register_gst_pad_flags),
18333         (gst_pad_flags_get_type), (register_gst_pad_presence),
18334         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
18335         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
18336         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
18337         (gst_plugin_error_get_type), (register_gst_plugin_flags),
18338         (gst_plugin_flags_get_type), (register_gst_rank),
18339         (gst_rank_get_type), (register_gst_query_type),
18340         (gst_query_type_get_type), (register_gst_tag_merge_mode),
18341         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
18342         (gst_tag_flag_get_type), (register_gst_task_state),
18343         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
18344         (gst_alloc_trace_flags_get_type),
18345         (register_gst_type_find_probability),
18346         (gst_type_find_probability_get_type), (register_gst_uri_type),
18347         (gst_uri_type_get_type), (register_gst_parse_error),
18348         (gst_parse_error_get_type):
18349         * win32/common/gstenumtypes.h:
18350         * win32/common/gstversion.h:
18351           update visual studio generated files
18352
18353 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18354
18355         * win32/vs6/libgstbase.dsp:
18356         * win32/vs6/libgstelements.dsp:
18357           update project files for new locations
18358
18359 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18360
18361         * Makefile.am:
18362           remove some files
18363         * README:
18364           reinstate and update
18365         * DEVEL:
18366         * REQUIREMENTS:
18367           removed
18368         * LICENSE:
18369         * docs/random/LICENSE:
18370           moved to random
18371
18372 2005-11-30  Edward Hervey  <edward@fluendo.com>
18373
18374         * gst/gsttypefind.c: (gst_type_find_register):
18375         * gst/gsttypefind.h:
18376         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
18377         (gst_type_find_factory_dispose):
18378         * gst/gsttypefindfactory.h:
18379         Fix memory leak in GstTypeFindFactory.
18380
18381 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18382
18383         * gst/gst.c:
18384         * plugins/elements/Makefile.am:
18385         * plugins/elements/gstelements.c:
18386         * plugins/elements/gstqueue.c:
18387           move queue from core to the elements plugin
18388
18389 2005-11-29  Andy Wingo  <wingo@pobox.com>
18390
18391         * libs/gst/base/gstbasetransform.h: 
18392         * libs/gst/base/gstbasesrc.h: 
18393         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
18394
18395         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
18396         of pointers by which to pad very extensible base classes (like the
18397         ones in libs/gst/base).
18398
18399 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18400
18401         * docs/gst/gstreamer-docs.sgml:
18402         * docs/gst/gstreamer-sections.txt:
18403         * docs/libs/gstreamer-libs-docs.sgml:
18404         * docs/libs/gstreamer-libs-sections.txt:
18405           moving documentation from core to lib
18406
18407 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18408
18409         * check/Makefile.am:
18410         * configure.ac:
18411         * docs/gst/Makefile.am:
18412         * gst/Makefile.am:
18413         * gst/base/.cvsignore:
18414         * gst/base/Makefile.am:
18415         * gst/base/README:
18416         * gst/base/gstadapter.c:
18417         * gst/base/gstadapter.h:
18418         * gst/base/gstbasesink.c:
18419         * gst/base/gstbasesink.h:
18420         * gst/base/gstbasesrc.c:
18421         * gst/base/gstbasesrc.h:
18422         * gst/base/gstbasetransform.c:
18423         * gst/base/gstbasetransform.h:
18424         * gst/base/gstcollectpads.c:
18425         * gst/base/gstcollectpads.h:
18426         * gst/base/gstpushsrc.c:
18427         * gst/base/gstpushsrc.h:
18428         * gst/base/gsttypefindhelper.c:
18429         * gst/base/gsttypefindhelper.h:
18430         * gst/check/Makefile.am:
18431         * gst/check/gstcheck.c:
18432         * gst/check/gstcheck.h:
18433         * gst/net/Makefile.am:
18434         * gst/net/gstnet.h:
18435         * gst/net/gstnetclientclock.c:
18436         * gst/net/gstnetclientclock.h:
18437         * gst/net/gstnettimepacket.c:
18438         * gst/net/gstnettimepacket.h:
18439         * gst/net/gstnettimeprovider.c:
18440         * gst/net/gstnettimeprovider.h:
18441         * libs/gst/Makefile.am:
18442         * libs/gst/base/Makefile.am:
18443         * libs/gst/base/gstbasetransform.c:
18444         * libs/gst/check/Makefile.am:
18445         * plugins/elements/Makefile.am:
18446         * po/POTFILES.in:
18447           CVS surgery + support to move base, check, and net out of gst
18448           and into libs/gst
18449
18450 2005-11-29  Andy Wingo  <wingo@pobox.com>
18451
18452         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
18453
18454         * gst/gststructure.h (struct _GstStructure): Only one pointer of
18455         padding.
18456
18457         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
18458
18459         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
18460
18461         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
18462
18463         * gst/gstobject.h: (struct _GstObject): Only one pointer of
18464         padding; reduces object size by about 30%. We don't expect
18465         anything else to go into gstobject.
18466
18467         * gst/gstminiobject.h (struct _GstMiniObject)
18468         (struct _GstMiniObjectClass): Only one pointer of padding; the
18469         payload is only a pointer and two ints anyway. For the class there
18470         are only two methods as well.
18471         
18472         * gst/gstelement.h (struct _GstElementClass): Removed
18473         the state_changed signal callback, it is not used.
18474
18475 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18476
18477         * docs/gst/gstreamer.types:
18478           fix includes, though they are a little dinky
18479
18480 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18481
18482         * check/Makefile.am:
18483           look in the right place for elements, a lot more chance of
18484           success
18485         * gst/Makefile.am:
18486           remove indexers and elements subdirs
18487         * plugins/Makefile.am:
18488           make indexers conditional
18489
18490 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18491
18492         * Makefile.am:
18493         * configure.ac:
18494         * plugins/elements/Makefile.am:
18495         * plugins/elements/gstcapsfilter.c:
18496         * plugins/elements/gstfilesink.c:
18497         * plugins/elements/gstfilesrc.c:
18498         * plugins/elements/gstidentity.c:
18499         * plugins/indexers/Makefile.am:
18500           do CVS surgery and related build fixery to move elements
18501           and indexers in a new gstreamer/plugins directory, out of the
18502           gst/ directory
18503
18504 2005-11-29  Andy Wingo  <wingo@pobox.com>
18505
18506         * check/Makefile.am:
18507         * pkgconfig/gstreamer-net-uninstalled.pc.in:
18508         * pkgconfig/gstreamer-net.pc.in:
18509         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
18510         #322257.
18511
18512 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18513
18514         * tools/Makefile.am:
18515         * tools/gst-complete.1.in:
18516         * tools/gst-complete.c:
18517         * tools/gst-compprep.1.in:
18518         * tools/gst-compprep.c:
18519           removing -compprep and -complete
18520
18521 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18522
18523         * gst/gstevent.c: (gst_event_new_new_segment),
18524         (gst_event_parse_new_segment):
18525         * gst/gstevent.h:
18526           fix #320529 - clean up new_segment API and structure.
18527           Let's hope everyone was using the methods, and not the structure.
18528
18529 2005-11-29  Edward Hervey  <edward@fluendo.com>
18530
18531         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18532         (gst_base_sink_event), (gst_base_sink_do_sync),
18533         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18534         Properly handle non GST_FORMAT_TIME segment
18535         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18536         Properly handle non GST_FORMAT_TIME segment
18537         * gst/gstsegment.c:
18538         This function is valid if the accumulator is 0 and the format
18539         is different from the requested format.
18540         
18541 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
18542
18543         * docs/gst/gstreamer-sections.txt:
18544         Add gst_query_new_seeking and gst_query_parse_seeking to the
18545         docs.
18546
18547 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
18548
18549         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
18550           Treat a pad alloc with new caps the same as if we were not
18551           negotiated, in order to allow a changing upstream output
18552           to produce a new format of data.
18553
18554 2005-11-29  Edward Hervey  <edward@fluendo.com>
18555
18556         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18557         (gst_base_transform_event), (gst_base_transform_eventfunc):
18558         The event virtual method is now properly implemented, with a default
18559         handler
18560         Sub classes should call the parent_class event method. They should
18561         return FALSE if they had a problem handling the given event, or don't
18562         want GstBaseTransform to send that even downstream
18563         * gst/elements/gstidentity.c: (gst_identity_class_init),
18564         (gst_identity_init), (gst_identity_event),
18565         (gst_identity_transform_ip), (gst_identity_set_property),
18566         (gst_identity_get_property):
18567         * gst/elements/gstidentity.h:
18568         Added the single-segment boolean property.
18569         If set to TRUE, it will output a single segment of data, starting from
18570         0, will eat up all incoming newsegment, and modify the timestamp of the
18571         buffers accordingly
18572
18573 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
18574
18575         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
18576           Don't ref NULL target pad (#322751). Improve docs.
18577
18578 2005-11-29  Michael Smith  <msmith@fluendo.com>
18579
18580         * gst/gstregistryxml.c: (load_plugin):
18581           Don't crash if we failed to load a feature from a plugin. 
18582
18583 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18584
18585         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18586         (GST_START_TEST):
18587           use more check API and less GLib API
18588
18589 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18590
18591         * Makefile.am:
18592           don't run checks if we don't have check
18593         * common/check.mak:
18594           remove the registry when running make torture
18595         * docs/gst/gstreamer-sections.txt:
18596           remove second multiply
18597         * gst/gstqueue.c: (gst_queue_loop):
18598           fix a compile warning when disabling debug
18599
18600 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
18601
18602         * gst/gstinfo.h:
18603         Hey! Let's print the pad name if the pointer != NULL instead
18604         of when it == NULL :-)
18605
18606 2005-11-28  Wim Taymans  <wim@fluendo.com>
18607
18608         * check/gst/gstutils.c: (GST_START_TEST):
18609         Updated check, add some scaling accuracy checking code.
18610
18611         * gst/gstutils.c: (gst_util_div128_64),
18612         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
18613         (gst_util_uint64_scale_int):
18614         Fix 6 times faster division code. Optimize for common 
18615         1/1 and less common X/1 cases.
18616
18617 2005-11-28  Wim Taymans  <wim@fluendo.com>
18618
18619         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18620         More checks.
18621
18622         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
18623         (do_linear_regression), (gst_clock_add_observation):
18624         Cleanups.
18625         Release lock when the clock cannot be slaved.
18626         Catch the case where the regression returned an invalid denominator.
18627
18628         * gst/gstutils.c: (gst_util_div128_64_iterate),
18629         (gst_util_div128_64), (gst_util_uint64_scale_int64),
18630         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
18631         Add protentially more performant non-iterative 128/64 divide function
18632         that unfortunatly does not work yet.
18633         Shortcut the trivial 0/X = 0 case.
18634         Remove the warnings on overflow.
18635
18636 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18637
18638         * gst/gstplugin.c: (gst_plugin_register_func):
18639           everything causing a plugin not to load should be at least a WARNING
18640
18641 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
18642
18643         * docs/random/ensonic/dparams.txt:
18644           some TODOs for the next dev cycle
18645         * libs/gst/controller/gstcontroller.c:
18646         (gst_controlled_property_set_interpolation_mode),
18647         (gst_controlled_property_new):
18648         * libs/gst/controller/gstcontroller.h:
18649           use base type to assign acccessor functions
18650
18651 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
18652
18653         * check/Makefile.am:
18654         Oops, that should have been top_srcdir
18655
18656 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
18657
18658         * check/Makefile.am:
18659         * check/elements/fdsrc.c: (GST_START_TEST):
18660         Use a cmdline define to specify the location of a file to use for
18661         testing, to avoid breaking distcheck.
18662
18663 2005-11-28  Andy Wingo  <wingo@pobox.com>
18664
18665         * gst/gstpad.c (fixate_value): Use array functions for arrays.
18666
18667 2005-11-28  Edward Hervey  <edward@fluendo.com>
18668
18669         * tools/gst-launch.c: (main):
18670         Clarify the output strings, makes it easier to translate.
18671         Fixes #322626
18672
18673 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18674
18675         * gst/Makefile.am:
18676           don't try and build net if we don't even have <sys/socket.h>
18677
18678 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
18679
18680         * check/Makefile.am:
18681         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
18682         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
18683           Add tests for fdsrc seekability
18684
18685         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
18686         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
18687         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
18688         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
18689         * gst/elements/gstfdsrc.h:
18690           fdsrc should not be a 'live' source.
18691           Implement seeking on seekable fd's.
18692
18693         * gst/gstquery.c: (gst_query_new_seeking),
18694         (gst_query_parse_seeking):
18695         * gst/gstquery.h:
18696           Implement SEEKING query functions: 
18697             *_new_seeking and *_parse_seeking
18698
18699 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
18700
18701         * gst/gstelement.c: (gst_element_dispose):
18702           don't loop forever
18703
18704         * gst/gstiterator.c:
18705         * gst/gststructure.c:
18706           doc fixes
18707
18708         * libs/gst/controller/gstcontroller.c:
18709         (gst_controlled_property_set_interpolation_mode):
18710         * libs/gst/controller/gstcontroller.h:
18711         * libs/gst/controller/gstinterpolation.c:
18712         (interpolate_none_get_enum_value_array):
18713           support controlling enums
18714
18715 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
18716
18717         * gst/gstvalue.c:
18718           Improve documentation for gst_value_union().
18719
18720         * gst/gstvalue.h:
18721           Change return value for union, intersect and subtract functions
18722           from gint to gboolean.
18723
18724 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
18725
18726         * gst/gstvalue.c: (gst_value_serialize_any_list),
18727         (gst_value_transform_any_list_string),
18728         (gst_value_deserialize_list), (gst_value_deserialize_array),
18729         (gst_value_set_int_range), (gst_value_deserialize_int_range),
18730         (gst_value_set_double_range), (gst_value_deserialize_double_range),
18731         (gst_value_set_fraction_range_full),
18732         (gst_value_deserialize_fraction_range),
18733         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
18734         (gst_value_deserialize_boolean),
18735         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
18736         (gst_value_serialize_float), (gst_value_deserialize_float),
18737         (gst_string_wrap), (gst_value_deserialize_string),
18738         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
18739         (gst_value_union_int_range_int_range),
18740         (gst_value_intersect_int_range_int_range),
18741         (gst_value_intersect_double_range_double_range),
18742         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
18743         (gst_value_subtract_int_range_int_range),
18744         (gst_value_subtract_double_double_range),
18745         (gst_value_subtract_double_range_double_range),
18746         (gst_value_deserialize_fraction):
18747         * gst/gstvalue.h:
18748           Use gint, gdouble and gchar in our API instead of int, double and
18749           char (and make usage in gstvalue.c more consistent).
18750
18751 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18752
18753         * check/Makefile.am:
18754         * libs/gst/controller/Makefile.am:
18755         * libs/gst/dataprotocol/Makefile.am:
18756           fix up Makefile.am and remove GST_ENABLE_NEW
18757
18758 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18759
18760         * configure.ac:
18761         * gst/Makefile.am:
18762         * gst/base/Makefile.am:
18763         * gst/check/Makefile.am:
18764         * gst/elements/Makefile.am:
18765         * gst/net/Makefile.am:
18766           update LDFLAGS use some more
18767
18768 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18769
18770         * common/m4/gst-doc.m4:
18771           Fixes #312589
18772
18773 2005-11-26  Edward Hervey  <edward@fluendo.com>
18774
18775         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
18776         This shouldn't issue a g_warning since it returns NULL if it
18777         couldn't find the plugin, and all functions using this behave
18778         properly on a NULL return. Switching to a GST_WARNING.
18779
18780 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
18781
18782         * gst/gstbin.c: (gst_bin_handle_message_func):
18783         Don't leak clock messages.
18784
18785 2005-11-25  Wim Taymans  <wim@fluendo.com>
18786
18787         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18788         (gst_util_uint64_scale_int):
18789         Optimisations, remove unneeded vars.
18790
18791 2005-11-25  Wim Taymans  <wim@fluendo.com>
18792
18793         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18794         Added more checks for the high precision uint64 cases.
18795
18796         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18797         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
18798         Implement high precision (guint64 * guint64) / guint64.
18799
18800 2005-11-24  Wim Taymans  <wim@fluendo.com>
18801
18802         * gst/base/gstbasesrc.c: (gst_base_src_query):
18803         Fix wrong percentage query.
18804
18805         * gst/gstutils.c: (gst_util_uint64_scale),
18806         (gst_util_uint64_scale_int):
18807         Add some more common cases that can be handled 
18808         efficiently to _scale.
18809
18810 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18811
18812         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
18813         (gst_mini_object_suite):
18814           don't use check calls from threads; check probably isn't
18815           threadsafe and using a lock to make it threadsafe would
18816           defeat the purpose of this check
18817         * gst/check/gstcheck.c:
18818         * gst/check/gstcheck.h:
18819           use GST_DEBUG some more
18820
18821 2005-11-24  Wim Taymans  <wim@fluendo.com>
18822
18823         * gst/gstutils.c: (gst_util_uint64_scale),
18824         (gst_util_uint64_scale_int):
18825         Chain trivial case to _scale_int.
18826
18827 2005-11-24  Wim Taymans  <wim@fluendo.com>
18828
18829         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18830         Added test for scaling.
18831
18832         * gst/gstclock.h:
18833         Small doc fix.
18834
18835         * gst/gstutils.c: (gst_util_uint64_scale_int):
18836         Implemented high precision scaling code.
18837
18838 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
18839
18840         * gst/gstinfo.h:
18841           do not crash on pad==NULL
18842
18843 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18844
18845         Patch by: Stefan Kost
18846
18847         * common/gtk-doc.mak:
18848         * docs/gst/Makefile.am:
18849         * docs/libs/Makefile.am:
18850           Fix distcheck issues for the libraries docs build
18851           Closes #319599.
18852
18853 2005-11-24  Michael Smith <msmith@fluendo.com>
18854
18855         * docs/manual/basics-helloworld.xml:
18856           Fix bug #315027: memory leak in example code in docs.
18857
18858 2005-11-24  Michael Smith <msmith@fluendo.com>
18859
18860         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18861           Unlock the PREROLL_LOCK in a failure case.
18862
18863 2005-11-24  Wim Taymans  <wim@fluendo.com>
18864
18865         * docs/gst/gstreamer-sections.txt:
18866         * gst/base/gstadapter.h:
18867         * gst/base/gstbasesink.h:
18868         * gst/base/gstbasesrc.h:
18869         * gst/base/gstbasetransform.h:
18870         * gst/base/gstpushsrc.h:
18871         * gst/elements/gstfakesink.h:
18872         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
18873         * gst/elements/gstfakesrc.h:
18874         * gst/elements/gstfilesink.h:
18875         * gst/elements/gstfilesrc.h:
18876         * gst/gst.c:
18877         * gst/gstbin.c:
18878         * gst/gstbuffer.c: (_gst_buffer_copy):
18879         * gst/gstbus.h:
18880         * gst/gstcaps.c:
18881         * gst/gstchildproxy.c:
18882         * gst/gstclock.c:
18883         * gst/gstelement.c:
18884         * gst/gstelementfactory.c:
18885         * gst/gstelementfactory.h:
18886         * gst/gstevent.c:
18887         * gst/gstghostpad.h:
18888         * gst/gstindex.h:
18889         * gst/gstinterface.h:
18890         * gst/gstminiobject.c:
18891         * gst/gstminiobject.h:
18892         * gst/gstpad.c:
18893         * gst/gstpad.h:
18894         * gst/gstpadtemplate.h:
18895         * gst/gstpipeline.h:
18896         * gst/gstpluginfeature.h:
18897         * gst/gstquery.h:
18898         * gst/gstqueue.h:
18899         * gst/gsttaglist.c:
18900         * gst/gsttaglist.h:
18901         * gst/gsttagsetter.c:
18902         * gst/gsttagsetter.h:
18903         * gst/gsttrace.c:
18904         * gst/gsttrace.h:
18905         * gst/gsttypefind.h:
18906         * gst/gsturi.h:
18907         * gst/gstvalue.c:
18908         * gst/net/gstnetclientclock.c:
18909         * gst/net/gstnetclientclock.h:
18910         * gst/net/gstnettimepacket.c:
18911         * gst/net/gstnettimeprovider.c:
18912         * gst/net/gstnettimeprovider.h:
18913         Doc fixes.
18914
18915 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18916
18917         * configure.ac: back to HEAD
18918
18919 === release 0.9.6 ===
18920
18921 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
18922
18923         * configure.ac:
18924           releasing 0.9.6, "Always On Time"
18925
18926 2005-11-23  Wim Taymans  <wim@fluendo.com>
18927
18928         * docs/gst/gstreamer-sections.txt:
18929         * gst/glib-compat.c:
18930         * gst/gsttagsetter.c:
18931         * gst/gstvalue.c:
18932         * gst/net/gstnetclientclock.c:
18933         * gst/net/gstnettimepacket.h:
18934         Doc updates.
18935
18936 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18937
18938         * docs/faq/using.xml:
18939         * docs/libs/tmpl/gstcontrol.sgml:
18940         * docs/manual/advanced-dparams.xml:
18941         * docs/manual/appendix-checklist.xml:
18942         * docs/manual/basics-elements.xml:
18943         * docs/pwg/other-source.xml:
18944         * docs/random/moving-plugins:
18945         * gst/gstpad.c:
18946         * tools/gst-launch.1.in:
18947           remove mentions of sinesrc
18948
18949 2005-11-23  Michael Smith <msmith@fluendo.com>
18950
18951         * docs/gst/gstreamer-sections.txt:
18952           Update for new API and API changes.
18953         * gst/gstobject.h:
18954           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
18955         * gst/gstvalue.c:
18956           Documentation typo fix.
18957         * gst/net/gstnettimepacket.c:
18958           Documentation fixes for arguments.
18959
18960 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
18961
18962         * gst/gststructure.c: (gst_structure_get_fraction),
18963         (gst_structure_parse_value),
18964         (gst_structure_fixate_field_nearest_fraction):
18965         * gst/gststructure.h:
18966         * gst/gstutils.c: (gst_util_uint64_scale_int):
18967         * gst/gstutils.h:
18968         * scripts/update-funcnames:
18969         API Changes. 
18970         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
18971         Make gst_structure_fixate_field_nearest_fraction take a numerator
18972         and denominator argument instead of a GValue
18973         add gst_structure_get_fraction helper function.
18974
18975 2005-11-23  Wim Taymans  <wim@fluendo.com>
18976
18977         * docs/design/part-TODO.txt:
18978         Update TODO.
18979
18980         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
18981         * gst/net/gstnetclientclock.h:
18982         Use parent fields for timeout and window_size.
18983
18984 2005-11-23  Andy Wingo  <wingo@pobox.com>
18985
18986         * check/net/gstnetclientclock.c (test_functioning): Adjust to
18987         rate_num/rate_denom change.
18988
18989         * gst/net/gstnetclientclock.c
18990         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
18991         OBJECT_LOCK. Don't call add_observation with the lock.
18992
18993         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
18994         fraction.
18995         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
18996         rate fraction.
18997         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
18998         deal with rate as a fraction whose numerator and denominator are
18999         GstClockTime values.
19000         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
19001         master; the other fields are protected by the SLAVE_LOCK.
19002         (do_linear_regression): Note that this must be called with the
19003         SLAVE_LOCK.
19004         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
19005         OBJECT_LOCK. Call set_calibration instead of touching the
19006         variables directly.
19007         (gst_clock_set_property, gst_clock_get_property): Protect
19008         master/slave parameters with the SLAVE_LOCK.
19009
19010         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
19011         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
19012         note that all of the instance variables that add_observation and
19013         the set_master functions use are protected by that lock and not
19014         the OBJECT_LOCK.
19015         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
19016
19017         * gst/gstclock.c (gst_clock_add_observation): No longer requires
19018         the caller to take the object lock.
19019
19020 2005-11-23  Wim Taymans  <wim@fluendo.com>
19021
19022         * gst/gsterror.c: (_gst_core_errors_init):
19023         * gst/gsterror.h:
19024         Add error for clock stuff.
19025
19026         * gst/gstpipeline.c: (gst_pipeline_change_state),
19027         (gst_pipeline_set_clock):
19028         Post clock error when clock cannot be used in a pipeline.
19029
19030 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
19031
19032         * docs/gst/gstreamer-sections.txt:
19033           make two symbols from gstinfo private for the docs
19034         * gst/base/gstcollectpads.h:
19035         * gst/gstutils.c:
19036           fix doc typos, update docs
19037
19038 2005-11-22  Wim Taymans  <wim@fluendo.com>
19039
19040         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19041         (gst_base_sink_wait), (gst_base_sink_do_sync),
19042         (gst_base_sink_handle_event):
19043         * gst/base/gstbasesink.h:
19044         No need to store the clock, the parent element class already
19045         has it.
19046
19047         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
19048         Updates for clock_set returning a gboolean
19049
19050         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
19051         (gst_clock_id_wait_async), (gst_clock_class_init),
19052         (gst_clock_init), (gst_clock_finalize),
19053         (gst_clock_get_internal_time), (gst_clock_get_time),
19054         (gst_clock_slave_callback), (gst_clock_set_master),
19055         (gst_clock_get_master), (do_linear_regression),
19056         (gst_clock_add_observation), (gst_clock_set_property),
19057         (gst_clock_get_property):
19058         * gst/gstclock.h:
19059         Implement master/slave. When setting a clock as a slave, a
19060         periodic timeout is scheduled to sample master and slave times.
19061         Then the slave clock is recalibrated to match offset and rate
19062         of the master clock.
19063         Update logging a bit.
19064         Add flag so that a clock can state that is cannot be slaved to
19065         another clock.
19066
19067         * gst/gstelement.c: (gst_element_set_clock):
19068         * gst/gstelement.h:
19069         The set clock returns a gboolean for when an element cannot
19070         deal with the selected clock in the pipeline. 
19071
19072         * gst/gstpipeline.c: (gst_pipeline_change_state),
19073         (gst_pipeline_set_clock):
19074         * gst/gstpipeline.h:
19075         Handle the case where the selected clock cannot be set on
19076         the pipeline.
19077
19078         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
19079         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
19080         (gst_net_client_clock_set_property),
19081         (gst_net_client_clock_get_property),
19082         (gst_net_client_clock_observe_times):
19083         * gst/net/gstnetclientclock.h:
19084         Use regression code in GstClock parent, remove duplicated
19085         functionality.
19086
19087 2005-11-22  Michael Smith <msmith@fluendo.com>
19088
19089         * gst/gstutils.c: (gst_util_clock_time_scale):
19090         * gst/gstutils.h:
19091         * docs/gst/gstreamer-sections.txt:
19092           Rename method to have extra underscore.
19093
19094 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19095
19096         * gst/elements/Makefile.am:
19097         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
19098         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19099         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19100         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
19101         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
19102         * gst/elements/gstfakesrc.h:
19103         * gst/gstqueue.c: (queue_leaky_get_type):
19104           correctly fix GEnumValues so that nick is the short lowercase
19105           dashed tag
19106         * tools/gst-inspect.c: (print_element_properties_info):
19107           also show the nick, since it's useful to use from parse_launch
19108           syntax
19109           Fixes #322139
19110
19111 2005-11-22  Michael Smith <msmith@fluendo.com>
19112
19113         * gst/gstutils.c: (gst_util_clocktime_scale):
19114         * gst/gstutils.h:
19115         * docs/gst/gstreamer-sections.txt:
19116           Add util method for scaling a clocktime by a fraction. Useful 
19117           implementation is left as an exercise for the reader.
19118
19119 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19120
19121         * gst/gstvalue.c: (gst_value_collect_fraction_range):
19122         If needed, allocate storage in the destination value during
19123         collection.
19124
19125 2005-11-22  Edward Hervey  <edward@fluendo.com>
19126
19127         * docs/gst/gstreamer-sections.txt:
19128         * gst/Makefile.am:
19129         * gst/gst.h:
19130         * gst/gsturitype.c:
19131         * gst/gsturitype.h:
19132         * gst/gstutils.c: (gst_util_set_object_arg):
19133         * tools/gst-compprep.c: (main):
19134         * tools/gst-inspect.c: (print_element_properties_info):
19135         Removed GstURI, closes bug #321061
19136
19137 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19138
19139         * check/gst/gststructure.c: (GST_START_TEST):
19140         * gst/gststructure.c: (gst_structure_parse_value):
19141           Oops, broke automatic string type parsing.
19142           Add a test to catch it in future.
19143
19144 2005-11-22  Andy Wingo  <wingo@pobox.com>
19145
19146         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
19147         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
19148         Actually rename the function implementations. Grr.
19149
19150 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19151
19152         * check/gst/capslist.h:
19153           Comment test cases
19154         * check/gst/gststructure.c: (GST_START_TEST),
19155         (gst_structure_suite):
19156           Test automatic value type detection in gst_structure_from_string.
19157         * gst/gststructure.c: (gst_structure_parse_value):
19158           Add fraction as a type we try and guess automatically in
19159           caps/structure strings.
19160
19161 2005-11-22  Andy Wingo  <wingo@pobox.com>
19162
19163         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
19164
19165         * gst/gsttagsetter.h:
19166         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
19167         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
19168         (gst_tag_setter_add_tag_valist)
19169         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
19170         _add_values, _add_valist, and _add_valist_values. Since this is an
19171         interface the function suffixes should be more explicit so
19172         language binding don't end up with element.add_valist ->
19173         gst_tag_setter_add_valist, for example. Fixes #322069.
19174
19175 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19176
19177         * check/gst/gstcaps.c: (GST_START_TEST):
19178           Extend caps string tests to check that a caps to string
19179           conversion is reversible and produces the same caps.
19180
19181         * gst/gststructure.c: (gst_structure_value_get_generic_type):
19182           Output "fraction" as the generic type fraction range, so caps
19183           serialisation and deserialisation works.
19184         * check/gst/capslist.h:
19185         * gst/gstvalue.c: (gst_value_deserialize_fraction):
19186           Support 'MIN' and 'MAX' for deserialising fractions.
19187
19188 2005-11-22  Andy Wingo  <wingo@pobox.com>
19189
19190         * gst/gstevent.h (gst_event_new_new_segment)
19191         (gst_event_parse_new_segment, gst_event_new_buffer_size)
19192         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
19193         Renamed from *_newsegment, *_buffersize, *_notarget.
19194
19195         * scripts/update-funcnames: New script, performs the changes
19196         listed above.
19197
19198 2005-11-22  Wim Taymans  <wim@fluendo.com>
19199
19200         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19201         Make sure the GstFlowReturn is returned.
19202
19203         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
19204         (gst_bus_add_signal_watch):
19205         * gst/gstbus.h:
19206         add gst_bus_add_signal_watch_full.
19207
19208         * gst/gstplugin.c: (gst_plugin_load_file):
19209         Small style cleanup.
19210
19211 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19212
19213         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
19214           Block the fakesrc srcpad when we send an event, to avoid
19215           contention on the stream_lock causing random test failures.
19216
19217 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19218
19219         * check/gst/gstvalue.c: (GST_START_TEST):
19220         * gst/gstvalue.c: (gst_value_fraction_subtract):
19221           Fix subtraction.
19222
19223 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
19224
19225         * gst/gst.h:
19226           include "gstchildproxy.h"
19227         * gst/gstchildproxy.h:
19228         * libs/gst/controller/gstcontroller.h:
19229           use G_GNUC_NULL_TERMINATED
19230
19231 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19232
19233         * check/gst/capslist.h:
19234         * check/gst/gstcaps.c: (GST_START_TEST):
19235         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19236         * gst/gststructure.c: (gst_structure_parse_range),
19237         (gst_structure_fixate_field_nearest_fraction):
19238         * gst/gststructure.h:
19239         * gst/gstvalue.c: (gst_value_init_fraction_range),
19240         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
19241         (gst_value_collect_fraction_range),
19242         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
19243         (gst_value_set_fraction_range_full),
19244         (gst_value_get_fraction_range_min),
19245         (gst_value_get_fraction_range_max),
19246         (gst_value_serialize_fraction_range),
19247         (gst_value_transform_fraction_range_string),
19248         (gst_value_compare_fraction_range),
19249         (gst_value_deserialize_fraction_range),
19250         (gst_value_intersect_fraction_fraction_range),
19251         (gst_value_intersect_fraction_range_fraction_range),
19252         (gst_value_subtract_fraction_fraction_range),
19253         (gst_value_subtract_fraction_range_fraction),
19254         (gst_value_subtract_fraction_range_fraction_range),
19255         (gst_value_collect_fraction), (gst_value_fraction_multiply),
19256         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
19257         (gst_value_transform_string_fraction), (_gst_value_initialize):
19258         * gst/gstvalue.h:
19259           Implement fraction ranges and extend GstFraction to support
19260           arithmetic subtraction, as well as deserialization from integer
19261           strings such as "100"
19262           Add a testsuite as for int and double range set operations
19263
19264 2005-11-21  Andy Wingo  <wingo@pobox.com>
19265
19266         * gst/gsttaglist.h: 
19267         * gst/gstcaps.h: 
19268         * gst/gststructure.h: Add glib-compat.h.
19269
19270 2005-11-21  Wim Taymans  <wim@fluendo.com>
19271
19272         * gst/gstbin.c: (gst_bin_change_state_func):
19273         Fix for #321595
19274
19275 2005-11-21  Wim Taymans  <wim@fluendo.com>
19276
19277         * gst/gstsegment.h:
19278         And add a nice define too.
19279
19280 2005-11-21  Wim Taymans  <wim@fluendo.com>
19281
19282         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
19283         (gst_segment_new), (gst_segment_free), (gst_segment_init),
19284         (gst_segment_set_duration), (gst_segment_set_last_stop),
19285         (gst_segment_set_seek), (gst_segment_set_newsegment),
19286         (gst_segment_to_stream_time), (gst_segment_to_running_time),
19287         (gst_segment_clip):
19288         * gst/gstsegment.h:
19289         Make binding friendly.
19290
19291 2005-11-21  Andy Wingo  <wingo@pobox.com>
19292
19293         * gst/gsttagsetter.h: 
19294         * gst/gsttaglist.h: 
19295         * gst/gststructure.h: 
19296         * gst/gstcaps.h: 
19297         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
19298         #319940.
19299
19300         * gst/gsterror.c (_gst_core_errors_init):
19301         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
19302         category.
19303
19304         * gst/Makefile.am (gst_headers): Add glib-compat.h.
19305         (noinst_HEADERS): noinst the -private.
19306
19307 2005-11-21  Michael Smith <msmith@fluendo.com>
19308
19309         * gst/gstplugin.h:
19310         * gst/gstregistry.h:
19311           Remove unimplemented declarations for which we can see no sensible
19312           use.
19313
19314 2005-11-21  Andy Wingo  <wingo@pobox.com>
19315
19316         * gst/gst.h: Include glib-compat.h.
19317
19318         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
19319
19320         * gst/glib-compat.c: Include the public and the private header.
19321
19322         * gst/glib-compat-private.h: Copied here from glib-compat.h.
19323
19324         * gst/gstvalue.c: 
19325         * gst/gstpad.c: 
19326         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
19327
19328         * check/gst/gstevent.c (create_custom_events): Check that
19329         FLUSH_STOP is serialized.
19330
19331         * check/elements/identity.c (event_func): 
19332         * check/elements/fakesrc.c (event_func): No stream lock, the core
19333         takes it.
19334
19335         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
19336         stream lock taking, yay.
19337
19338         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
19339         ensure that core takes the stream lock.
19340
19341         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
19342         lock name change.
19343
19344         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
19345         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
19346         it already. For the flush start we do take it though so we get the
19347         right preroll state change messages.
19348
19349         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
19350         the stream lock here, the core does it for us.
19351
19352         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
19353         GST_STREAM_GET_LOCK.
19354         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
19355         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
19356         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
19357         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
19358         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
19359         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
19360
19361         * gst/gstpad.c: Update for stream lock name change.
19362
19363         * gst/base/gstbasesink.c: Update for preroll lock name change.
19364
19365 2005-11-21  Wim Taymans  <wim@fluendo.com>
19366
19367         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
19368         (gst_clock_get_master):
19369         * gst/gstclock.h:
19370         * gst/gstsystemclock.c: (gst_system_clock_init):
19371         Convert Clock flags to object flags.
19372         Added methods to manage master/slave clocks.
19373
19374 2005-11-21  Wim Taymans  <wim@fluendo.com>
19375
19376         * check/gst/gstsegment.c: (GST_START_TEST):
19377         * docs/design/part-TODO.txt:
19378         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19379         (gst_base_sink_event), (gst_base_sink_do_sync),
19380         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
19381         (gst_base_sink_query), (gst_base_sink_change_state):
19382         * gst/base/gstbasesink.h:
19383         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
19384         (gst_base_src_default_newsegment),
19385         (gst_base_src_configure_segment), (gst_base_src_do_seek),
19386         (gst_base_src_get_range), (gst_base_src_loop),
19387         (gst_base_src_change_state):
19388         * gst/base/gstbasesrc.h:
19389         * gst/base/gstbasetransform.c:
19390         (gst_base_transform_prepare_output_buf),
19391         (gst_base_transform_event), (gst_base_transform_change_state):
19392         * gst/base/gstbasetransform.h:
19393         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
19394         (gst_collect_pads_event):
19395         * gst/base/gstcollectpads.h:
19396         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
19397         (gst_fake_src_create):
19398         * gst/elements/gstfakesrc.h:
19399         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19400         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
19401         (gst_segment_set_last_stop), (gst_segment_set_seek),
19402         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
19403         (gst_segment_to_running_time), (gst_segment_clip):
19404         * gst/gstsegment.h:
19405         More segment updates, replace code in plugins with segment
19406         helper functions.
19407
19408 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
19409
19410         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
19411         Don't ignore sscanf results
19412
19413 2005-11-21  Andy Wingo  <wingo@pobox.com>
19414
19415         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
19416
19417         * *.h:
19418         * *.c: Ran scripts/update-macros. Oh yes.
19419
19420         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
19421         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
19422         GST_GET_LOCK, etc.
19423
19424         * scripts/update-macros: New script. Run it on your files to
19425         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
19426         well.
19427
19428 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
19429
19430         * docs/gst/Makefile.am:
19431         * docs/gst/gstreamer-docs.sgml:
19432         * docs/gst/gstreamer-sections.txt:
19433         * docs/gst/gstreamer.types:
19434         * gst/gstinfo.h:
19435           more docs fixes, add new api to the docs
19436
19437 2005-11-21  Andy Wingo  <wingo@pobox.com>
19438
19439         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
19440         state_broadcast call.
19441
19442         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
19443
19444 2005-11-21  Julien MOUTTE  <julien@moutte.net>
19445
19446         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
19447         function calls for arrays.
19448
19449 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
19450
19451         * docs/random/ensonic/media-device-daemon.txt:
19452           wild idea, can this be done?
19453         * docs/gst/gstreamer-sections.txt:
19454         * gst/gsterror.h:
19455         * gst/gstfilter.c:
19456         * gst/gstfilter.h:
19457         * gst/gstplugin.h:
19458         * gst/gstpluginfeature.c:
19459         * gst/gsttrace.c:
19460         * gst/gstvalue.c:
19461         * gst/gstvalue.h:
19462           doc fixes and additions
19463
19464 2005-11-21  Andy Wingo  <wingo@pobox.com>
19465
19466         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
19467         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
19468         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
19469         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
19470         private to the basesrc implementation.
19471
19472         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
19473         behalf of event function if necessary. It should no longer be
19474         necessary to take the stream lock in pad's event functions. Fixes
19475         #320299.
19476
19477 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
19478         * docs/gst/gstreamer-sections.txt:
19479         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
19480         (gst_structure_fixate_field_nearest_double),
19481         (gst_structure_fixate_field_boolean):
19482         * gst/gststructure.h:
19483         * win32/common/libgstreamer.def:
19484         * win32/gstreamer.def:
19485
19486         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
19487         (#322027)
19488
19489 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
19490
19491         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
19492         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
19493         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
19494         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
19495         (gst_fdsrc_uri_handler_init):
19496         * gst/elements/gstfdsrc.h:
19497           Port fd:// URI handler from 0.8 to fdsrc
19498
19499 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19500
19501         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
19502         (gst_value_serialize_fourcc):
19503         * gst/gstvalue.h:
19504           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
19505           consistent with our other format defines (#320324).
19506
19507 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19508
19509         * gst/gstvalue.c: (gst_value_is_fixed):
19510           Revert previous commit. Value lists are by definition
19511           not fixed, as they are a list of possible values.
19512
19513 2005-11-21  Andy Wingo  <wingo@pobox.com>
19514
19515         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
19516         during the stable series if we need it. Fixes #319178.
19517
19518         * gst/gstevent.c (gst_event_new_filler): Removed.
19519
19520         * check/gst/gstevent.c: Update comment about filler events.
19521
19522 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19523
19524         * gst/gstvalue.c: (gst_value_is_fixed):
19525           Should handle both value arrays and value lists.
19526
19527 2005-11-21  Andy Wingo  <wingo@pobox.com>
19528
19529         patch by: Alessandro Dessina <alessandro nnva org>
19530
19531         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
19532         functions to access arrays. Fixes #321962.
19533
19534 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19535
19536         * docs/gst/gstreamer.types:
19537           gst_collectpads_get_type => gst_collect_pads_get_type.
19538           
19539         * gst/base/gstbasetransform.c:
19540           Remove unused SIGNAL_HANDOFF enum.
19541
19542 2005-11-21  Andy Wingo  <wingo@pobox.com>
19543
19544         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
19545         the event type (upstream, downstream, serialized). Renamed
19546         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
19547         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
19548         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
19549
19550         * gst/gstevent.c: Update for new CUSTOM event names.
19551
19552         * check/gst/gstevent.c: Update check for new CUSTOM event names.
19553
19554         * gst/gstevent.h:
19555         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
19556         bug #319392.
19557
19558 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19559
19560         * docs/gst/gstreamer-sections.txt:
19561         * win32/common/libgstbase.def:
19562         * win32/libgstbase.def:
19563         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
19564         (gst_collect_pads_class_init), (gst_collect_pads_init),
19565         (gst_collect_pads_finalize), (gst_collect_pads_new),
19566         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
19567         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
19568         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
19569         (gst_collect_pads_start), (gst_collect_pads_stop),
19570         (gst_collect_pads_peek), (gst_collect_pads_pop),
19571         (gst_collect_pads_available), (gst_collect_pads_read),
19572         (gst_collect_pads_flush), (gst_collect_pads_event),
19573         (gst_collect_pads_chain):
19574         * gst/base/gstcollectpads.h:
19575           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
19576           unimplemented functions as unimplemented. Add padding to
19577           GstCollectData. (#320766, #320423)
19578
19579 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19580
19581         * gst/gstmessage.c:
19582           Improve docs for DURATION message (usage of duration parameter)
19583           (#320113)
19584
19585 2005-11-20  Wim Taymans  <wim@fluendo.com>
19586
19587         * check/Makefile.am:
19588         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
19589         (main):
19590         * gst/Makefile.am:
19591         * gst/gst.h:
19592         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
19593         (gst_segment_set_seek), (gst_segment_set_newsegment),
19594         (gst_segment_to_stream_time), (gst_segment_to_running_time),
19595         (gst_segment_clip):
19596         * gst/gstsegment.h:
19597         Added segment helper structure and methods. Not fully implemented
19598         yet.
19599         Added segment check.
19600
19601 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
19602
19603         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19604           Add a deserialisation test for fractions
19605         * examples/metadata/read-metadata.c: (message_loop),
19606         (make_pipeline), (main):
19607           Fix up metadata reading sample.
19608         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19609           Debug format fix
19610         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19611           Don't try and fixate empty caps
19612         * gst/gst_private.h:
19613           Wrap in G_BEGIN_DECLS/G_END_DECLS
19614         * gst/gstvalue.c: (gst_value_collect_fraction),
19615         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
19616         (gst_value_transform_string_fraction),
19617         (gst_value_compare_fraction):
19618           Add some extra guards to ensure that we don't end up 
19619           with an invalid denominator of 0 in a gstfraction and
19620           that fractions always get reduced.
19621
19622 2005-11-20  Wim Taymans  <wim@fluendo.com>
19623
19624         * docs/gst/gstreamer-sections.txt:
19625         * gst/gstbuffer.h:
19626         * gst/gstelement.c:
19627         * gst/gstformat.c:
19628         * gst/gstformat.h:
19629         * gst/gstindex.h:
19630         * gst/gstquery.c:
19631         * gst/gstquery.h:
19632         * gst/gstvalue.c:
19633         Doc fixes.
19634
19635 2005-11-20  Wim Taymans  <wim@fluendo.com>
19636
19637         * docs/design/part-TODO.txt:
19638         * gst/gstcaps.h:
19639         Make a proper enum of the flag.
19640
19641 2005-11-19  Wim Taymans  <wim@fluendo.com>
19642
19643         * docs/design/part-TODO.txt:
19644         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
19645         (gst_format_to_quark), (gst_format_register):
19646         * gst/gstformat.h:
19647         * gst/gstquery.c: (_gst_query_initialize),
19648         (gst_query_type_get_name), (gst_query_type_to_quark),
19649         (gst_query_type_register):
19650         * gst/gstquery.h:
19651         Add type to quark and type to string conversions.
19652
19653 2005-11-19  Andy Wingo  <wingo@pobox.com>
19654
19655         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
19656         #320097.
19657
19658 2005-11-19  Wim Taymans  <wim@fluendo.com>
19659
19660         * docs/design/part-TODO.txt:
19661         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
19662         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
19663         (gst_bin_handle_message_func):
19664         * gst/gstbin.h:
19665         Make message handling overridable.
19666
19667 2005-11-19  Andy Wingo  <wingo@pobox.com>
19668
19669         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
19670
19671         * gst/gstclock.h:
19672         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
19673         be a GstClockTime.
19674         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
19675         is a GstClockTime. Fixes #321710.
19676
19677         * gst/gstclock.h (GstClock): Remove offset property. Add
19678         internal_calibration and external_calibration. Fix padding. Pad
19679         also by GstClockTime so we don't run into problems.
19680
19681         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
19682         (gst_clock_get_rate_offset): Remove.
19683         (gst_clock_set_time_adjust): Remove. Fixes #321712.
19684
19685         * gst/gstutils.h:
19686         * gst/gstutils.c (g_static_rec_cond_wait)
19687         (g_static_rec_cond_timed_wait): Removed, no longer needed.
19688
19689         * gst/gstbin.c: Remove terrible continue_state prototype.
19690
19691         * gst/gstelement.h (gst_element_continue_state): Make public.
19692
19693         * gst/gstelement.h:
19694         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
19695         by continue_state. Fixes #319389.
19696
19697         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
19698         Really fixes #168438. However I don't see anywhere where the
19699         filter function is called... stupid GStreamer...
19700         
19701         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
19702         don't have a dispose function, so it won't get called when the
19703         object is unreffed, but oh well!
19704
19705         * gst/gstindex.c (gst_index_set_filter_full): New API function,
19706         allows a destroy function to be set so user_data can be freed.
19707         Fixes #168438.
19708         (gst_index_set_filter): Call gst_index_set_filter_full.
19709
19710         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
19711
19712         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
19713         string should produce an error, given the lack of a way to
19714         represent NULL strings. Fixes #165650.
19715         
19716         * gst/gstvalue.h: 
19717         * gst/gstvalue.c (gst_value_array_append_value) 
19718         (gst_value_array_prepend_value, gst_value_array_get_size) 
19719         (gst_value_array_get_value): New API, copied from
19720         gst_value_list_*, only operates on arrays.
19721         (gst_value_list_append_value, gst_value_list_prepend_value) 
19722         (gst_value_list_concat, gst_value_list_get_size) 
19723         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
19724
19725         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
19726         init_list, because it works on both.
19727         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
19728         (gst_value_copy_list_or_array): Renamed from copy_list.
19729         (gst_value_free_list_or_array): Renamed from free_list.
19730         (gst_value_collect_list_or_array): Renamed from collect_list.
19731         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
19732         (gst_value_list_or_array_peek_pointer): Renamed from
19733         list_peek_pointer.
19734         (_gst_value_array_value_table, _gst_value_list_value_table):
19735         Update value table functions.
19736         (gst_value_compare_list_or_array): Renamed from compare_list.
19737
19738         * gsttaglist.h: Whoops, foreach function returns void. Also fix
19739         some constness.
19740
19741         * gst/gsttaglist.c:
19742         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
19743         GstTagList*. Fixes #143472.
19744
19745         * gst/gststructure.h: Clarify what the foreach/map functions can
19746         or can't do to their arguments.
19747
19748 2005-11-18  Wim Taymans  <wim@fluendo.com>
19749
19750         * gst/gstclock.c: (gst_clock_set_calibration),
19751         (gst_clock_get_calibration):
19752         Doc and API fixes.
19753         Calibration can be set with internal time equal to current
19754         internal time too.
19755
19756 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19757
19758         * gst/gsterror.c:
19759         * gst/gsterror.h:
19760           document
19761
19762 2005-11-18  Andy Wingo  <wingo@pobox.com>
19763
19764         * configure.ac: 
19765         * pkgconfig/gstreamer-net.pc.in:
19766         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19767         * pkgconfig/Makefile.am: Add net pkgconfig files.
19768
19769 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
19770
19771         * gst/gstcaps.c:
19772         * gst/gstghostpad.c:
19773         * gst/gsttrace.c:
19774         * gst/gstvalue.c:
19775         * gst/gstvalue.h:
19776           docs fixes
19777
19778 2005-11-18  Andy Wingo  <wingo@pobox.com>
19779
19780         * gst/net/gstnetclientclock.c: Turn off debugging.
19781
19782         * check/net/gstnetclientclock.c (test_functioning): Assert that the
19783         times connverge somewhat. Can't make a real test.
19784
19785         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
19786         integer arithmetic. Return the minimum of the domain, which can be
19787         set as "internal" for gst_clock_set_calibration.
19788         (gst_net_client_clock_observe_times): Call _set_calibration.
19789         (gst_net_client_clock_new): Call _set_calibration instead of
19790         rate_offset.
19791
19792         * check/net/gstnetclientclock.c (test_functioning): Use the right
19793         adjustment api.
19794
19795         * gst/gstclock.h:
19796         * gst/gstclock.c (gst_clock_get_calibration) 
19797         (gst_clock_set_calibration): New functions, obsolete the ones I
19798         added yesterday. Doh. Precision issues mean we have to extrapolate
19799         from a point in the more recent past than 1970.
19800         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
19801         obsolete.
19802         (gst_clock_adjust_unlocked): Use the right calibration data.
19803
19804 2005-11-18  Edward Hervey  <edward@fluendo.com>
19805
19806         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
19807         Also reset the ->current_* values in READY->PAUSED
19808
19809 2005-11-18  Andy Wingo  <wingo@pobox.com>
19810
19811         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
19812         Whoops, check the right fd. Also add some debugging.
19813         (gst_net_client_clock_observe_times): Adjust for int64 offset.
19814         (do_linear_regression): Add a crapload of debugging. Subtract off
19815         the minimum values from the input series to discard unneeded bits.
19816         Use only int arithmetic. There is still double arithmetic when
19817         calculating the intercept that needs fixing. Return boolean to
19818         indicate success; FALSE would mean the domain or range is too
19819         great. Still needs fixes.
19820
19821 2005-11-18  Wim Taymans  <wim@fluendo.com>
19822
19823         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
19824         For the current position in stream time, we need to subtract
19825         accumulated time.
19826         
19827         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
19828         Release lock before calling the callback function of async
19829         entries.
19830
19831 2005-11-18  Andy Wingo  <wingo@pobox.com>
19832
19833         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
19834         Port goes all the way to MAXUINT16.
19835
19836         * gst/net/gstnettimeprovider.c: Make the port range the same as
19837         for the kernel: 0 assigns, otherwise ports are less than
19838         MAXUINT16.
19839
19840         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
19841         port change.
19842
19843         * check/net/gstnetclientclock.c (test_functioning): Add the start
19844         of another test. 
19845
19846 2005-11-18  Wim Taymans  <wim@fluendo.com>
19847
19848         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19849         (gst_bin_remove_func), (bin_bus_handler):
19850         * gst/gstbin.h:
19851         Removing a clock provider from a bin, triggers a clock lost message
19852         so that a new clock will be selected.
19853         Adding a clock to a bin triggers a clock provider message.
19854         Make sure we reselect a clock when we received a clock lost message.
19855         Keep a reference to the element that provided the clock.
19856
19857 2005-11-18  Andy Wingo  <wingo@pobox.com>
19858
19859         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
19860         the clock initially so it produces values around the base time.
19861         (gst_net_client_clock_class_init): Typo fix.
19862         (gst_net_client_clock_thread): Add note on when the socket gets
19863         closed.
19864
19865 2005-11-17  Wim Taymans  <wim@fluendo.com>
19866
19867         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
19868         Free remote and local time arrays.
19869
19870 2005-11-17  Wim Taymans  <wim@fluendo.com>
19871
19872         * gst/net/gstnetclientclock.c: (do_linear_regression),
19873         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
19874         Fix compilation, uninitialized vars and a forgotten continue.
19875
19876 2005-11-17  Andy Wingo  <wingo@pobox.com>
19877
19878         * check/Makefile.am (check_PROGRAMS): 
19879         * check/net/gstnetclientclock.c: Add a most minimal test for the
19880         net client clock. More to come later.
19881
19882         * gst/net/gstnet.h: 
19883         * gst/net/Makefile.am: Add netclientclock.
19884
19885         * gst/net/gstnetclientclock.h:
19886         * gst/net/gstnetclientclock.c: New files, implement an untested
19887         GstClock that takes its time from a network time provider.
19888         Implements the algorithm in network-clock.scm.
19889
19890         * tests/network-clock.scm (*window-size*): Rename from
19891         *queue-length*.
19892         * tests/network-clock.scm (network-time): 
19893         * tests/network-clock-utils.scm (q-push): Update callers.
19894
19895 2005-11-17  Wim Taymans  <wim@fluendo.com>
19896
19897         * gst/gstbin.c: (gst_bin_provide_clock_func),
19898         (gst_bin_sort_iterator_new):
19899         And unref the child too..
19900
19901 2005-11-17  Wim Taymans  <wim@fluendo.com>
19902
19903         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
19904         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
19905         Refactor the sort iterator so it can be used while holding the
19906         LOCK too.
19907         Make clock selection select a clock closest to the source.
19908
19909 2005-11-17  Michael Smith <msmith@fluendo.com>
19910
19911         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
19912         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
19913         * gst/gstclock.h:
19914           Anonymous structs are a gcc (and some other compilers) extension, so
19915           don't use them. Since this is only for ABI-compatibility, and our
19916           API/ABI freeze is over in a few days, this whole thing will only
19917           last a few days, so don't bother trying to think up a meaningful
19918           name for the struct.
19919
19920 2005-11-17  Andy Wingo  <wingo@pobox.com>
19921
19922         * gst/gstclock.h (GstClock): Add rate and offset properties,
19923         preserving ABI stability. Add rate/offset accessors. Will file bug
19924         for the freeze break.
19925
19926         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
19927         and offset, trying to keep precision and avoiding
19928         underflow/overflow.
19929         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
19930         functions. Make gst_clock_set_time_adjust obsolete.
19931         (gst_clock_set_time_adjust): Note that this function is obsolete.
19932         Will file bug soon.
19933
19934         * gst/base/gstbasetransform.h: Make the ABI-stability hack
19935         greppable by using GST_PADDING-1+1.
19936
19937 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
19938
19939         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19940
19941         * gst/gstmessage.c: (gst_message_parse_clock_lost):
19942           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
19943
19944         * gst/gstpadtemplate.h:
19945         * gst/gstpluginfeature.h:
19946           Don't use c++ style comments in headers (#321638).
19947
19948 2005-11-16  Andy Wingo  <wingo@pobox.com>
19949
19950         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
19951         buffer.
19952
19953         * check/net/gstnettimeprovider.c: Check to see that the time
19954         provider actually provides times. Works, yo!
19955
19956 2005-11-16  Wim Taymans  <wim@fluendo.com>
19957
19958         * check/Makefile.am:
19959         Enable more tests.
19960
19961         * check/elements/fakesrc.c: (GST_START_TEST):
19962         Set element to NULL before disposing it.
19963
19964 2005-11-16  Andy Wingo  <wingo@pobox.com>
19965
19966         * gst/net/Makefile.am:
19967         * gst/net/gstnet.h:
19968         * gst/net/gstnettimeprovider.c: 
19969         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
19970         provider, include it from gstnet.h, and add it to the build.
19971
19972         * gst/net/gstnettimepacket.h: 
19973         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
19974         sending and receiving.
19975
19976 2005-11-16  Wim Taymans  <wim@fluendo.com>
19977
19978         * check/Makefile.am:
19979         Enable valgrind check.
19980
19981         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
19982         (gst_fake_src_alloc_buffer):
19983         Fix memleak.
19984
19985 2005-11-16  Wim Taymans  <wim@fluendo.com>
19986
19987         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
19988         Call parent finalize too.
19989
19990 2005-11-16  Wim Taymans  <wim@fluendo.com>
19991
19992         * check/Makefile.am:
19993         Enable valgrind check that should work fine now.
19994
19995         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19996         * gst/gstqueue.c: (gst_queue_init):
19997         Fix memleaks in pad allocation.
19998
19999 2005-11-16  Andy Wingo  <wingo@pobox.com>
20000
20001         * gst/net/Makefile.am:
20002         * gst/net/gstnet.h: New part of core to hold network elements and
20003         objects. Put in core because it exposes API that applications want
20004         to use. The library is named libgstnet-tempname right now because
20005         of the existing libgstnet in gst-plugins-base. Solution is
20006         probably to rename the one in plugins-base; will file a bug for
20007         the freeze break.
20008
20009         * gst/net/gstnettimeprovider.c: 
20010         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
20011         get_time call over the network.
20012
20013         * configure.ac: 
20014         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
20015
20016         * check/Makefile.am:
20017         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
20018         get additions shortly.
20019
20020 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20021
20022         * gst/gstpad.c: (gst_pad_new_from_static_template):
20023         * gst/gstpad.h:
20024           add gst_pad_new_from_static_template functions
20025         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
20026         (gst_check_setup_sink_pad):
20027         * gst/elements/gsttee.c: (gst_tee_init):
20028           and use them
20029
20030 2005-11-16  Wim Taymans  <wim@fluendo.com>
20031
20032         * gst/gstpad.c: (gst_pad_pause_task):
20033         Removed warning, it's not really an error either.
20034
20035 2005-11-16  Wim Taymans  <wim@fluendo.com>
20036
20037         * gst/base/gstbasetransform.c:
20038         (gst_base_transform_prepare_output_buf),
20039         (gst_base_transform_event):
20040         Check if the caps are NULL, this can happen if the element
20041         is shutting down and the pad caps are set to NULL.
20042
20043 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20044
20045         * gst/elements/gsttee.c: (gst_tee_init):
20046           fix pad template leak in tee
20047
20048 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20049
20050         * gst/glib-compat.c: (g_value_dup_gst_object):
20051         * gst/glib-compat.h:
20052         * gst/gstpad.c: (gst_pad_set_property):
20053           use gst_object_ref when setting the pad template; this will
20054           trigger the pad template leaks on GLib 2.6 and the slaves
20055
20056 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20057
20058         * gst/glib-compat.c: (gst_flags_get_first_value):
20059         * gst/glib-compat.h:
20060         * gst/gstregistryxml.c:
20061           remove functions copied from GLib 2.6
20062
20063 2005-11-16  Michael Smith <msmith@fluendo.com>
20064
20065         * gst/Makefile.am:
20066           Don't link against VALGRIND_LIBS. That was always the wrong thing to
20067           do, but only breaks with newer valgrind versions. We're not a
20068           valgrind tool, we have no link-time dependencies on libcoregrind.
20069
20070 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20071
20072         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20073           some debug changes
20074         * gst/gstmessage.h:
20075           typo fixes
20076
20077 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20078
20079         * gst/base/gstbasesrc.c: (gst_base_src_init):
20080         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20081         * gst/gstqueue.c: (gst_queue_init):
20082         * gst/gstregistryxml.c: (load_feature):
20083           Revert all these unrefs, they don't even pass make check !
20084
20085 2005-11-15  Johan Dahlin  <johan@gnome.org>
20086
20087         * gst/base/gstbasesrc.c: (gst_base_src_init):
20088         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20089         * gst/gstqueue.c: (gst_queue_init): 
20090         Free pad templates, fixes a couple of leaks.
20091
20092 2005-11-15  Daniel Fischer  <dan at f3c dot com>
20093
20094         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20095
20096         * gst/gstpad.c: (gst_pad_get_property):
20097           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
20098           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
20099           (#321452)
20100
20101 2005-11-15  Wim Taymans  <wim@fluendo.com>
20102
20103         * gst/gstevent.c:
20104         Small doc update.
20105
20106 2005-11-15  Andy Wingo  <wingo@pobox.com>
20107
20108         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
20109
20110         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
20111         using GST_CLOCK_TIME_NONE to disable base time management.
20112         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
20113         time if it was NONE before.
20114         (gst_pipeline_change_state): Only munge the base time if
20115         stream_time != GST_CLOCK_TIME_NONE.
20116
20117         * check/gst/gstpipeline.c (test_base_time): Punt around the
20118         problem of the probe not being called, because that's not the
20119         issue I'm looking at. Add a check that setting stream_time to NONE
20120         disables base time management.
20121         
20122 2005-11-15  Wim Taymans  <wim@fluendo.com>
20123
20124         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20125         segment_stop == -1 at startup.
20126
20127         * gst/base/gstbasetransform.c: (gst_base_transform_event),
20128         (gst_base_transform_change_state):
20129         Init segment values at start.
20130
20131 2005-11-15  Wim Taymans  <wim@fluendo.com>
20132
20133         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20134         0 segment values are 0 in any format.
20135
20136         * gst/base/gstbasetransform.c: (gst_base_transform_event):
20137         * gst/base/gstbasetransform.h:
20138         Parse newsegment correctly in basetransform
20139
20140         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20141         Sync to clock using updated segment values.
20142
20143 2005-11-15  Andy Wingo  <wingo@pobox.com>
20144
20145         * check/gst/gstpipeline.c (test_base_time): Add check that the
20146         base time and stream time are reset correctly.
20147
20148 2005-11-15  Wim Taymans  <wim@fluendo.com>
20149
20150         * docs/design/part-TODO.txt:
20151         Some more TODO items.
20152
20153 2005-11-15  Andy Wingo  <wingo@pobox.com>
20154
20155         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
20156         error if the user selected "no clock" as the clocking method.
20157
20158         * check/gst/gstpipeline.c (test_base_time): New test for buffer
20159         timestamps with live capture.
20160
20161         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
20162         is 0 but we are a live source, timestamp the buffers using the
20163         element's clock.
20164
20165 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
20166
20167         * docs/gst/gstreamer-sections.txt:
20168         * gst/gsterror.c:
20169         * gst/gstghostpad.c:
20170         * gst/gstobject.h:
20171         * gst/gstxml.c:
20172           more section docs
20173
20174 2005-11-14  Wim Taymans  <wim@fluendo.com>
20175
20176         * common/gst.supp:
20177           add suppressions from Wim's Debian machine
20178
20179 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
20180
20181         * common/gst.supp:
20182           add suppressions from Andy's AMD64 Ubuntu machine
20183
20184 2005-11-14  Andy Wingo  <wingo@pobox.com>
20185
20186         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
20187         STATE_LOCK not necessary. Fixes #311489.
20188
20189         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
20190         #305291.
20191
20192         * gst/gstindex.c (gst_index_add_object): Note in the docs that
20193         this function is not implemented.
20194
20195 2005-11-14  Julien MOUTTE  <julien@moutte.net>
20196
20197         * gst/base/gstbasetransform.c:
20198         (gst_base_transform_prepare_output_buf):
20199         Ref the source pad caps while we need them.
20200         Fixes (#321386)
20201
20202 2005-11-11  Wim Taymans  <wim@fluendo.com>
20203
20204         * docs/gst/gstreamer-sections.txt:
20205         Added some docs for GstCollectData.
20206
20207         * gst/base/gstadapter.c:
20208         Some small code example fix.
20209
20210         * gst/base/gstcollectpads.c:
20211         * gst/base/gstcollectpads.h:
20212         Document some more.
20213
20214 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20215
20216         * configure.ac: back to HEAD
20217
20218 === release 0.9.5 ===
20219
20220 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
20221
20222         * configure.ac:
20223           releasing 0.9.5, "Bike Lunch Day"
20224
20225 2005-11-11  Wim Taymans  <wim@fluendo.com>
20226
20227         * gst/gstbuffer.c: (_gst_buffer_copy):
20228         Copy more flags.
20229
20230         * gst/gstcaps.c: (gst_caps_is_equal):
20231         Fix some docs.
20232         Make _is_equal fast in the trivial cases.
20233
20234         * gst/gstminiobject.c:
20235         * gst/gstminiobject.h:
20236         More docs. Spifify .h file.
20237
20238         * gst/gstutils.c:
20239         Small doc update.
20240
20241 2005-11-11  Wim Taymans  <wim@fluendo.com>
20242
20243         * gst/base/gstbasetransform.c:
20244         (gst_base_transform_prepare_output_buf),
20245         (gst_base_transform_handle_buffer):
20246         Small cleanups.
20247         If we're processing a buffer and need to allocate an output
20248         buffer, we cannot accept a format change. If we did get a 
20249         format change, we have to alloc a buffer ourselves of the 
20250         right size.
20251
20252 2005-11-11  Wim Taymans  <wim@fluendo.com>
20253
20254         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
20255         While checking the flag for reentrancy in the gstcaps function
20256         is nice to detect recursive invocations, it also makes it 
20257         impossible to call getcaps from multiple threads, which must be
20258         possible. So, checking for recursive calls has to go.
20259
20260 2005-11-11  Michael Smith <msmith@fluendo.com>
20261
20262         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20263           Don't sync on buffers that fall partially outside our current
20264           segment. Prevents an assertion failure/abort playing some files.
20265
20266 2005-11-10  Andy Wingo  <wingo@pobox.com>
20267
20268         * check/gst/gstbin.c (test_message_state_changed_children): Style
20269         fix..
20270
20271         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
20272         gst_bus_poll with the signal watch. Ensures that poll and a signal
20273         watch see the same messages.
20274
20275         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
20276         a poll and a watch at the same time get the same messages.
20277
20278 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20279
20280         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
20281         * gst/gstcaps.c: (gst_caps_intersect):
20282           Don't call gst_caps_do_simplify - it doesn't respect order of caps
20283           and it's not needed.
20284
20285 2005-11-10  Wim Taymans  <wim@fluendo.com>
20286
20287         * docs/design/part-TODO.txt:
20288         Updated todo.
20289
20290 2005-11-10  Wim Taymans  <wim@fluendo.com>
20291
20292         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20293         * gst/base/gstbasesrc.c: (gst_base_src_wait),
20294         (gst_base_src_do_sync), (gst_base_src_get_range):
20295         Implement clock sync in base class.
20296
20297 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20298
20299         patch by: Tim-Philipp Müller <tim at centricular dot net>
20300
20301         * gst/gststructure.c: (gst_structure_parse_field),
20302         (gst_structure_from_string):
20303           Forward-port a 0.8 patch to handle escaped spaces in structure string,
20304           so that gst_parse_launch() can deal with spaces in filtered link
20305           caps (fixes #164479)
20306         * check/gst/capslist.h:
20307         * check/gst/gststructure.c: (GST_START_TEST):
20308           add unit tests for this change
20309
20310 2005-11-10  Wim Taymans  <wim@fluendo.com>
20311
20312         * docs/gst/gstreamer-sections.txt:
20313         * gst/gstelement.c:
20314         * gst/gstelement.h:
20315         Fix docs, move some STATE macros to private.
20316
20317 2005-11-10  Wim Taymans  <wim@fluendo.com>
20318
20319         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
20320         Added check for bug #317341
20321
20322         * gst/gstbuffer.c:
20323         * gst/gstbuffer.h:
20324         Some more spiffifying.
20325
20326         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
20327         Call peer linkfunction if we are a source pad. Totally fixes
20328         #317341
20329
20330         * gst/gstpad.c:
20331         Update docs, source pads should call the peer linkfunction
20332         so they can atomically perform the pad link.
20333
20334 2005-11-09  Wim Taymans  <wim@fluendo.com>
20335
20336         * gst/gstbuffer.c:
20337         * gst/gstbuffer.h:
20338         Uber-spiffy-spiffify some more.
20339
20340 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
20341
20342         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
20343         * gst/elements/gstfilesink.c: (gst_file_sink_init):
20344         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20345         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
20346         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
20347         * gst/gstpad.c: (gst_pad_init):
20348           Use GST_DEBUG_FUNCPTR() more extensively.
20349
20350 2005-11-09  Wim Taymans  <wim@fluendo.com>
20351
20352         * gst/gstobject.c: (gst_object_class_init):
20353         * gst/gstobject.h:
20354         Documentation fixes.
20355
20356 2005-11-09  Edward Hervey  <edward@fluendo.com>
20357
20358         * gst/gsttypefindfactory.c:
20359         Fix docs.
20360         
20361 2005-11-09  Edward Hervey  <edward@fluendo.com>
20362
20363         * gst/base/gsttypefindhelper.c:
20364         * gst/gsttypefind.c:
20365         * gst/gsttypefind.h:
20366         Fix docs.
20367
20368 2005-11-09  Wim Taymans  <wim@fluendo.com>
20369
20370         * gst/gstiterator.c:
20371         Fix revision data.
20372
20373         * gst/gsttask.c:
20374         * gst/gsttask.h:
20375         Fix docs.
20376
20377 2005-11-09  Wim Taymans  <wim@fluendo.com>
20378
20379         * gst/gstevent.h:
20380         * gst/gsturi.h:
20381         Fix docs.
20382
20383 2005-11-09  Wim Taymans  <wim@fluendo.com>
20384
20385         * docs/gst/gstreamer-sections.txt:
20386         Moved the message async delivery private lock and cond
20387         to the private section.
20388
20389         * gst/gstmessage.c:
20390         * gst/gstmessage.h:
20391         Fixed docs.
20392
20393 2005-11-09  Edward Hervey  <edward@fluendo.com>
20394
20395         * docs/gst/gstreamer-sections.txt:
20396         * gst/gsturi.c:
20397         * gst/gsturi.h:
20398         Document GstURIHandler
20399
20400 2005-11-09  Wim Taymans  <wim@fluendo.com>
20401
20402         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
20403         (gst_iterator_find_custom):
20404         * gst/gstiterator.h:
20405         Fix iterator docs.
20406
20407 2005-11-09  Wim Taymans  <wim@fluendo.com>
20408
20409         * gst/gstbin.h:
20410         Document another field.
20411
20412         * gst/gststructure.c:
20413         * gst/gststructure.h:
20414         Document.
20415
20416 2005-11-09  Wim Taymans  <wim@fluendo.com>
20417
20418         * gst/gstbin.h:
20419         Documented structs.
20420
20421 2005-11-09  Wim Taymans  <wim@fluendo.com>
20422
20423         * docs/gst/gstreamer-sections.txt:
20424         Added some new macros.
20425
20426         * gst/gstclock.c:
20427         * gst/gstclock.h:
20428         * gst/gstobject.h:
20429         Docs updates.
20430
20431 2005-11-09  Wim Taymans  <wim@fluendo.com>
20432
20433         * docs/design/part-TODO.txt:
20434         Some more items for the TODO
20435
20436         * gst/gstcaps.c:
20437         * gst/gstcaps.h:
20438         Document GstCaps.
20439
20440 2005-11-09  Andy Wingo  <wingo@pobox.com>
20441
20442         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
20443         to work on something else now tho...
20444
20445         * gst/base/gstadapter.c: More adapter docs.
20446
20447         * gst/elements/gstfilesink.c (gst_file_sink_start) 
20448         (gst_file_sink_stop): New functions, replace the state change
20449         handler.
20450         (gst_file_sink_class_init): Hook up the start and stop functions.
20451         (gst_file_sink_base_init): Don't set the state change handler any
20452         more. It was a bit ugly too, being set from here...
20453         (gst_file_sink_get_property, gst_file_sink_set_property):
20454         Cleanups...
20455         (gst_file_sink_set_location): More robust check that doesn't call
20456         GST_STATE. Ugggggg.
20457
20458 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
20459
20460         * gst/base/gstbasetransform.c: (gst_base_transform_event):
20461           Hold STREAM_LOCK while pushing newsegment or tag events as well.
20462
20463 2005-11-08  Wim Taymans  <wim@fluendo.com>
20464
20465         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20466         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
20467         (gst_base_sink_chain), (gst_base_sink_change_state):
20468         * gst/base/gstbasesink.h:
20469         * gst/base/gstbasesrc.h:
20470         * gst/gstelement.h:
20471         * gst/gstevent.h:
20472         Avoid excessive typechecking in macros.
20473
20474         * gst/gstminiobject.c: (gst_mini_object_get_type),
20475         (gst_mini_object_init), (gst_mini_object_new),
20476         (gst_mini_object_free):
20477         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
20478         (gst_object_finalize):
20479         Remove cruft code, optimize alloc_trace.
20480
20481 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20482
20483         * docs/faq/gst-uninstalled:
20484           fix up PS1 for systems that try to reset it
20485
20486 2005-11-07  Wim Taymans  <wim@fluendo.com>
20487
20488         * gst/base/gstbasesrc.c: (gst_base_src_init),
20489         (gst_base_src_get_range):
20490         Set the segment_end to -1 initially. Fixed typefind.
20491
20492 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
20493
20494         * gst/base/gstadapter.c:
20495           Debug category should be 'adapter', not 'GstAdapter'.
20496           
20497         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
20498         (gst_collectpads_class_init), (gst_collectpads_init),
20499         (gst_collectpads_peek), (gst_collectpads_pop),
20500         (gst_collectpads_event), (gst_collectpads_chain):
20501           Add debug category and some debugging output. Use boilerplate
20502           macros. Remove some extraneous words from docs.
20503
20504 2005-11-05  Andy Wingo  <wingo@pobox.com>
20505
20506         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
20507         macro.
20508
20509 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
20510
20511         * docs/gst/gstreamer-sections.txt:
20512         * gst/gstcaps.h:
20513         * gst/gstinfo.c:
20514         * gst/gstminiobject.h:
20515         * gst/gstobject.h:
20516         * gst/gstutils.h:
20517           more docs added
20518
20519 2005-11-04  Wim Taymans  <wim@fluendo.com>
20520
20521         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20522         Small update to stop at the configured segment_end
20523         position.
20524
20525 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
20526
20527         * gst/gstregistry.c:
20528         * gst/gstregistry.h:
20529           added missing docs
20530
20531 2005-11-04  Edward Hervey  <edward@fluendo.com>
20532
20533         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20534         Check if we are doing a segment seek and have arrived at the
20535         end of that segment.
20536
20537 2005-11-04  Wim Taymans  <wim@fluendo.com>
20538
20539         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
20540         Don't leak a mutex unlock in case of an error.
20541
20542         * gst/gstbus.h:
20543         Doc fixes.
20544
20545 2005-11-04  Wim Taymans  <wim@fluendo.com>
20546
20547         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
20548         (gst_bus_post):
20549         Get the context to wake up only once.
20550
20551 2005-11-03  Wim Taymans  <wim@fluendo.com>
20552
20553         * check/states/sinks.c: (GST_START_TEST):
20554         Uncomment fixed check.
20555
20556         * docs/design/part-TODO.txt:
20557         Updated TODO.
20558
20559         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20560         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
20561         (gst_base_sink_get_position):
20562         If we are going to PLAYING, post the right pending state
20563         when we post the intermediate paused message.
20564
20565         * gst/gstelement.c: (gst_element_continue_state),
20566         (gst_element_set_state_func), (gst_element_change_state):
20567         Don't post state changes that were between the same state
20568         and were not ASYNC.
20569
20570 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
20571
20572         * docs/gst/gstreamer-sections.txt:
20573         * gst/gstcaps.h:
20574         * gst/gstinfo.c:
20575         * gst/gstminiobject.h:
20576         * gst/gstobject.h:
20577         * gst/gstutils.h:
20578           more docs and doc style fixes
20579
20580 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
20581
20582         * docs/gst/gstreamer-sections.txt:
20583         * gst/gstelement.c:
20584         * gst/gstminiobject.c:
20585         doc fixes
20586
20587 2005-11-03  Andy Wingo  <wingo@pobox.com>
20588
20589         * check/states/sinks.c (test_livesrc_sink): Add checks that the
20590         state-changed messages actually have the right order and the right
20591         values.
20592
20593 2005-11-03  Wim Taymans  <wim@fluendo.com>
20594
20595         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
20596         Added some more checks. Specifically the case where NO_PREROLL
20597         elements are in the pipeline.
20598
20599         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20600         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
20601         (gst_base_sink_get_position):
20602         Post READY->PAUSED state change messages too.
20603         Fix bug where VOID was posted as pending state...
20604
20605         * gst/gstbin.c: (gst_bin_recalc_state):
20606         use _element_continue_state() to continue the state change.
20607
20608         * gst/gstelement.c: (gst_element_continue_state),
20609         (gst_element_commit_state), (gst_element_set_state_func),
20610         (gst_element_change_state), (gst_element_change_state_func):
20611         Lots of state change cleanups, assign the STATE_RETURN in
20612         a new continue_state() function that also propagates the
20613         last return value from a state change to the app.
20614         Update some debug statements with proper category.
20615
20616 2005-11-03  Wim Taymans  <wim@fluendo.com>
20617
20618         * docs/design/part-events.txt:
20619         * docs/design/part-gstpipeline.txt:
20620         * docs/design/part-messages.txt:
20621         * docs/design/part-overview.txt:
20622         * docs/design/part-seeking.txt:
20623         * docs/design/part-states.txt:
20624         * docs/design/part-trickmodes.txt:
20625         * docs/manual/advanced-position.xml:
20626         Small docs updates.
20627
20628         * gst/gstobject.h:
20629         People think !! is ugly, this looks better.
20630
20631         * gst/gstpad.c: (gst_pad_set_blocked_async):
20632         Remove !! since it's fixed elsewhere now.
20633
20634 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
20635
20636         * gst/gstminiobject.h:
20637         * gst/gstobject.h:
20638           Add !! to _FLAG_IS_SET macros to make the result boolean.
20639
20640 2005-11-03  Edward Hervey  <edward@fluendo.com>
20641
20642         * gst/gstpad.c: (gst_pad_set_blocked_async):
20643         comparing a flag and a gboolean rarely returns coherent results...
20644         Added two characters (!!) to make that work correctly.
20645         
20646 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
20647
20648         * gst/gstbus.c: (gst_bus_class_init):
20649           Fix some typos.
20650           
20651         * gst/gstqueue.c: (gst_queue_loop):
20652           Don't assume a miniobject that isn't a buffer is an
20653           event (it could be that there is a refcounting
20654           problem somewhere and the pointer is stale and
20655           refers to an already destroyed miniobject).
20656
20657 2005-11-03  Julien MOUTTE  <julien@moutte.net>
20658
20659         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
20660
20661 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
20662
20663         * docs/manual/advanced-position.xml:
20664           Update seek example and explanations to current 0.9 API.
20665
20666         * gst/elements/gsttypefindelement.c:
20667         (gst_type_find_element_activate):
20668           Remove FIXME comment now that the found caps
20669           are unreffed.
20670
20671 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20672
20673         * gst/gstregistryxml.c: (load_feature):
20674           Add another GST_STR_NULL instance
20675
20676 2005-11-02  Edward Hervey  <edward@fluendo.com>
20677
20678         * gst/gstpad.c: (handle_pad_block):
20679         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
20680         
20681 2005-11-02  Wim Taymans  <wim@fluendo.com>
20682
20683         * gst/gstbin.c:
20684         Fix typo in docs.
20685
20686         * gst/gstelement.c: (gst_element_commit_state):
20687         Remove unused value.
20688
20689         * gst/gstiterator.c:
20690         Mention that the returned element is reffed in the docs.
20691
20692 2005-11-02  Wim Taymans  <wim@fluendo.com>
20693
20694         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
20695         (gst_pad_push), (gst_pad_push_event):
20696         Unlock blocked pads when they are flushed.
20697
20698 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20699
20700         * docs/README:
20701         * docs/gst/gstreamer-sections.txt:
20702         * gst/gstbin.c:
20703           doc updates
20704         * gst/gstregistry.c: (gst_registry_scan_path_level):
20705           fix for a nasty little missed situation where an installed plug-in
20706           which was in the cache did not get overridden by an uninstalled one
20707           which was earlier in the plugin path because the newly created plugin
20708           for the uninstalled one (not in the registry) didn't get its
20709           ->registered set to TRUE
20710
20711 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
20712
20713         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
20714         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
20715         (gst_collectpads_is_active), (gst_collectpads_collect),
20716         (gst_collectpads_collect_range), (gst_collectpads_start),
20717         (gst_collectpads_stop), (gst_collectpads_peek),
20718         (gst_collectpads_pop), (gst_collectpads_available),
20719         (gst_collectpads_read), (gst_collectpads_flush):
20720           Guard public API with assertions.
20721         
20722         * gst/gstpad.c:
20723           Fix docs for gst_pad_set_link_function().
20724
20725 2005-11-02  Johan Dahlin  <johan@gnome.org>
20726
20727         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
20728         Unref found_caps after we used it.
20729
20730 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
20731
20732         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
20733           Don't try to ref NULL.
20734
20735 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20736
20737         * win32/common/config.h.in:
20738           provide a GST_FUNCTION that just gives a string for now
20739
20740 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20741
20742         * win32/common/gstenumtypes.c: (register_gst_object_flags),
20743         (gst_object_flags_get_type), (register_gst_bin_flags),
20744         (gst_bin_flags_get_type), (register_gst_buffer_flag),
20745         (gst_buffer_flag_get_type), (register_gst_bus_flags),
20746         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
20747         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
20748         (gst_clock_return_get_type), (register_gst_clock_entry_type),
20749         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
20750         (gst_clock_flags_get_type), (register_gst_state),
20751         (gst_state_get_type), (register_gst_state_change_return),
20752         (gst_state_change_return_get_type), (register_gst_state_change),
20753         (gst_state_change_get_type), (register_gst_element_flags),
20754         (gst_element_flags_get_type), (register_gst_core_error),
20755         (gst_core_error_get_type), (register_gst_library_error),
20756         (gst_library_error_get_type), (register_gst_resource_error),
20757         (gst_resource_error_get_type), (register_gst_stream_error),
20758         (gst_stream_error_get_type), (register_gst_event_type),
20759         (gst_event_type_get_type), (register_gst_seek_type),
20760         (gst_seek_type_get_type), (register_gst_seek_flags),
20761         (gst_seek_flags_get_type), (register_gst_format),
20762         (gst_format_get_type), (register_gst_index_certainty),
20763         (gst_index_certainty_get_type), (register_gst_index_entry_type),
20764         (gst_index_entry_type_get_type),
20765         (register_gst_index_lookup_method),
20766         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
20767         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
20768         (gst_index_resolver_method_get_type), (register_gst_index_flags),
20769         (gst_index_flags_get_type), (register_gst_debug_level),
20770         (gst_debug_level_get_type), (register_gst_debug_color_flags),
20771         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
20772         (gst_iterator_result_get_type), (register_gst_iterator_item),
20773         (gst_iterator_item_get_type), (register_gst_message_type),
20774         (gst_message_type_get_type), (register_gst_mini_object_flags),
20775         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
20776         (gst_pad_link_return_get_type), (register_gst_flow_return),
20777         (gst_flow_return_get_type), (register_gst_activate_mode),
20778         (gst_activate_mode_get_type), (register_gst_pad_direction),
20779         (gst_pad_direction_get_type), (register_gst_pad_flags),
20780         (gst_pad_flags_get_type), (register_gst_pad_presence),
20781         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
20782         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
20783         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
20784         (gst_plugin_error_get_type), (register_gst_plugin_flags),
20785         (gst_plugin_flags_get_type), (register_gst_rank),
20786         (gst_rank_get_type), (register_gst_query_type),
20787         (gst_query_type_get_type), (register_gst_tag_merge_mode),
20788         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
20789         (gst_tag_flag_get_type), (register_gst_task_state),
20790         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
20791         (gst_alloc_trace_flags_get_type),
20792         (register_gst_type_find_probability),
20793         (gst_type_find_probability_get_type), (register_gst_uri_type),
20794         (gst_uri_type_get_type), (register_gst_parse_error),
20795         (gst_parse_error_get_type):
20796         * win32/common/gstversion.h:
20797           update win32 copies
20798
20799 2005-11-01  Luca Ognibene  <luogni@tin.it>
20800
20801         * gst/gst.c:
20802           fix docs. popt is dead, long live GOption.
20803
20804 2005-10-31  Wim Taymans  <wim@fluendo.com>
20805
20806         * gst/gstbuffer.h:
20807         Small doc fix.
20808
20809 2005-10-31  Andy Wingo  <wingo@pobox.com>
20810
20811         * Boo!
20812
20813         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
20814
20815         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
20816         need to serialize property notifications on GLib 2.8. GLib 2.6 has
20817         the possibility of deadlocks here if code calling notify() or
20818         set() has a lock that can be taken in another notify handler (ABBA
20819         with class lock and e.g. python GIL state lock).
20820
20821 2005-10-28  Julien MOUTTE  <julien@moutte.net>
20822
20823         * gst/gstbus.c: Doc updates.
20824
20825 2005-10-28  Wim Taymans  <wim@fluendo.com>
20826
20827         * docs/design/part-TODO.txt:
20828         * gst/gstiterator.c:
20829         * gst/gstsystemclock.c:
20830         * gst/gstsystemclock.h:
20831         Doc updates.
20832
20833 2005-10-28  Edward Hervey  <edward@fluendo.com>
20834
20835         * docs/gst/gstreamer-docs.sgml:
20836         * docs/gst/gstreamer-sections.txt:
20837         the GstURIType documentation page is private, it only defines GstURIType
20838         which should be defined in the GstURIHandler page
20839         
20840 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20841
20842         * gst/gstbin.c: (gst_bin_class_init):
20843         * gst/gstbin.h:
20844         * gst/gstutils.c:
20845         Documentation updates.
20846
20847 2005-10-28  Wim Taymans  <wim@fluendo.com>
20848
20849         * docs/gst/gstreamer-sections.txt:
20850         * gst/gstclock.c:
20851         * gst/gstclock.h:
20852         Documented the clocks.
20853
20854 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
20855
20856         * docs/gst/gstreamer-sections.txt:
20857           move some macros to private sections
20858         * gst/gstminiobject.c:
20859         * gst/gstminiobject.h:
20860           add descriptions provided by ds and some more
20861         * gst/gstpad.h:
20862           mark macro as to be removed
20863
20864 2005-10-28  Wim Taymans  <wim@fluendo.com>
20865
20866         * docs/design/part-TODO.txt:
20867         Add an item to TODO.
20868
20869         * gst/gstiterator.c: (gst_iterator_fold),
20870         (gst_iterator_find_custom):
20871         * gst/gstiterator.h:
20872         Add iterator docs.
20873
20874 2005-10-28  Wim Taymans  <wim@fluendo.com>
20875
20876         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20877         (gst_base_transform_init):
20878         Don't leak class.
20879
20880         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
20881         An EOS event marks the queue as completely filled.
20882
20883 2005-10-27  Wim Taymans  <wim@fluendo.com>
20884
20885         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20886         (gst_base_sink_do_sync), (gst_base_sink_get_position):
20887         Some more debugging.
20888
20889         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
20890         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
20891         (gst_base_transform_event), (gst_base_transform_getrange),
20892         (gst_base_transform_chain):
20893         * gst/base/gstbasetransform.h:
20894         Fix debugging,
20895         Protect transform and concurrent buffer alloc with a new lock.
20896         Try not to break ABI/API.
20897
20898 2005-10-27  Wim Taymans  <wim@fluendo.com>
20899
20900         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20901         (gst_base_src_init), (gst_base_src_query),
20902         (gst_base_src_default_newsegment),
20903         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20904         (gst_base_src_send_event), (gst_base_src_event_handler),
20905         (gst_base_src_pad_get_range), (gst_base_src_loop),
20906         (gst_base_src_unlock), (gst_base_src_default_negotiate),
20907         (gst_base_src_start), (gst_base_src_deactivate),
20908         (gst_base_src_activate_push), (gst_base_src_change_state):
20909         Move some stuff around and cleanup things.
20910
20911 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
20912
20913         * gst/base/gstbasesrc.c: (gst_base_src_query):
20914           Add missing break statements.
20915
20916 2005-10-27  Wim Taymans  <wim@fluendo.com>
20917
20918         * check/gst/gstbin.c: (GST_START_TEST):
20919         An extra refcount is taken in basesrc.
20920
20921         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20922         (gst_base_src_get_range), (gst_base_src_pad_get_range),
20923         (gst_base_src_loop):
20924         Small cleanups, check for flushing after being unlocked from the 
20925         LIVE_LOCK. take refcounts correctly (not yet everywhere).
20926         Don't send out EOS when going to READY.
20927
20928 2005-10-27  Wim Taymans  <wim@fluendo.com>
20929
20930         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20931         (gst_base_sink_get_position):
20932         Some more debug.
20933
20934         * gst/gstbin.c: (message_check), (bin_replace_message),
20935         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20936         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20937         (bin_query_duration_init), (bin_query_duration_fold),
20938         (bin_query_duration_done), (bin_query_generic_fold),
20939         (gst_bin_query):
20940         * tools/gst-launch.c: (main):
20941         Remove old option.
20942
20943 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
20944
20945         * examples/controller/audio-example.c: (main):
20946         * examples/queue/queue.c: (event_loop):
20947         * gst/base/gstbasetransform.h:
20948         * gst/gstelement.c: (gst_element_send_event):
20949         * gst/gstevent.h:
20950         * gst/gstpad.c: (gst_pad_send_event):
20951           fixing examples
20952           fixing docs typos
20953           changing log priority in error situations
20954
20955 2005-10-25  Wim Taymans  <wim@fluendo.com>
20956
20957         * gst/gstbin.c: (message_check), (bin_replace_message),
20958         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20959         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20960         (bin_query_duration_init), (bin_query_duration_fold),
20961         (bin_query_duration_done), (bin_query_generic_fold),
20962         (gst_bin_query):
20963         Some doc and debug updates.
20964         Cache previously requested query DURATION for speed. invalidate
20965         cached duration if element posts a DURATION message.
20966
20967 2005-10-25  Wim Taymans  <wim@fluendo.com>
20968
20969         * docs/design/part-TODO.txt:
20970         Update TODO.
20971
20972         * gst/gstbin.c: (message_check), (bin_replace_message),
20973         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20974         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20975         (bin_query_duration_init), (bin_query_duration_fold),
20976         (bin_query_duration_done), (bin_query_generic_fold),
20977         (gst_bin_query):
20978         Handle SEGMENT_START/DONE messages correctly.
20979         More evolved query algorithm that handles duration queries
20980         correctly.
20981
20982         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
20983         (gst_element_get_state_func), (gst_element_abort_state),
20984         (gst_element_commit_state), (gst_element_lost_state):
20985         Some more debugging.
20986
20987         * gst/gstmessage.h:
20988         Added doc.
20989
20990 2005-10-25  Wim Taymans  <wim@fluendo.com>
20991
20992         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20993         Don't use invalid stream_time.
20994
20995         * gst/gstevent.c: (gst_event_new_newsegment):
20996         stream_time in newsegment cannot be undefined.
20997
20998 2005-10-24  Wim Taymans  <wim@fluendo.com>
20999
21000         * gst/gstbus.c:
21001         Doc fix.
21002
21003         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21004         (gst_queue_loop):
21005         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
21006
21007 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
21008
21009         * docs/libs/tmpl/gstdparam.sgml:
21010         * docs/libs/tmpl/gstdplinint.sgml:
21011         * docs/libs/tmpl/gstdpman.sgml:
21012         * docs/libs/tmpl/gstdpsmooth.sgml:
21013         * docs/libs/tmpl/gstunitconvert.sgml:
21014           these are obsolete
21015
21016 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21017
21018         * configure.ac:
21019           back to HEAD
21020
21021 === release 0.9.4 ===
21022
21023 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21024
21025         * configure.ac:
21026           releasing 0.9.4, "Tyrannosaurus Rex"
21027
21028 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
21029
21030         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
21031         (gst_file_sink_get_current_offset):
21032           Use fseeko() and ftello() if available. When falling back on
21033           lseek() to get the current offset, fflush() first to make sure
21034           everything is up-to-date and we get the right offset.
21035
21036 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21037
21038         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21039         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21040         * gst/gsterror.c: (_gst_stream_errors_init):
21041         * gst/gsterror.h:
21042         * gst/gstqueue.c: (gst_queue_loop):
21043         * po/POTFILES.in:
21044           remove prematurely added error category and clean up the instances
21045
21046 2005-10-21  Wim Taymans  <wim@fluendo.com>
21047
21048         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21049         (gst_base_sink_get_position), (gst_base_sink_query),
21050         (gst_base_sink_change_state):
21051         Simply set the right flag when going to playing, that's all
21052         we need to do instead of calling a function inside the object
21053         lock (that could take the lock as well and deadlock)
21054
21055 2005-10-21  Wim Taymans  <wim@fluendo.com>
21056
21057         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
21058         (gst_base_src_loop):
21059         Don't warn, the peer element knows what to do best when
21060         the seek failed, it might try something else.
21061
21062 2005-10-21  Wim Taymans  <wim@fluendo.com>
21063
21064         * gst/base/gstbasesrc.c: (gst_base_src_init),
21065         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21066         Fix seeking.
21067
21068 2005-10-21  Wim Taymans  <wim@fluendo.com>
21069
21070         * docs/design/part-segments.txt:
21071         More docs.
21072
21073         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
21074         Correctly set caps, even on the subbufer.
21075
21076 2005-10-21  Wim Taymans  <wim@fluendo.com>
21077
21078         * docs/gst/gstreamer-docs.sgml:
21079         * docs/gst/gstreamer-sections.txt:
21080         * gst/gstelement.h:
21081         * gst/gstevent.c:
21082         * gst/gstevent.h:
21083         * gst/gstmessage.h:
21084         * gst/gstpad.h:
21085         * gst/gstparse.h:
21086         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
21087         * gst/gsttask.h:
21088         * gst/gstutils.c:
21089         * gst/gstutils.h:
21090         And 2% more doc coverage.
21091
21092 2005-10-21  Andy Wingo  <wingo@pobox.com>
21093
21094         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
21095         position reporting.
21096
21097 2005-10-20  Wim Taymans  <wim@fluendo.com>
21098
21099         * gst/gsterror.c: (gst_error_get_message):
21100         * gst/gstparse.h:
21101         * gst/gstquery.h:
21102         * gst/gststructure.c:
21103         * gst/gsttrace.c:
21104         * gst/gstutils.c:
21105         More docs.
21106
21107 2005-10-20  Wim Taymans  <wim@fluendo.com>
21108
21109         * gst/gstbuffer.h:
21110         * gst/gstpad.c:
21111         * gst/gstparse.c:
21112         Another 1% more coverage.
21113
21114 2005-10-20  Wim Taymans  <wim@fluendo.com>
21115
21116         * docs/gst/gstreamer-sections.txt:
21117         * gst/gstelement.c: (gst_element_get_state_func),
21118         (gst_element_abort_state), (gst_element_commit_state),
21119         (gst_element_lost_state):
21120         * gst/gstevent.h:
21121         * gst/gstquery.c: (gst_query_set_position),
21122         (gst_query_parse_position), (gst_query_set_duration),
21123         (gst_query_parse_duration), (gst_query_new_convert):
21124         * gst/gstutils.c:
21125         Yay! 1% more docs coverage.
21126
21127 2005-10-20  Wim Taymans  <wim@fluendo.com>
21128
21129         * gst/gstpad.h:
21130         * gst/gstquery.c: (gst_query_set_position),
21131         (gst_query_parse_position), (gst_query_set_duration),
21132         (gst_query_parse_duration), (gst_query_new_convert):
21133         * gst/gstquery.h:
21134         * gst/gstutils.c: (gst_element_query_convert):
21135         * gst/gstutils.h:
21136         Docs and consistency fixes.
21137
21138 2005-10-20  Wim Taymans  <wim@fluendo.com>
21139
21140         * gst/gsttask.c:
21141         * gst/gsttask.h:
21142         More docs.
21143
21144 2005-10-20  Wim Taymans  <wim@fluendo.com>
21145
21146         * gst/gstbin.c: (message_check), (bin_replace_message),
21147         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21148         (update_degree), (gst_bin_sort_iterator_next),
21149         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
21150         Reworked the message handling a bit, cache the messages instead of
21151         only the senders. alows us to do more in the future.
21152
21153 2005-10-20  Wim Taymans  <wim@fluendo.com>
21154
21155         * docs/design/part-TODO.txt:
21156         Update TODO
21157
21158         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
21159         (gst_base_sink_query):
21160         Don't use clock time to report position when in EOS.
21161
21162 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
21163
21164         * tools/gst-inspect.c: (print_interfaces),
21165         (print_element_properties_info), (print_element_info):
21166           Fix interface output with gst-inspect -a; don't print
21167           newlines after double/float properties.
21168
21169 2005-10-20  Wim Taymans  <wim@fluendo.com>
21170
21171         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
21172         (gst_base_sink_query):
21173         Speed up current position calculation.
21174
21175         * gst/base/gstbasesrc.c: (gst_base_src_query),
21176         (gst_base_src_default_newsegment):
21177         Correctly set stream position in newsegment.
21178
21179         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
21180         (update_degree), (gst_bin_sort_iterator_next),
21181         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
21182         * gst/gstmessage.c: (gst_message_new_custom):
21183         Clean up debugging info
21184
21185         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
21186         (gst_queue_loop), (gst_queue_handle_src_query):
21187         Pause task faster.
21188
21189 2005-10-19  Wim Taymans  <wim@fluendo.com>
21190
21191         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21192         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
21193         Fix query handling again.
21194
21195 2005-10-19  Wim Taymans  <wim@fluendo.com>
21196
21197         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21198         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
21199         * gst/base/gstbasesrc.c: (gst_base_src_query):
21200         * gst/elements/gstfilesink.c: (gst_file_sink_query):
21201         * gst/elements/gsttypefindelement.c:
21202         (gst_type_find_handle_src_query), (find_element_get_length),
21203         (gst_type_find_element_activate):
21204         API change fix.
21205
21206         * gst/gstquery.c: (gst_query_new_position),
21207         (gst_query_set_position), (gst_query_parse_position),
21208         (gst_query_new_duration), (gst_query_set_duration),
21209         (gst_query_parse_duration), (gst_query_set_segment),
21210         (gst_query_parse_segment):
21211         * gst/gstquery.h:
21212         Bundling query position/duration is not a good idea since duration
21213         does not change much and we don't want to recalculate it for every
21214         position query, so they are separated again..
21215         Base value in segment query is not needed.
21216
21217         * gst/gstqueue.c: (gst_queue_handle_src_query):
21218         * gst/gstutils.c: (gst_element_query_position),
21219         (gst_element_query_duration), (gst_pad_query_position),
21220         (gst_pad_query_duration):
21221         * gst/gstutils.h:
21222         Updates for query API change.
21223         Added some docs here and there.
21224
21225 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21226
21227         * check/gst/gstbin.c: (GST_START_TEST):
21228         * check/gst/gstghostpad.c: (GST_START_TEST):
21229         * check/pipelines/cleanup.c: (GST_START_TEST):
21230           wait on thread to die so we can check refcount correctly
21231
21232 2005-10-18  Wim Taymans  <wim@fluendo.com>
21233
21234         * check/pipelines/stress.c: (GST_START_TEST):
21235         Make check a little more time consuming.
21236
21237 2005-10-18  Wim Taymans  <wim@fluendo.com>
21238
21239         * check/Makefile.am:
21240         * check/pipelines/stress.c: (GST_START_TEST),
21241         (simple_launch_lines_suite), (main):
21242         Small state change torture test.
21243
21244         * docs/design/part-states.txt:
21245         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21246         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
21247         (gst_base_sink_change_state):
21248         Never take state lock from streaming thread, clean up ugly
21249         hacks. Unfortunatly core does not yet support nice ways to
21250         async commit state.
21251         
21252         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
21253         (bin_bus_handler):
21254         Start state recalc if a STATE_DIRTY message is posted, but only
21255         on the toplevel bin.
21256
21257         * gst/gstelement.c: (gst_element_sync_state_with_parent),
21258         (gst_element_get_state_func), (gst_element_abort_state),
21259         (gst_element_commit_state), (gst_element_lost_state),
21260         (gst_element_set_state_func), (gst_element_change_state):
21261         * gst/gstelement.h:
21262         State variables are now protected with the LOCK, the state
21263         lock is only used to serialize _set_state().
21264
21265 2005-10-18  Wim Taymans  <wim@fluendo.com>
21266
21267         * check/gst/gstbin.c: (GST_START_TEST):
21268         * check/gst/gstmessage.c: (GST_START_TEST):
21269         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21270         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
21271         (bin_bus_handler):
21272         * gst/gstelement.c: (gst_element_abort_state),
21273         (gst_element_commit_state), (gst_element_lost_state):
21274         * gst/gstmessage.c: (gst_message_new_state_changed),
21275         (gst_message_new_state_dirty), (gst_message_new_segment_start),
21276         (gst_message_new_segment_done), (gst_message_new_duration),
21277         (gst_message_parse_state_changed),
21278         (gst_message_parse_segment_start),
21279         (gst_message_parse_segment_done), (gst_message_parse_duration):
21280         * gst/gstmessage.h:
21281         * tools/gst-launch.c: (event_loop):
21282         Seriously, this is better than a previous commit as we only need
21283         to notify the fact that an element changed state in a streaming
21284         thread, marking the state of the parents dirty, hence the 
21285         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
21286         message.
21287
21288 2005-10-18  Wim Taymans  <wim@fluendo.com>
21289
21290         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
21291         (gst_bin_recalc_func):
21292         * gst/gstelement.c: (gst_element_set_clock),
21293         (gst_element_abort_state), (gst_element_lost_state):
21294         Cleanups, prepare for state change fixes.
21295
21296 2005-10-18  Wim Taymans  <wim@fluendo.com>
21297
21298         * gst/gstbin.h:
21299         * gst/gstelement.c: (gst_element_class_init),
21300         (gst_element_set_state), (gst_element_set_state_func):
21301         * gst/gstelement.h:
21302         Pending ABI changes.
21303         GThreadPool in GstBinClass to monitor async state changes.
21304         state_cookie in GstElement to detect concurrent gst/set state.
21305         set_state is now virtual too in case a very complicated element
21306         has to be constructed.
21307
21308 2005-10-18  Wim Taymans  <wim@fluendo.com>
21309
21310         * check/gst/gstbin.c: (GST_START_TEST):
21311         * check/gst/gstmessage.c: (GST_START_TEST):
21312         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21313         * gst/gstbin.c: (bin_bus_handler):
21314         * gst/gstelement.c: (gst_element_commit_state),
21315         (gst_element_lost_state):
21316         * gst/gstmessage.c: (gst_message_new_state_changed),
21317         (gst_message_new_segment_start), (gst_message_new_segment_done),
21318         (gst_message_new_duration), (gst_message_parse_state_changed),
21319         (gst_message_parse_segment_start),
21320         (gst_message_parse_segment_done), (gst_message_parse_duration):
21321         * gst/gstmessage.h:
21322         * tools/gst-launch.c: (event_loop):
21323         Make messages future proof.
21324         state-change gets a flag if it was a message comming from the
21325         streaming thread.
21326         segment-start/stop can also be specified in other formats.
21327         A message to notify an app that a pipeline changed playback 
21328         duration.
21329         Also fix a GstMessage leak in -launch
21330
21331 2005-10-18  Andy Wingo  <wingo@pobox.com>
21332
21333         * gst/gstelement.c (gst_element_dispose): More helpful message.
21334
21335 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21336
21337         reviewed by: <delete if not using a buddy>
21338
21339         * common/gtk-doc.mak:
21340
21341 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21342
21343         * gst/gstregistry.c: (gst_registry_scan_path_level):
21344           unref a plug-in we get that was already initialized
21345
21346 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
21347
21348         * docs/gst/gstreamer-sections.txt:
21349         * docs/libs/gstreamer-libs-sections.txt:
21350         * gst/gstelement.h:
21351           add new api entries
21352           hide internal macro
21353
21354 2005-10-17  Andy Wingo  <wingo@pobox.com>
21355
21356         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
21357         cleanup.
21358
21359         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
21360
21361         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
21362
21363         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
21364         (gst_element_get_state_func): Better debug message.
21365         (gst_element_commit_state): s/INFO/DEBUG/.
21366         (gst_element_lost_state, gst_element_change_state): 
21367
21368         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
21369         (gst_message_new_custom): s/INFO/LOG/.
21370
21371 2005-10-17  Michael Smith <msmith@fluendo.com>
21372
21373         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21374           Check if end time is valid using end time, not start time.
21375
21376 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
21377
21378         * check/gst-libs/controller.c: (GST_START_TEST),
21379         (gst_controller_suite):
21380         * libs/gst/controller/gstcontroller.c:
21381         (gst_controlled_property_set_interpolation_mode):
21382         * libs/gst/controller/gstcontroller.h:
21383         * libs/gst/controller/gstinterpolation.c:
21384         * testsuite/controller/.cvsignore:
21385         * testsuite/controller/Makefile.am:
21386         * testsuite/controller/interpolator.c:
21387           merge controller testsuites
21388           fix broken tests
21389           remove mem-chunk from docs
21390
21391 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21392
21393         * gst/gstmemchunk.c:
21394         * gst/gstmemchunk.h:
21395         * gst/gsttrashstack.c:
21396         * gst/gsttrashstack.h:
21397           out.  get out.  you're fired.  to the Attic !
21398
21399 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21400
21401         * gst/gstcaps.c: (gst_caps_intersect):
21402           fix signedness issues in a (hopefully) correct way
21403         * gst/gstelement.c: (gst_element_pads_activate):
21404           some debugging
21405         * gst/gstobject.c: (gst_object_set_parent):
21406           some debugging
21407
21408 2005-10-17  Julien MOUTTE  <julien@moutte.net>
21409
21410         * gst/gstvalue.h: Fix prototypes.
21411
21412 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21413
21414         * docs/gst/gstreamer-sections.txt:
21415         * gst/gst.c: (gst_version_string):
21416         * gst/gst.h:
21417         * gst/gstversion.h.in:
21418         * win32/common/libgstreamer.def:
21419           add gst_version_string ()
21420
21421 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21422
21423         * configure.ac:
21424           clean up further
21425         * gst/gst.c: (init_post):
21426         * win32/common/config.h.in:
21427           it's PLUGINDIR now
21428         * gst/gstcaps.c: (gst_caps_intersect):
21429           use gint64, the range could be bigger than a guint
21430
21431 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21432
21433         * gst/gstclock.h:
21434           document potential problem in 2038
21435
21436 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21437
21438         * gst/gstcaps.c: (gst_caps_intersect):
21439           Fix guint j diving under 0
21440
21441 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21442
21443         * configure.ac:
21444         * win32/common/config.h:
21445         * win32/common/config.h.in:
21446           check for process.h, declares getpid() on Windows
21447         * gst/gstinfo.c:
21448           include process.h if we have it
21449         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
21450         * gst/gstmemchunk.h:
21451           fix signedness issues
21452         * win32/common/libgstreamer.def:
21453           fix get_type's
21454
21455 2005-10-16  Julien MOUTTE  <julien@moutte.net>
21456
21457         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
21458         fix. Because of unsigned ints, caps intersection was going nuts and
21459         trying to access structures with G_MAXUINT index. That fixes
21460         videotestsrc ! ffmpegcolorspace ! fakesink
21461         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
21462         consistency.
21463
21464 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21465
21466         * configure.ac:
21467           use the gettext macro
21468         * gst/elements/gstelements.c:
21469         * gst/gst.c:
21470         * gst/indexers/gstindexers.c:
21471           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
21472         * win32/common/config.h:
21473           updated config.h
21474         * win32/common/config.h.in:
21475           add the template to generate config.h
21476         * win32/common/gstenumtypes.c:
21477         * win32/common/gstversion.h:
21478           updated copies
21479
21480 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21481
21482         * gst/gst.c: (gst_version):
21483         * gst/gstversion.h.in:
21484           add the nano
21485
21486 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
21487
21488         * gst/gstevent.h:
21489           Oops, add missing closing bracket.
21490
21491 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21492
21493         * configure.ac:
21494           use common m4's for argument checking
21495
21496 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
21497
21498         * docs/gst/gstreamer-sections.txt:
21499         * gst/gstevent.h:
21500           Add GST_EVENT_TYPE_NAME() macro.
21501
21502 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21503
21504         * gst/gstinfo.c:
21505         * gst/gstpluginfeature.c:
21506         * gst/gsttask.c:
21507           privatize more symbols
21508
21509 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21510
21511         * configure.ac:
21512           add srcdir, builddir includes to GST_ALL_CFLAGS, since
21513           everything that uses GStreamer API should have the includes
21514
21515 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21516
21517         * docs/gst/gstreamer-sections.txt:
21518         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
21519         * gst/gstvalue.h:
21520           give each value a _get_type, removes the DATA exports
21521
21522 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21523
21524         * gst/gst.c:
21525         * gst/gst.h:
21526           remove _gst_registry_auto_load, not used anymore
21527         * gst/gstbin.c: (gst_bin_get_type):
21528         * gst/gstbin.h:
21529         * gst/gstelement.c: (gst_element_get_type):
21530         * gst/gstelement.h:
21531         * gst/gstobject.c: (gst_object_get_type):
21532         * gst/gstobject.h:
21533         * gst/gstpad.c: (gst_pad_get_type):
21534         * gst/gstpad.h:
21535           make _get_type functions similar, fixes data export from library
21536
21537 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21538
21539         * configure.ac:
21540           correctly make conditionals
21541         * gst/elements/Makefile.am:
21542         * gst/elements/gstelements.c:
21543           fix typo causing fdsrc not to build
21544
21545 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21546
21547         * testsuite/Makefile.am:
21548         * testsuite/bytestream/.cvsignore:
21549         * testsuite/bytestream/Makefile.am:
21550         * testsuite/bytestream/filepadsink.c:
21551         * testsuite/bytestream/gstbstest.c:
21552         * testsuite/bytestream/test1.c:
21553         * testsuite/bytestream/testfile1:
21554         * testsuite/caps/normalisation.c:
21555         * testsuite/caps/random.c: (main):
21556         * testsuite/cleanup/.cvsignore:
21557         * testsuite/cleanup/Makefile.am:
21558         * testsuite/cleanup/cleanup1.c:
21559         * testsuite/cleanup/cleanup2.c:
21560         * testsuite/cleanup/cleanup3.c:
21561         * testsuite/cleanup/cleanup4.c:
21562         * testsuite/cleanup/cleanup5.c:
21563         * testsuite/controller/interpolator.c:
21564         * testsuite/debug/printf_extension.c: (main):
21565         * testsuite/elements/tee.c:
21566         * testsuite/negotiation/.cvsignore:
21567         * testsuite/negotiation/Makefile.am:
21568         * testsuite/negotiation/pad_link.c:
21569         * testsuite/pad/Makefile.am:
21570         * testsuite/pad/chainnopull.c:
21571         * testsuite/pad/getnopush.c:
21572         * testsuite/pad/link.c:
21573         * testsuite/refcounting/sched.c: (create_pipeline):
21574         * testsuite/registry/Makefile.am:
21575         * testsuite/registry/gst-print-formats.c:
21576         * testsuite/schedulers/.cvsignore:
21577         * testsuite/schedulers/142183-2.c:
21578         * testsuite/schedulers/142183.c:
21579         * testsuite/schedulers/143777-2.c:
21580         * testsuite/schedulers/143777.c:
21581         * testsuite/schedulers/147713.c:
21582         * testsuite/schedulers/147819.c:
21583         * testsuite/schedulers/147894-2.c:
21584         * testsuite/schedulers/147894.c:
21585         * testsuite/schedulers/Makefile.am:
21586         * testsuite/schedulers/group_link.c:
21587         * testsuite/schedulers/queue_link.c:
21588         * testsuite/schedulers/relink.c:
21589         * testsuite/schedulers/unlink.c:
21590         * testsuite/schedulers/unref.c:
21591         * testsuite/schedulers/useless_iteration.c:
21592         * testsuite/states/bin.c:
21593           clean out/remove some stuff from the testsuite directories
21594
21595 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21596
21597         * configure.ac:
21598           check for some headers
21599         * gst/elements/Makefile.am:
21600         * gst/elements/gstelements.c:
21601           don't compile fdsrc without sys/socket.h
21602         * gst/indexers/Makefile.am:
21603         * gst/indexers/gstindexers.c: (plugin_init):
21604           don't compile fileindex without mmap
21605
21606 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21607
21608         * configure.ac:
21609           reorganize
21610           clean up
21611           document more
21612           remove cruft
21613         * check/Makefile.am:
21614         * docs/gst/Makefile.am:
21615         * examples/helloworld/Makefile.am:
21616         * gst/Makefile.am:
21617         * gst/base/Makefile.am:
21618         * gst/check/Makefile.am:
21619         * gst/elements/Makefile.am:
21620         * gst/indexers/Makefile.am:
21621         * gst/parse/Makefile.am:
21622         * libs/gst/controller/Makefile.am:
21623         * libs/gst/dataprotocol/Makefile.am:
21624         * examples/helloworld/helloworld.c: (event_loop):
21625           compile fixes, though it's not being compiled currently
21626
21627 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
21628
21629         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
21630           Add some simple tests for the new taglist date API.
21631
21632 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
21633
21634         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
21635         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
21636           Beautify 'last-message' output: print 'none' for buffer timestamps
21637           and durations if none is set; improve alignment with next messages.
21638
21639 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
21640
21641         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
21642         * gst/gstpluginfeature.h:
21643         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
21644         * gst/gstregistry.h:
21645         * docs/gst/gstreamer-sections.txt:
21646           Add new API to check plugin feature version requirements.
21647
21648         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
21649           Some basic tests for the above.         
21650
21651 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21652
21653         * gst/gststructure.c: (gst_structure_to_string):
21654           guard against NULL printf - happens when for example
21655           a message structure with GstClock gets serialized
21656
21657 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
21658
21659         * gst/base/gstcollectpads.c: (gst_collectpads_event):
21660           Fix presumable copy'n'pasto.
21661
21662 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21663
21664         * gst/elements/gstfakesrc.h:
21665         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
21666         * gst/elements/gsttypefindelement.c:
21667           fix some signedness
21668         * gst/elements/gstfilesink.c: (gst_file_sink_render):
21669           I wonder if this could actually write +2GB files before
21670
21671 2005-10-13  Andy Wingo  <wingo@pobox.com>
21672
21673         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
21674         Fix Timmeke Waymans bug.
21675         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
21676         string of the proper length to gst_caps_from_string. There's a
21677         potential for, before this fix, that this could cause someone
21678         connecting over the network to cause a segfault if the payload is
21679         not NUL-terminated.
21680
21681 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
21682
21683         * docs/design/draft-push-pull.txt:
21684         * docs/design/part-overview.txt:
21685         * docs/random/TODO-pre-0.9:
21686         * docs/random/old/ChangeLog.gstreamer:
21687         * gst/base/gstpushsrc.c:
21688         * gst/gstclock.c:
21689           fixed typos
21690
21691 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21692
21693         * gst/glib-compat.c: (gst_flags_get_first_value):
21694         * gst/glib-compat.h:
21695         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
21696         (gst_value_compare_double), (gst_value_serialize_flags):
21697           GLib 2.6 g_flags_get_first_value has a bug that triggers an
21698           infinite loop
21699
21700 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21701
21702         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21703         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21704           fix up debugging
21705         * tools/gst-launch.c: (event_loop):
21706           print out clock nicely
21707
21708 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
21709
21710         * docs/gst/gstreamer-sections.txt:
21711         * gst/gsttaglist.h:
21712         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
21713         (gst_tag_list_get_date_index):
21714           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
21715           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
21716
21717 2005-10-13  Julien MOUTTE  <julien@moutte.net>
21718
21719         * gst/base/gstcollectpads.c: (gst_collectpads_event),
21720         (gst_collectpads_chain):
21721         * gst/base/gstcollectpads.h: Handle newsegment and store informations
21722         in CollectData.
21723
21724 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
21725
21726         * docs/gst/gstreamer-sections.txt:
21727         * gst/gst.c:
21728         * gst/gsterror.h:
21729         * tools/gst-inspect.c: (main):
21730         * tools/gst-launch.c: (main):
21731         * tools/gst-run.c: (main):
21732         * tools/gst-xmlinspect.c: (main):
21733           fix GOption context leaks
21734           doc fixes
21735
21736 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21737
21738         * gst/gstbus.c:
21739           use HAVE_UNISTD_H
21740         * win32/common/config.h:
21741           update config
21742         * win32/vs6/grammar.dsp:
21743         * win32/vs6/libgstelements.dsp:
21744         * win32/vs6/libgstreamer.dsp:
21745           update vs6 files
21746
21747 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21748
21749         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21750         * gst/base/gstbasesrc.c: (gst_base_src_query):
21751           fix more guint64<->gdouble conversions
21752
21753 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21754
21755         * Makefile.am:
21756           add win32-update target
21757         * win32/common/gstconfig.h:
21758         * win32/common/gstenumtypes.c:
21759         * win32/common/gstenumtypes.h:
21760         * win32/common/gstversion.h:
21761           add files that visual studio can't generate
21762
21763 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21764
21765         * Makefile.am:
21766           add a win32-update target
21767         * configure.ac:
21768
21769 2005-10-12  Wim Taymans  <wim@fluendo.com>
21770
21771         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21772         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
21773         * gst/gstelement.c: (gst_element_commit_state),
21774         (gst_element_set_state):
21775         Protect flags with proper lock.
21776         unref provided cached clock in dispose.
21777
21778 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
21779
21780         * gst/gst.c:
21781         * gst/gstminiobject.h:
21782         * gst/gstpad.h:
21783         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
21784           removed unused flags from miniobject
21785           doc fixes
21786
21787 2005-10-12  Wim Taymans  <wim@fluendo.com>
21788
21789         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
21790         (gst_file_sink_event), (gst_file_sink_render):
21791         Flush before seeking.
21792
21793 2005-10-12  Andy Wingo  <wingo@pobox.com>
21794
21795         * gst/gst.c (gst_init_check): Ignore unknown options, as has
21796         always been the case.
21797
21798 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
21799
21800         * check/gst/gstbin.c: (GST_START_TEST):
21801         * docs/gst/gstreamer-sections.txt:
21802         * gst/base/gstbasesink.c: (gst_base_sink_init):
21803         * gst/base/gstbasesrc.c: (gst_base_src_init),
21804         (gst_base_src_get_range), (gst_base_src_check_get_range),
21805         (gst_base_src_start), (gst_base_src_stop):
21806         * gst/base/gstbasesrc.h:
21807         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
21808         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21809         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
21810         (bin_bus_handler):
21811         * gst/gstbin.h:
21812         * gst/gstbuffer.h:
21813         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
21814         * gst/gstbus.h:
21815         * gst/gstelement.c: (gst_element_is_locked_state),
21816         (gst_element_set_locked_state), (gst_element_commit_state),
21817         (gst_element_set_state):
21818         * gst/gstelement.h:
21819         * gst/gstindex.c: (gst_index_init):
21820         * gst/gstindex.h:
21821         * gst/gstminiobject.h:
21822         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
21823         (gst_object_set_parent):
21824         * gst/gstobject.h:
21825         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
21826         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
21827         * gst/gstpad.h:
21828         * gst/gstpadtemplate.h:
21829         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
21830         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
21831         * gst/gstpipeline.h:
21832         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21833         (gst_file_index_commit):
21834         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
21835         * testsuite/pad/link.c: (gst_test_src_init),
21836         (gst_test_filter_init), (gst_test_sink_init):
21837         * testsuite/states/locked.c: (main):
21838           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
21839           moved bitshift from macro to enum definition
21840
21841 2005-10-12  Wim Taymans  <wim@fluendo.com>
21842
21843         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
21844         * gst/elements/gstfilesink.c: (gst_file_sink_event),
21845         (gst_file_sink_render):
21846         Some more debugging info.
21847
21848 2005-10-12  Wim Taymans  <wim@fluendo.com>
21849
21850         * docs/design/part-states.txt:
21851         * tools/gst-launch.c: (main):
21852         Some doc updates.
21853         Revert non-intentional change.
21854
21855 2005-10-12  Wim Taymans  <wim@fluendo.com>
21856
21857         * check/gst/gstbin.c: (GST_START_TEST):
21858         * check/gst/gstelement.c: (GST_START_TEST):
21859         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
21860         * check/gst/gstghostpad.c: (GST_START_TEST):
21861         * check/gst/gstpipeline.c: (GST_START_TEST):
21862         * check/pipelines/simple_launch_lines.c: (run_pipeline):
21863         * check/states/sinks.c: (GST_START_TEST):
21864         * gst/elements/gsttypefindelement.c: (stop_typefinding):
21865         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21866         (gst_bin_remove_func), (gst_bin_get_state_func),
21867         (gst_bin_recalc_state), (gst_bin_change_state_func),
21868         (bin_bus_handler):
21869         * gst/gstelement.c: (gst_element_get_state_func),
21870         (gst_element_get_state), (gst_element_abort_state),
21871         (gst_element_commit_state), (gst_element_set_state),
21872         (gst_element_change_state), (gst_element_change_state_func):
21873         * gst/gstelement.h:
21874         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
21875         (gst_pipeline_provide_clock_func):
21876         * gst/gstutils.c: (gst_element_link_pads_filtered):
21877         * tools/gst-launch.c: (main):
21878         * tools/gst-typefind.c: (main):
21879         Use GstClockTime in _get_state() instead of GTimeVal.
21880         Remove old code in gstutils.c
21881
21882 2005-10-12  Andy Wingo  <wingo@pobox.com>
21883
21884         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
21885         removed.
21886
21887         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
21888         there is no task. Shouldn't affect any code, as nothing in our
21889         plugins checks this return value.
21890         (gst_pad_stop_task): Also take the stream lock if the pad has no
21891         task. Docs updated.
21892
21893 2005-10-12  Wim Taymans  <wim@fluendo.com>
21894
21895         * gst/gstpad.c: (pre_activate), (post_activate),
21896         (gst_pad_activate_pull), (gst_pad_activate_push):
21897         Cleanup activation code. Reset old state if
21898         activation failed.
21899
21900 2005-10-12  Wim Taymans  <wim@fluendo.com>
21901
21902         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21903         (gst_base_sink_change_state):
21904         No need to prerol after receiving EOS.
21905
21906         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21907         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
21908         * gst/elements/gstidentity.c: (gst_identity_event):
21909         Print events more verbosely.
21910
21911 2005-10-12  Wim Taymans  <wim@fluendo.com>
21912
21913         * check/Makefile.am:
21914         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21915         * check/states/sinks2.c:
21916         Moved sinks2 testcode in sinks check.
21917
21918         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21919         (gst_bin_remove_func), (gst_bin_recalc_state),
21920         (gst_bin_change_state_func), (bin_bus_handler):
21921         Fix potential race condition when _get_state() iterated over an
21922         ASYNC element right before it posted a state completion.
21923
21924         * gst/gstclock.h:
21925         Do proper cast here.
21926
21927         * gst/gstevent.c: (gst_event_new_newsegment),
21928         (gst_event_parse_newsegment):
21929         A playback rate of 0.0 is not allowed.
21930
21931 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21932
21933         * win32/common/config.h:
21934         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
21935         (_trewinddir), (_ttelldir), (_tseekdir):
21936         * win32/common/dirent.h:
21937         * win32/common/gtchar.h:
21938         * win32/common/libgstbase.def:
21939         * win32/common/libgstreamer.def:
21940         * win32/vs6/grammar.dsp:
21941         * win32/vs6/gst_inspect.dsp:
21942         * win32/vs6/gst_launch.dsp:
21943         * win32/vs6/gstreamer.dsw:
21944         * win32/vs6/libgstbase.dsp:
21945         * win32/vs6/libgstelements.dsp:
21946         * win32/vs6/libgstreamer.dsp:
21947           Visual Studio 6 project files, and a new common directory.
21948           Phear.
21949
21950 2005-10-11  Wim Taymans  <wim@fluendo.com>
21951
21952         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21953         (gst_base_sink_do_sync), (gst_base_sink_query),
21954         (gst_base_sink_change_state):
21955         * gst/base/gstbasesink.h:
21956         Correctly parse newsegment info.
21957
21958 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21959
21960         * gst/gst.c: (init_post):
21961           split plugin paths correctly
21962
21963 2005-10-11  Wim Taymans  <wim@fluendo.com>
21964
21965         * check/gst/gstevent.c: (GST_START_TEST):
21966         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21967         (gst_base_sink_change_state):
21968         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
21969         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21970         * gst/elements/gstfilesink.c: (gst_file_sink_event):
21971         * gst/gstevent.c: (gst_event_new_newsegment),
21972         (gst_event_parse_newsegment):
21973         * gst/gstevent.h:
21974         Added extra flag to newsegment for future API freeze.
21975         Updated check and base elements.
21976
21977 2005-10-11  Julien MOUTTE  <julien@moutte.net>
21978
21979         * gst/base/gstcollectpads.c: (gst_collectpads_init),
21980         (gst_collectpads_add_pad), (gst_collectpads_pop),
21981         (gst_collectpads_event), (gst_collectpads_chain):
21982         * gst/base/gstcollectpads.h: Handle EOS correctly.
21983
21984 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21985
21986         * tools/gst-launch.c: (main):
21987           more null protecting
21988
21989 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21990
21991         * gst/gst-i18n-lib.h:
21992           check for ENABLE_NLS, not GETTEXT_PACKAGE
21993         * gst/gstregistry.c: (gst_registry_add_plugin),
21994         (gst_registry_scan_path_level),
21995         (_gst_registry_remove_cache_plugins):
21996           protect possibly NULL strings
21997         * gst/parse/types.h:
21998           config.h already included before
21999         * tools/gst-inspect.c: (main):
22000           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
22001           check for ENABLE_NLS, not GETTEXT_PACKAGE
22002         * tools/gst-launch.c: (main):
22003           check for ENABLE_NLS, not GETTEXT_PACKAGE
22004
22005 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22006
22007         * configure.ac:
22008           if we don't have glib, fail before testing 2.8
22009         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
22010           fix a leak, should fix plugins-base testsuite
22011
22012 2005-10-11  Andy Wingo  <wingo@pobox.com>
22013
22014         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
22015         take the mode we're going to as an arg. Go head and set the mode
22016         and flushing flags now, so that if the activate function starts a
22017         thread all the flags will be in the right state.
22018         (post_activate): Renamed also. Just handle making sure streaming
22019         finishes for the deactivation case, and setting the deactivated
22020         mode.
22021         (gst_pad_set_active): Complain loudly if deactivation fails.
22022         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
22023         (gst_pad_activate_push): Adapt to pre/post_activate changes,
22024         remove the terrible hack.
22025
22026 2005-10-11  Wim Taymans  <wim@fluendo.com>
22027
22028         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22029         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
22030         (gst_bin_recalc_state), (gst_bin_change_state_func),
22031         (gst_bin_dispose), (bin_bus_handler):
22032         * gst/gstbin.h:
22033         Prepare to make current EOS message queue more generic.
22034         Fix some typos.
22035
22036         * gst/gstevent.c: (gst_event_new_newsegment),
22037         (gst_event_parse_newsegment):
22038         * gst/gstevent.h:
22039         Rename base to stream_time.
22040
22041         * gst/gstmessage.h:
22042         Fix typo in docs.
22043
22044 2005-10-11  Wim Taymans  <wim@fluendo.com>
22045
22046         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22047         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
22048         (gst_bin_change_state_func), (bin_bus_handler):
22049         * gst/gstbin.h:
22050         Work on proper clock selection.
22051
22052 2005-10-11  Edward Hervey  <edward@fluendo.com>
22053
22054         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
22055         * libs/gst/controller/gstcontroller.h:
22056         Added GList* version of _remove_properties() in order to be able to wrap
22057         it in bindings.
22058
22059 2005-10-11  Wim Taymans  <wim@fluendo.com>
22060
22061         * docs/design/part-states.txt:
22062         Some more docs.
22063
22064         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
22065         (gst_bin_change_state_func), (bin_bus_handler):
22066         Doc updates. Don't distribute the same clock over and over again.
22067
22068         * gst/gstclock.c:
22069         * gst/gstclock.h:
22070         Doc updates.
22071
22072         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
22073         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
22074         (gst_pad_send_event):
22075         * gst/gstpad.h:
22076         Make probe emission threadsafe again.
22077         Register quarks and move _get_name() from utils.
22078         Doc updates.
22079
22080         * gst/gstpipeline.c: (gst_pipeline_class_init),
22081         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
22082         Only redistribute the clock of it changed.
22083
22084         * gst/gstsystemclock.h:
22085         Doc updates. 
22086
22087         * gst/gstutils.c:
22088         * gst/gstutils.h:
22089         Moved the _flow_get_name() to GstPad.
22090
22091 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22092
22093         * check/gst-libs/gdp.c: (GST_START_TEST):
22094         * check/gst/gstcaps.c: (GST_START_TEST):
22095         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
22096         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
22097         (gst_dp_packet_from_caps):
22098           fix more valgrind warnings before turning up the heat
22099
22100 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22101
22102         * gst/parse/grammar.y:
22103           some cleanup before the hacking
22104
22105 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22106
22107         * gst/base/gstbasesrc.c: (gst_base_src_query):
22108           use conversions
22109         * gst/gstutils.c: (gst_guint64_to_gdouble),
22110         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
22111         * gst/gstutils.h:
22112           externalize, basesrc uses it
22113           obviously the implementation needs testing
22114
22115 2005-10-10  Wim Taymans  <wim@fluendo.com>
22116
22117         * tests/sched/Makefile.am:
22118         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
22119         (make_pipeline3), (make_pipeline4), (print_elem), (main):
22120
22121 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22122
22123         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
22124           apparently converting from guint64 to double is not implemented
22125           on MSVC
22126
22127 2005-10-10  Wim Taymans  <wim@fluendo.com>
22128
22129         * check/Makefile.am:
22130         * check/generic/states.c: (GST_START_TEST):
22131         * check/gst/gstbin.c: (GST_START_TEST):
22132         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
22133         * check/states/sinks.c: (GST_START_TEST):
22134         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
22135         (main):
22136         Check fixes, use API as stated in design docs, remove hacks.
22137
22138         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22139         (gst_base_sink_change_state):
22140         Catch stopping our task while we're shutting down.
22141
22142         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
22143         (gst_bin_remove_func), (gst_bin_get_state_func),
22144         (gst_bin_recalc_state), (gst_bin_change_state_func),
22145         (bin_bus_handler):
22146         * gst/gstbin.h:
22147         * gst/gstelement.c: (gst_element_init),
22148         (gst_element_get_state_func), (gst_element_abort_state),
22149         (gst_element_commit_state), (gst_element_lost_state),
22150         (gst_element_set_state), (gst_element_change_state),
22151         (gst_element_change_state_func):
22152         * gst/gstelement.h:
22153         New state change algorithm (see #318116)
22154
22155         * gst/gstpipeline.c: (gst_pipeline_class_init),
22156         (gst_pipeline_init), (gst_pipeline_set_property),
22157         (gst_pipeline_get_property), (do_pipeline_seek),
22158         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
22159         * gst/gstpipeline.h:
22160         Remove crude state change hacks.
22161
22162         * gst/gstutils.h:
22163         Remove crude hacks.
22164
22165         * tools/gst-launch.c: (main):
22166         Fixes for state change. Needs some more work to fully use the
22167         new stuff.
22168
22169 2005-10-10  Andy Wingo  <wingo@pobox.com>
22170
22171         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
22172
22173         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
22174         this flag, but it's not even in GLib 2.6. Odd. Hack around the
22175         issue.
22176
22177 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
22178
22179         * gst/gstiterator.c: (gst_iterator_new):
22180           Fix my previous commit: GTypes passed to gst_iterator_new()
22181           can be fundamental types.
22182
22183 2005-10-10  Wim Taymans  <wim@fluendo.com>
22184
22185         * gst/gstelement.c: (gst_element_iterate_pad_list),
22186         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
22187         (gst_element_iterate_sink_pads):
22188         Use src/sink pads lists for the respective iterators instead
22189         of filtering.
22190
22191 2005-10-10  Andy Wingo  <wingo@pobox.com>
22192
22193         Merged in popt removal + GOption addition patch from Ronald, bug
22194         #169772.
22195
22196         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
22197         GstElement macros around, remove popt-related symbols, add goption
22198         stuff.
22199
22200         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
22201         
22202         * docs/gst/Makefile.am:
22203         * docs/libs/Makefile.am: No POPT_CFLAGS.
22204         
22205         * examples/manual/Makefile.am:
22206         * docs/manual/basics-init.xml: Doc updates with an example.
22207         
22208         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
22209         (gst_init), (parse_one_option), (parse_goption_arg):
22210         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
22211         bit of hand merging and debugging to get the GOption stuff working
22212         tho.
22213         
22214         * tests/Makefile.am:
22215         * tools/Makefile.am:
22216         * tools/gst-inspect.c: (main):
22217         * tools/gst-launch.c: (main):
22218         * tools/gst-run.c: (main):
22219         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
22220
22221 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
22222
22223         * gst/gstiterator.c: (gst_iterator_new):
22224           Add assertions to make sure passed GType is likely to really
22225           be a GType (as the compiler won't catch it if the size and
22226           GType arguments get mixed up, see #318447).
22227
22228 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
22229
22230         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
22231
22232         * gst/gstbin.c: (gst_bin_iterate_sorted):
22233           Pass GType and size arguments to gst_iterator_new() in the right
22234           order (maybe we should make _new() take the GType as first argument
22235           just like _new_list()?) (#318447).
22236           
22237
22238 2005-10-10  Wim Taymans  <wim@fluendo.com>
22239
22240         * gst/gstelement.c: (gst_element_finalize):
22241         And free the GStaticRecMutex too
22242
22243 2005-10-10  Andy Wingo  <wingo@pobox.com>
22244
22245         * gst/gstelement.c (gst_element_init, gst_element_finalize):
22246         Allocate and free the mutex properly.
22247
22248         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
22249         New macros.
22250         (GstElement): The state_lock is now recursive. Rebuild your
22251         plugins, suckers. Old macros adapted.
22252
22253         * docs/gst/gstreamer-sections.txt: Doc updates.
22254
22255         * gst/gstutils.h:
22256         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
22257         (g_static_rec_cond_wait): Ported from state changes patch, while
22258         we wait on bug #317802 to be solved in a well-distributed GLib.
22259
22260         * gst/gstelement.c (gst_element_change_state_func): Renamed from
22261         gst_element_change_state, variable name changes.
22262         (gst_element_change_state): Split out of gst_element_set_state in
22263         preparation for the state change merge. Doesn't pay attention to
22264         the 'transition' argument.
22265         (gst_element_set_state): Updates, hopefully purely cosmetic.
22266         (gst_element_sync_state_with_parent): MT-safety. Ported from the
22267         state change patch.
22268         (gst_element_get_state_func): Renamed from get_state, cosmetic
22269         changes.
22270
22271 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22272
22273         * gst/elements/gstelements.c:
22274         * win32/GStreamer.vcproj:
22275         * win32/config.h:
22276         * win32/dirent.c: (_tseekdir):
22277         * win32/gst-inspect.vcproj:
22278         * win32/gst-launch.vcproj:
22279         * win32/gstconfig.h:
22280         * win32/gstelements.vcproj:
22281         * win32/gstenumtypes.c: (gst_object_flags_get_type):
22282         * win32/gstreamer.def:
22283         * win32/msvc71.sln:
22284           updates for the win32 build (patch from Sebastien Moutte)
22285
22286 2005-10-10  Andy Wingo  <wingo@pobox.com>
22287
22288         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
22289         gst_bin_get_state, cleaned up (but no logic changes).
22290         (bin_element_is_sink): Comment updates.
22291         (sink_iterator_filter): Remove needless cast.
22292         (gst_bin_iterate_sinks): Doc update.
22293         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
22294         cleaned up (but no logic changes).
22295
22296         * check/states/sinks.c (test_src_sink): Cleanups from the state
22297         change patch.
22298         (test_livesrc_sink): Sync on the state.
22299
22300         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
22301         the state change patch.
22302
22303         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
22304         change patch.
22305
22306         * check/gst/gstbin.c: Merge in some style fixes and additional
22307         checks from Wim's state change patch.
22308
22309 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
22310
22311         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22312         (gst_type_find_helper):
22313           Check whether we have the requested data already in our list of
22314           cached buffers before pulling a new buffer; also make the buffer
22315           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
22316
22317 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22318
22319         * gst/gstcaps.c:
22320         * gst/gstevent.c:
22321           doc updates
22322         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
22323           don't use long long, it's not portable.  Replacing with
22324           gint64 seems to work; let's hope no skeletons fall out of the closet.
22325
22326 2005-10-10  Andy Wingo  <wingo@pobox.com>
22327
22328         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
22329
22330 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
22331
22332         * docs/gst/gstreamer-sections.txt:
22333         * gst/gstevent.c:
22334         * gst/gstevent.h:
22335         * gst/gstinfo.c:
22336         * gst/gstinfo.h:
22337         * gst/gstmessage.c: (gst_message_parse_state_changed):
22338         * gst/gstpad.c:
22339         * gst/gstpad.h:
22340           more docs, fix compilation
22341
22342 2005-10-09  Philippe Khalaf <burger@speedy.org>
22343         * gst/gstmessage.c:
22344           Fixed a few forgotten variables on previous commit
22345
22346 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
22347
22348         * gst/base/gsttypefindhelper.c: (helper_find_peek):
22349           Fix evil typefind crasher: getrange() might return a short
22350           buffer at the end of a file, but gst_type_find_peek() must
22351           either return the full data as requested or NULL, but
22352           never a short buffer.
22353
22354 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22355
22356         * gst/gstmessage.c: (gst_message_new_state_changed),
22357         (gst_message_parse_state_changed):
22358         * gst/gstmessage.h:
22359           don't use "new", it's a C++ keyword
22360
22361 2005-10-08  Wim Taymans  <wim@fluendo.com>
22362
22363         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
22364         * gst/gstelement.c: (gst_element_post_message):
22365         * gst/gstpipeline.c: (gst_pipeline_change_state):
22366         Small docs and debug updates.
22367
22368 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
22369
22370         * docs/gst/gstreamer-sections.txt:
22371         * gst/gstelementfactory.c:
22372         * gst/gstevent.c:
22373         * gst/gsttaglist.c:
22374           more docs
22375
22376 2005-10-08  Wim Taymans  <wim@fluendo.com>
22377
22378         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
22379         (gst_bin_dispose), (bin_bus_handler):
22380         Fix typos, add comments.
22381         Clear EOS list when going to PAUSED from any direction and do it
22382         in a threadsafe way.
22383         Get base time in a threadsafe way too.
22384         Fix confusing debug in the change_state function.
22385         Various other small cleanups.
22386         
22387         * gst/gstelement.c: (gst_element_post_message):
22388         Fix very verbose bus posting code.
22389
22390         * gst/gstpipeline.c: (gst_pipeline_class_init),
22391         (gst_pipeline_set_property), (gst_pipeline_get_property),
22392         (gst_pipeline_change_state):
22393         Small ARG_ -> PROP_ cleanup
22394
22395 2005-10-08  Wim Taymans  <wim@fluendo.com>
22396
22397         * gst/gstbin.c: (is_eos), (bin_bus_handler):
22398         Do a less CPU demanding EOS check because we can.
22399
22400 2005-10-08  Wim Taymans  <wim@fluendo.com>
22401
22402         * libs/gst/dataprotocol/dataprotocol.c:
22403         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
22404         (gst_dp_packet_from_event):
22405         * libs/gst/dataprotocol/dataprotocol.h:
22406         * libs/gst/dataprotocol/dp-private.h:
22407         It's about time we bump the version number.
22408         Since event types don't fit in the guint8 anymore describing
22409         the payload type, make payload type 16 bits wide.
22410
22411 2005-10-08  Wim Taymans  <wim@fluendo.com>
22412
22413         * docs/design/part-TODO.txt:
22414         * docs/design/part-clocks.txt:
22415         * docs/design/part-events.txt:
22416         * docs/design/part-gstbin.txt:
22417         * docs/design/part-gstelement.txt:
22418         * docs/design/part-gstpipeline.txt:
22419         * docs/design/part-live-source.txt:
22420         * docs/design/part-messages.txt:
22421         * docs/design/part-overview.txt:
22422         * docs/design/part-states.txt:
22423         Many doc updates.
22424
22425 2005-10-08  Wim Taymans  <wim@fluendo.com>
22426
22427         * gst/gstevent.c:
22428         * gst/gstevent.h:
22429         Fix event quark registration.
22430         Add some space between events so we can insert them in the
22431         right groups.
22432
22433 2005-10-08  Wim Taymans  <wim@fluendo.com>
22434
22435         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22436         (gst_base_sink_handle_buffer):
22437         Better log message.
22438
22439         * gst/gstbus.h:
22440         * gst/gstelement.h:
22441         More docs.
22442
22443         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22444         (gst_queue_set_property), (gst_queue_get_property):
22445         * gst/gstqueue.h:
22446         Remove old unused properties.
22447
22448 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
22449         * docs/gst/gstreamer-sections.txt:
22450         * gst/gstmessage.c:
22451         * gst/gstmessage.h:
22452         * gst/gstminiobject.c:
22453         * gst/gstminiobject.h:
22454         * gst/gstobject.h:
22455         * gst/gstpad.h:
22456         * gst/gstutils.h:
22457           lots of new docs and doc fixes
22458
22459 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22460
22461         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
22462         * gst/gstplugin.h:
22463         * gst/gstregistry.c: (gst_registry_lookup_locked),
22464         (gst_registry_scan_path_level):
22465         * gst/gstregistryxml.c: (load_plugin):
22466           Only ever load one plugin for a given plugin basename.
22467           This ensures correct overriding of GST_PLUGIN_PATH over
22468           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
22469           system installed plugins.
22470
22471 2005-10-08  Wim Taymans  <wim@fluendo.com>
22472
22473         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22474         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
22475         Prepare for doing QOS.
22476
22477 2005-10-08  Wim Taymans  <wim@fluendo.com>
22478
22479         * check/gst/gstbin.c: (GST_START_TEST):
22480         * check/pipelines/cleanup.c: (GST_START_TEST):
22481         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22482         Allow new clock message too.
22483
22484 2005-10-08  Wim Taymans  <wim@fluendo.com>
22485
22486         * gst/gstmessage.c: (gst_message_new_error),
22487         (gst_message_new_warning), (gst_message_new_tag),
22488         (gst_message_new_state_changed), (gst_message_new_clock_provide),
22489         (gst_message_new_clock_lost), (gst_message_new_new_clock),
22490         (gst_message_new_segment_start), (gst_message_new_segment_done),
22491         (gst_message_parse_state_changed),
22492         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
22493         (gst_message_parse_new_clock):
22494         * gst/gstmessage.h:
22495         Also carry the clock in question.
22496
22497 2005-10-08  Wim Taymans  <wim@fluendo.com>
22498
22499         * gst/gstmessage.c: (gst_message_new_custom),
22500         (gst_message_new_eos), (gst_message_new_error),
22501         (gst_message_new_warning), (gst_message_new_tag),
22502         (gst_message_new_state_changed), (gst_message_new_clock_provide),
22503         (gst_message_new_new_clock), (gst_message_new_segment_start),
22504         (gst_message_new_segment_done), (gst_message_parse_state_changed),
22505         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
22506         * gst/gstmessage.h:
22507         Clean up.
22508         Added clock related messages.
22509
22510         * gst/gstpipeline.c: (gst_pipeline_change_state):
22511         Post message when the clock changed.
22512
22513         * tools/gst-launch.c: (event_loop):
22514         Print new clock.
22515
22516 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
22517
22518         * tools/gst-inspect.c: (print_element_properties_info):
22519           Can't pass NULL strings to g_print() on windows.
22520
22521 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22522
22523         * docs/Makefile.am:
22524         * docs/gst/Makefile.am:
22525         * docs/gst/gstreamer-docs.sgml:
22526         * docs/gst/running.xml:
22527         * docs/version.entities.in:
22528           add a chapter on running GStreamer.
22529           document GST_DEBUG and GST_PLUGIN* env vars
22530
22531 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22532
22533         * Makefile.am:
22534           remove include dir
22535         * configure.ac:
22536           remove PLUGINS_BUILDDIR stuff
22537         * gst/gst.c: (init_post):
22538           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
22539         * idiottest.mak:
22540           remove, it was condescending and not needed
22541
22542 2005-10-08  Wim Taymans  <wim@fluendo.com>
22543
22544         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
22545         (gst_base_sink_handle_object), (gst_base_sink_event),
22546         (gst_base_sink_wait), (gst_base_sink_handle_event),
22547         (gst_base_sink_change_state):
22548         * gst/base/gstbasesink.h:
22549         Repost EOS message while going to PLAYING if still EOS.
22550         Make sure that when receiving a FLUSH_START we don't attempt
22551         to sync on the clock anymore.
22552
22553 2005-10-08  Wim Taymans  <wim@fluendo.com>
22554
22555         * tools/gst-launch.c: (event_loop):
22556         Better message printout.
22557
22558 2005-10-08  Wim Taymans  <wim@fluendo.com>
22559
22560         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
22561         (gst_bin_child_proxy_get_children_count):
22562         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
22563         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
22564         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
22565         (gst_child_proxy_set_valist):
22566         * gst/parse/grammar.y:
22567         Make ChildProxy threadsafe and fix mem leaks.
22568
22569 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22570
22571         * gst/gst.c: (init_post):
22572           debug the GST_PLUGIN_ env vars
22573
22574 2005-10-08  Wim Taymans  <wim@fluendo.com>
22575
22576         * check/gst/gstbin.c: (GST_START_TEST):
22577         * check/gst/gstmessage.c: (GST_START_TEST):
22578         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22579         * gst/gstelement.c: (gst_element_commit_state),
22580         (gst_element_lost_state):
22581         * gst/gstmessage.c: (gst_message_new_state_changed),
22582         (gst_message_parse_state_changed):
22583         * gst/gstmessage.h:
22584         * tools/gst-launch.c: (event_loop):
22585         Added extra field to STATE_CHANGE message with the pending
22586         state, which will be different from the new state soon.
22587
22588 2005-10-08  Wim Taymans  <wim@fluendo.com>
22589
22590         * gst/gstbus.c: (gst_bus_pop):
22591         * gst/gstclock.c:
22592         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
22593         Small cleanups and doc updates.
22594
22595 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22596
22597         * gst/gst.c: (init_pre):
22598         * gst/gstbin.c: (gst_bin_add_func):
22599           log distributing clocks and base time
22600         * gst/gstregistry.c: (gst_registry_add_plugin),
22601         (gst_registry_scan_path_level), (gst_registry_scan_path):
22602           clean up the debugging output a little
22603         * gst/gstutils.c: (gst_element_state_get_name):
22604           warn about a memleak (I've actually seen this be used, though
22605           it was probably a bug)
22606
22607 2005-10-07  Wim Taymans  <wim@fluendo.com>
22608
22609         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22610         (gst_base_src_init), (gst_base_src_default_newsegment),
22611         (gst_base_src_newsegment), (gst_base_src_do_seek),
22612         (gst_base_src_loop), (gst_base_src_start):
22613         * gst/base/gstbasesrc.h:
22614         Make the newsegment event customizable by subclasses.
22615
22616 2005-10-07  Wim Taymans  <wim@fluendo.com>
22617
22618         * gst/gstevent.c: (gst_event_new_buffersize),
22619         (gst_event_parse_buffersize):
22620         * gst/gstevent.h:
22621         New event for future idea.
22622
22623 2005-10-07  Andy Wingo  <wingo@pobox.com>
22624
22625         * gst/gstelement.c (gst_element_post_message): Doc update.
22626
22627         * docs/gst/gstreamer-sections.txt: Update.
22628
22629         * gst/gstmessage.c (gst_message_new_application): Made into a
22630         function like honest API calls.
22631         (gst_message_new_element): New message type.
22632
22633         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
22634
22635         * check/elements/fakesrc.c (test_no_preroll): New check, checks
22636         that setting a live fakesrc to PAUSED returns NO_PREROLL both
22637         times.
22638
22639         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
22640         NO_PREROLL from gst_element_change_state to fall through.
22641
22642 2005-10-07  Wim Taymans  <wim@fluendo.com>
22643
22644         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
22645         (gst_ghost_pad_do_activate_push):
22646         Activating a ghostpad with no internal pad in push mode
22647         is ok.
22648
22649 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22650
22651         * gst/gstobject.h:
22652           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
22653           Fixes compilation on Windows.
22654
22655 2005-10-07  Michael Smith <msmith@fluendo.com>
22656
22657         * tools/gst-inspect.c:
22658           Print out feature and plugin count at the end when printing out
22659           all features.
22660
22661 2005-10-04  Michael Smith <msmith@fluendo.com>
22662
22663         * gst/gsterror.c: (_gst_stream_errors_init):
22664           Add another error string used in a few existing plugins.
22665
22666         * gst/gstplugin.c:
22667         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
22668         * tools/gst-inspect.c: (print_element_info):
22669           When a feature disappears from a plugin (and the feature exists in
22670           the cached registry file), things went horribly wrong. This isn't a
22671           complete fix, we should actually be removing the 'missing' features
22672           from the features list when we load the actual plugin. That's not
22673           yet implemented. 
22674
22675 2005-10-04  Johan Dahlin  <johan@gnome.org>
22676
22677         * check/gst/gstiterator.c: (GST_START_TEST):
22678         * gst/gstbin.c: (gst_bin_iterate_elements),
22679         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
22680         * gst/gstelement.c: (gst_element_iterate_pads):
22681         * gst/gstformat.c: (gst_format_iterate_definitions):
22682         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22683         (gst_iterator_new_list), (gst_iterator_filter):
22684         * gst/gstiterator.h:
22685         * gst/gstquery.c: (gst_query_type_iterate_definitions):
22686         Add a GType to GstIterator, update callsites and tests.
22687
22688 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22689
22690         * gst/gstpad.c: (gst_pad_event_default_dispatch):
22691           give events a chance to be handled by event probes when the pad
22692           is not linked
22693
22694 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22695
22696         * gst/gstevent.c: (gst_event_type_get_name),
22697         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
22698         * gst/gstevent.h:
22699           add string representations for event types
22700
22701 2005-10-06  Wim Taymans  <wim@fluendo.com>
22702
22703         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
22704         Don't use NULL pointers.
22705
22706 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22707
22708         * gst/gst_private.h:
22709         * gst/gstbus.c:
22710         * gst/gstelement.c:
22711         * gst/gstinfo.c:
22712         * gst/gstpluginfeature.c:
22713           widen the debug category in output to fit the biggest one we have
22714           add a bus category and use it
22715           play with the colors
22716           fix up some categories
22717
22718 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22719
22720         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
22721           add push activation of sink ghost pads.
22722           Andye, please verify
22723
22724 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
22725
22726         * gst/gstutils.c: (gst_element_link_pads):
22727           fix a bug in the case where neither element has a pad
22728         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22729           add a test for that case
22730
22731 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
22732
22733         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
22734           emit have-data before checking for peers.  This allows
22735           for probe handlers to connect elements.  This helps autopluggers.
22736         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
22737         (gst_pad_suite):
22738           add six checks, linked/unlinked with no/true/false probe
22739
22740 2005-10-04  Wim Taymans  <wim@fluendo.com>
22741
22742         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
22743         (gst_fake_sink_event), (gst_fake_sink_preroll),
22744         (gst_fake_sink_render), (gst_fake_sink_change_state):
22745         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
22746         (gst_fake_src_get_property), (gst_fake_src_create),
22747         (gst_fake_src_stop):
22748         * gst/elements/gstidentity.c: (gst_identity_stop):
22749         Protect last_message with lock.
22750
22751 2005-10-04  Edward Hervey  <edward@fluendo.com>
22752
22753         * gst/gstformat.h: 
22754         Added precision in the comments for GST_FORMAT_DEFAULT
22755
22756 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
22757
22758         * tools/gst-launch.c: (main):
22759           Don't try to run erroneous pipelines.
22760
22761 2005-10-04  Julien MOUTTE  <julien@moutte.net>
22762
22763         * gst/gstbus.c: We don't need this header.
22764
22765 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22766
22767         * configure.ac:
22768           back to development
22769
22770 === release 0.9.3 ===
22771
22772 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22773
22774         * README:
22775         * configure.ac:
22776           Releasing 0.9.3, "Unregistered"
22777
22778 2005-10-03  Andy Wingo  <wingo@pobox.com>
22779
22780         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
22781         whereby calling a pad's activatepush() function can start a thread
22782         that starts to push or pull before the pad gets the FLUSHING flag
22783         unset. Hack around it by holding the stream lock until the flag is
22784         set. Need to replace this with a proper solution. Together with
22785         the ghost pad fixes, this fixes mp3 playing/tagreading.
22786
22787         * docs/design/part-gstghostpad.txt: Add a note about activation of
22788         proxy pads outside of ghost pads.
22789
22790         * gst/gstghostpad.c: Implement the ghost pad activation design.
22791
22792 2005-10-02  Andy Wingo  <wingo@pobox.com>
22793
22794         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
22795         It is volatile, after all.
22796
22797         * docs/design/part-gstghostpad.txt: Flesh out activation with
22798         ghost pads.
22799
22800         * gst/base/gstbasesrc.c (gst_base_src_init): Use
22801         GST_DEBUG_FUNCPTR.
22802
22803 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
22804
22805         * configure.ac:
22806           Fix (unused) AM_CONDITIONAL tests.
22807
22808 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
22809
22810         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
22811
22812         * gst/gstutils.c: (gst_pad_query_convert):
22813           Add assertion that makes sure src_val is >=0, just like
22814           gst_query_new_convert() has. (#315895)
22815
22816 2005-09-30  Edward Hervey  <edward@fluendo.com>
22817
22818         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
22819         Let's not iterate pads we're not interested in, it avoids getting 
22820         sky-high refcounts on sinkpad.
22821
22822 2005-09-30  Wim Taymans  <wim@fluendo.com>
22823
22824         * gst/gstelement.c: (gst_element_set_state),
22825         (gst_element_change_state):
22826         Small tweak, element in ASYNC remains ASYNC.
22827
22828 2005-09-30  Wim Taymans  <wim@fluendo.com>
22829
22830         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
22831         Only error is an error.
22832
22833         * gst/gstbin.c: (gst_bin_change_state):
22834         Better debugging.
22835
22836         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
22837         Also call pad_block in pad alloc.
22838
22839         * gst/gstutils.c: (gst_flow_get_name):
22840         Better debugging.
22841
22842 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22843
22844         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22845         (gst_base_src_get_range):
22846           Fix documentation typos. Add some more debug info.
22847
22848 2005-09-29  David Schleef  <ds@schleef.org>
22849
22850         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
22851           more end-user friendly.
22852         * tools/gst-inspect.c: (main): Check if command-line argument is
22853           a file and attempt to load that file as a plugin.
22854
22855 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22856
22857         * check/gst/gstbin.c:
22858         * check/states/sinks.c:
22859           fix tests for the new warning
22860         * check/gst/gstpipeline.c:
22861           add a test for pipeline and bus interaction
22862         * gst/gstelement.c:
22863           elements should be NULL if they get disposed; add a warning if not
22864
22865 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22866
22867         * gst/gstobject.c:
22868           for 2.6 refcounting, make debug log more correct by printing
22869           the actual refcounts at the time of swap (Wim)
22870
22871 2005-09-29  Andy Wingo  <wingo@pobox.com>
22872
22873         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
22874         removes signal watches previously added via
22875         gst_bus_add_signal_watch.
22876         (gst_bus_add_signal_watch): Don't return the source id, just store
22877         it on the bus if there wasn't an id already.
22878
22879         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
22880         add_signal_watch and remove_signal_watch.
22881
22882 2005-09-29  Edward Hervey  <edward@fluendo.com>
22883
22884         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
22885         Better if we actually iterate the list :)
22886
22887 2005-09-29  Wim Taymans  <wim@fluendo.com>
22888
22889         * check/gst/gstbin.c: (GST_START_TEST):
22890         Change for new bus API.
22891
22892         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
22893         (send_messages), (GST_START_TEST), (gstbus_suite):
22894         Change for new bus signal API.
22895
22896         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
22897         (gst_bus_source_prepare), (gst_bus_source_check),
22898         (gst_bus_create_watch), (gst_bus_add_watch_full),
22899         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
22900         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
22901         * gst/gstbus.h:
22902         Remove support for multiple GSources operating on different
22903         message types as it is too complex and unneeded when using
22904         signals.
22905         Added support for receiving signals from the bus.
22906
22907 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22908
22909         * docs/libs/tmpl/gstdataprotocol.sgml:
22910         * docs/manual/advanced-dataaccess.xml:
22911         * gst/elements/gstcapsfilter.c:
22912         * gst/gstutils.c:
22913           rename filter-caps to caps property
22914
22915 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22916
22917         * gst/gstvalue.c: (gst_value_deserialize_fraction):
22918           More robust fraction string parsing.
22919
22920         * docs/pwg/appendix-porting.xml:
22921           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
22922
22923 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22924
22925         * gst/gstcaps.c: (gst_caps_do_simplify):
22926           Thou shalt not free a structure and then continue using it
22927           in the next loop iteration.
22928
22929         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
22930         (gst_caps_suite):
22931           Add test case for caps simplification.
22932
22933 2005-09-29  Wim Taymans  <wim@fluendo.com>
22934
22935         * check/gst/gstbin.c: (GST_START_TEST):
22936         Oops.
22937
22938 2005-09-29  Wim Taymans  <wim@fluendo.com>
22939
22940         * check/gst/gstbin.c: (GST_START_TEST):
22941         Add bus to bin.
22942
22943         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
22944         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
22945         (find_element), (gst_bin_sort_iterator_next),
22946         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22947         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22948         (gst_bin_change_state), (gst_bin_dispose):
22949         A bin does not have a bus, it gets the bus from the parent.
22950
22951         * gst/gstelement.c: (gst_element_requires_clock),
22952         (gst_element_provides_clock), (gst_element_is_indexable),
22953         (gst_element_is_locked_state), (gst_element_change_state),
22954         (gst_element_set_bus_func):
22955         Small cleanups.
22956
22957         * gst/gstpipeline.c: (gst_pipeline_class_init),
22958         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
22959         The pipeline provides a bus.
22960
22961 2005-09-28  Johan Dahlin  <johan@gnome.org>
22962
22963         * gst/gstmessage.c (gst_message_parse_state_changed): Use
22964         gst_structure_get_enum instead of gst_structure_get_int
22965
22966         * gst/gststructure.c (gst_structure_get_enum): Impl.
22967
22968         * gst/gststructure.h (gst_structure_get_enum): Add
22969
22970         * docs/gst/gstreamer-sections.txt: Ditto
22971
22972         * gst/gstmessage.c (gst_message_new_state_changed): Use
22973         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
22974         which does introspection.
22975         Reviewed by Christian Schaller
22976
22977 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
22978
22979         * gst/gstinfo.c: (gst_debug_log_default):
22980           don't do dummy g_strdup()s
22981         * libs/gst/controller/gstcontroller.c:
22982         (on_object_controlled_property_changed),
22983         (gst_controlled_property_new), (gst_controller_new_valist),
22984         (gst_controller_new_list),
22985         (gst_controller_remove_properties_valist), (gst_controller_set),
22986         (gst_controller_get), (gst_controller_sync_values),
22987         (gst_controller_get_value_array), (_gst_controller_class_init),
22988         (gst_controller_get_type):
22989         * libs/gst/controller/gstcontroller.h:
22990         * libs/gst/controller/gstinterpolation.c:
22991         (gst_controlled_property_find_timed_value_node):
22992           convert // to /**/ comments
22993
22994 2005-09-28  Wim Taymans  <wim@fluendo.com>
22995
22996         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
22997         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
22998         (gst_bus_sync_signal_handler):
22999         * gst/gstbus.h:
23000         Added async-message and sync-message signals to the bus.
23001         Added helper BusFunc to emit signals for all posted messages.
23002
23003         * gst/gstmessage.c: (gst_message_type_get_name),
23004         (gst_message_type_to_quark), (gst_message_get_type):
23005         * gst/gstmessage.h:
23006         Register quarks for message names.
23007
23008 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
23009
23010         * docs/libs/gstreamer-libs-sections.txt:
23011         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
23012         (gst_controller_new_list):
23013         * libs/gst/controller/gstcontroller.h:
23014           added another constructor for language bindings
23015
23016 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
23017
23018         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23019           add another check
23020         * gst/gstbus.c:
23021           add some doc
23022         * gst/gstinfo.c: (_gst_debug_init):
23023           slightly more readable color for refcount debugging
23024
23025 2005-09-28  Wim Taymans  <wim@fluendo.com>
23026
23027         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
23028         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23029         (find_element), (gst_bin_sort_iterator_next),
23030         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23031         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23032         (gst_bin_change_state), (gst_bin_dispose):
23033         Small doc fixes. get_clock -> provide_clock.
23034
23035         * gst/gstelement.c: (gst_element_class_init),
23036         (gst_element_provides_clock), (gst_element_provide_clock),
23037         (gst_element_get_clock), (gst_element_commit_state),
23038         (gst_element_lost_state):
23039         * gst/gstelement.h:
23040         Make get/set_clock() symetric. Add provide_clock vmethod since
23041         that is actually what this function does.
23042
23043         * gst/gstpipeline.c: (gst_pipeline_class_init),
23044         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
23045         (gst_pipeline_get_clock):
23046         get_clock -> provide_clock.
23047
23048 2005-09-28  Andy Wingo  <wingo@pobox.com>
23049
23050         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
23051         lieu of real docs...
23052
23053         * gst/elements/gstfdsrc.c: Cleaned up a bit.
23054
23055 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
23056
23057         * gst/elements/gstcapsfilter.c:
23058         * gst/elements/gstfakesink.c:
23059         * gst/elements/gstfakesrc.c:
23060         * gst/elements/gstfdsink.c:
23061         * gst/elements/gstfdsrc.c:
23062         * gst/elements/gstfilesink.c:
23063         * gst/elements/gstfilesrc.c:
23064         * gst/elements/gstidentity.c:
23065         * gst/elements/gsttee.c:
23066         * gst/elements/gsttypefindelement.c:
23067           Make element details static.
23068
23069 2005-09-28  Wim Taymans  <wim@fluendo.com>
23070
23071         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23072         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
23073         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23074         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23075         (gst_bin_change_state), (gst_bin_dispose):
23076         Some documentation updates.
23077         Clean up dispose handlers.
23078
23079         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
23080         * gst/gstpad.c: (gst_pad_dispose):
23081         Clean up dispose handler.
23082
23083         * gst/gstpipeline.c: (gst_pipeline_change_state):
23084         Removed spurious UNLOCK.
23085
23086 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
23087
23088         * docs/gst/gstreamer-sections.txt:
23089         * gst/base/gstbasesrc.h:
23090         * gst/gstelement.h:
23091         * gst/gstevent.h:
23092         * gst/gstobject.h:
23093         * gst/gstpad.h:
23094         * gst/gstpipeline.c:
23095         * gst/gstpipeline.h:
23096         * gst/gstutils.h:
23097         * gst/gstxml.h:
23098           added two new functions to the docs
23099                 documents all undocumented GstXXXFlags
23100                 completed some incomplete docs 
23101
23102 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
23103
23104         * gst/gstbin.c: (gst_bin_dispose):
23105         * gst/gstelement.c: (gst_element_dispose):
23106           remove now useless and leaky resurrection code in dispose
23107         * gst/base/gstbasesrc.c: (gst_base_src_init):
23108         * gst/gstelementfactory.c: (gst_element_factory_create):
23109         * gst/gstobject.c: (gst_object_set_parent):
23110           add some debugging
23111
23112 2005-09-27  Wim Taymans  <wim@fluendo.com>
23113
23114         * docs/design/part-TODO.txt:
23115         Update TODO.
23116
23117         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23118         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
23119         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23120         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23121         (gst_bin_change_state):
23122         * gst/gstelement.h:
23123         Remove element variable, we keep element info in the iterator now.
23124
23125 2005-09-27  Andy Wingo  <wingo@pobox.com>
23126
23127         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
23128         values.
23129
23130 2005-09-27  Wim Taymans  <wim@fluendo.com>
23131
23132         * check/gst/gstbin.c: (GST_START_TEST):
23133         Enable check that works now.
23134
23135         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23136         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
23137         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23138         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23139         (gst_bin_change_state):
23140         * gst/gstbin.h:
23141         Redid the state change algorithm using a topological sort algo.
23142         Handles all cases correctly.
23143         Exposed iterator for state change order.
23144
23145         * gst/gstelement.h:
23146         Temp storage for state changes. Need to get rid of this soon.
23147
23148 2005-09-27  Wim Taymans  <wim@fluendo.com>
23149
23150         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
23151         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
23152         (link_fold_func), (gst_pad_proxy_setcaps):
23153         Leak fixes, the fold functions need to unref the passed object and
23154         _get_parent_*() returns ref to parent.
23155
23156 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
23157
23158         * check/gst/gstbuffer.c: (test_make_writable):
23159           Plug leak in test case and fix 'make check-valgrind'
23160
23161 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
23162
23163         * gst/gstbuffer.c: (gst_subbuffer_init):
23164           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
23165           works correctly in all circumstances (we could have just copied
23166           the parent buffer's readonly flag, but conceptually it seems
23167           cleaner to mark all subbuffers as read-only). (based on patch
23168           by Alessandro Decina, #314710).
23169         
23170         * check/gst/gstbuffer.c: (create_read_only_buffer),
23171         (test_make_writable), (test_subbuffer_make_writable),
23172         (gst_test_suite):
23173           Add some tests for gst_buffer_make_writable().
23174
23175 2005-09-27  Wim Taymans  <wim@fluendo.com>
23176
23177         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
23178         use gst_object_has_ancestor().
23179
23180         * gst/gstobject.c: (gst_object_has_ancestor):
23181         * gst/gstobject.h:
23182         gst_object_has_ancestor() copied from gstbin.c as it is a
23183         useful function.
23184
23185         * tests/instantiate/create.c: (create_all_elements):
23186         * tests/lat.c: (handoff_src), (handoff_sink):
23187         * tests/sched/runxml.c: (main):
23188         * tests/seeking/seeking1.c: (main):
23189         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
23190         (main):
23191         Fix compilation of some tests.
23192
23193 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
23194
23195         * gst/gsterror.h:
23196           Remove comment. GST_TYPE_G_ERROR is here to stay,
23197           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
23198           (#316961, #300610).
23199
23200 2005-09-26  Wim Taymans  <wim@fluendo.com>
23201
23202         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23203         Added check that shows error in state change order.
23204
23205 2005-09-26  Wim Taymans  <wim@fluendo.com>
23206
23207         * gst/gstbin.c: (gst_bin_change_state):
23208         Make state change function use 3 queues again, we were
23209         adding elements in the wrong order.
23210
23211         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
23212         Some debug info,
23213
23214         * gst/gstpad.c: (gst_pad_dispose):
23215         Added some debug info first.
23216
23217 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
23218
23219         * docs/design/draft-push-pull.txt:
23220         * docs/design/part-events.txt:
23221         * docs/design/part-overview.txt:
23222         * docs/design/part-scheduling.txt:
23223           Replace all _pull_region() with _pull_range()
23224           
23225 2005-09-26  Andy Wingo  <wingo@pobox.com>
23226
23227         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
23228
23229         * check/gst-libs/controller.c: Update for controller api change.
23230
23231         * configure.ac: 
23232         * tests/Makefile.am:
23233         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
23234         over by GLib bug 118439.
23235         
23236         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
23237         routines to a function.
23238
23239         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
23240
23241         * libs/gst/controller/gsthelper.c:
23242         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
23243         (gst_object_sync_values): Renamed from sink_values. Ugh.
23244
23245         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
23246
23247         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
23248         Renamed from controller_key, as it is exported.
23249
23250         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
23251
23252 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
23253
23254         * gst/Makefile.am:
23255         * gst/gst.h:
23256         * gst/gstpad.h:
23257         * gst/gstpadtemplate.h:
23258         * gst/gstquery.c:
23259         * gst/gstquery.h:
23260         * gst/gstqueryutils.c:
23261         * gst/gstqueryutils.h:
23262           remove queryutils headers after moving the two used functions
23263           to gstquery.  also fixes build problem for gstsiddec
23264
23265 2005-09-26  Michael Smith <msmith@fluendo.com>
23266
23267         * tools/gst-launch.1.in:
23268         Correct documentation in manpage of debug syntax
23269
23270 2005-09-26  Wim Taymans  <wim@fluendo.com>
23271
23272         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
23273         (gst_base_src_is_seekable), (gst_base_src_change_state):
23274         Some more debugging info.
23275
23276 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
23277
23278         * docs/gst/gstreamer-sections.txt:
23279         * gst/base/gstbasetransform.h:
23280         * gst/gstindex.h:
23281           added more docs
23282
23283 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
23284
23285         * docs/gst/.cvsignore:
23286         * docs/gst/tmpl/.cvsignore:
23287         * docs/gst/tmpl/gstpipeline.sgml:
23288         * docs/gst/tmpl/gstplugin.sgml:
23289         * gst/gstpipeline.c:
23290         * gst/gstplugin.c:
23291         * gst/gstplugin.h:
23292           inlined the last two docs files
23293           removed the tmpl directory from cvs (no more conflicts here!)
23294
23295 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
23296
23297         * docs/gst/gstreamer-sections.txt:
23298         * docs/gst/tmpl/.cvsignore:
23299         * docs/gst/tmpl/gstpad.sgml:
23300         * docs/gst/tmpl/gstpadtemplate.sgml:
23301         * gst/Makefile.am:
23302         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
23303         (gst_pad_finalize), (gst_pad_set_pad_template):
23304         * gst/gstpad.h:
23305         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
23306         (gst_pad_template_class_init), (gst_pad_template_init),
23307         (gst_pad_template_dispose), (name_is_valid),
23308         (gst_static_pad_template_get), (gst_pad_template_new),
23309         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
23310         (gst_pad_template_pad_created):
23311         * gst/gstpadtemplate.h:
23312           inlined two more docs
23313           factored gstpadtemplate out of gstpad
23314
23315 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
23316
23317         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
23318         (test_children_state_change_order_semi_sink):
23319           Fix test case: we can't rely on a fixed state change order when
23320           going from READY => PAUSED because the sink might commit its 
23321           new state first when the first buffer created by the source 
23322           reaches the sink before the source has finished its change state.
23323           (Test case still fails at times, see #316856, comment 5 onwards)
23324
23325 2005-09-24  Wim Taymans  <wim@fluendo.com>
23326
23327         * docs/design/part-events.txt:
23328         * docs/design/part-gstbus.txt:
23329         * docs/design/part-gstpipeline.txt:
23330         * docs/design/part-messages.txt:
23331         * docs/design/part-overview.txt:
23332         * docs/design/part-segments.txt:
23333         * gst/gstbin.c:
23334         * gst/gstbuffer.c:
23335         * gst/gstclock.c:
23336         * gst/gstelement.c:
23337         * gst/gstevent.c:
23338         * gst/gstfilter.c:
23339         * gst/gstiterator.c:
23340         Various documentation updates.
23341
23342 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23343
23344         * gst/gstclock.h:
23345           Well, that's embarassing.  Luckily we weren't using
23346           GST_CLOCK_DIFF anywhere.
23347
23348 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23349
23350         * common/gtk-doc.mak:
23351           don't fail on building XML, FC4 slave shows a bunch of doc
23352           missing bits that I don't get
23353         * gst/gstpad.c:
23354         * gst/gstpipeline.c:
23355         * gst/gststructure.c:
23356           some doc updates
23357
23358 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
23359
23360         * docs/design/part-gstbin.txt:
23361         * docs/design/part-gstbus.txt:
23362         * gst/gstbus.c:
23363           Add blurb about how the bus goes into flushing mode and
23364           drops all messages when its bin goes from READY into NULL 
23365           state.
23366
23367 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23368
23369         * docs/gst/gstreamer-sections.txt:
23370         * gst/gststructure.c: (gst_structure_get_clock_time):
23371         * gst/gststructure.h:
23372           add a method to get a GstClockTime out of a structure
23373
23374 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
23375
23376         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
23377         (test_children_state_change_order_semi_sink), (gst_bin_suite):
23378           Added test to check state change order in bins (can still be made
23379           to fail here under heavy disk load; bails out with 'Push on pad
23380           fakesink:sink0, but it was not activated in push mode').
23381
23382         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
23383           Fix state change order when there is only a semi sink (#316856)
23384
23385         * gst/gstbus.c: (gst_bus_class_init):
23386           Use _class_peek_parent(), not _class_ref(); fix docs to say
23387           'default main context' instead of 'mainloop' where that is
23388           what's meant.
23389
23390         * gst/gstelement.c: (gst_element_commit_state),
23391         (gst_element_set_state):
23392           Fix typos in debug messages
23393
23394 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23395
23396         * docs/README:
23397         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
23398         * gst/gstpluginfeature.c:
23399         * gst/gstutils.c:
23400           various doc updates
23401         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23402           change an assert into an error until it gets fixed properly
23403
23404 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
23405
23406         * docs/gst/gstreamer-sections.txt:
23407         * docs/gst/tmpl/.cvsignore:
23408         * docs/gst/tmpl/gstelement.sgml:
23409         * docs/gst/tmpl/gstinfo.sgml:
23410         * docs/gst/tmpl/gstobject.sgml:
23411         * gst/gstelement.c:
23412         * gst/gstelement.h:
23413         * gst/gstinfo.c:
23414         * gst/gstinfo.h:
23415         * gst/gstobject.c: (gst_object_class_init):
23416         * gst/gstobject.h:
23417           inlined 3 more biiiig doc files and added some missing docs on the fly
23418
23419 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23420
23421         * check/gst/.cvsignore:
23422         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
23423         * gst/gstregistryxml.c: (load_plugin),
23424         (gst_registry_xml_save_plugin):
23425           put back source in registry.  add checks for find_plugin.
23426         * testsuite/states/bin.c: (assert_state), (empty_bin),
23427         (test_adding_one_element), (main):
23428         * testsuite/states/locked.c: (main):
23429           some compile/run fixes
23430
23431 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23432
23433         * check/gst/gstvalue.c: (GST_START_TEST):
23434           fix leaks in the test itself
23435
23436 2005-09-22  Wim Taymans  <wim@fluendo.com>
23437
23438         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23439         (gst_base_sink_send_event), (gst_base_sink_peer_query),
23440         (gst_base_sink_query):
23441         Prepare for more accurate position reporting and query
23442         handling.
23443
23444         * gst/gstelement.c: (gst_element_send_event),
23445         (gst_element_set_state):
23446         Add some comment.
23447
23448 2005-09-22  Wim Taymans  <wim@fluendo.com>
23449
23450         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
23451         (gst_query_parse_segment):
23452         * gst/gstquery.h:
23453         More documentation.
23454         Add segment query for future use.
23455
23456 2005-09-22  Wim Taymans  <wim@fluendo.com>
23457
23458         * gst/gstbin.c: (gst_bin_add_func):
23459         Some more debug info.
23460
23461         * gst/gstelement.c: (gst_element_send_event):
23462         Simplify send_event
23463
23464         * gst/gstelement.h:
23465         Don't know how flags got broken.
23466
23467         * gst/gstquery.h:
23468         Added new query.
23469
23470 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
23471
23472         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
23473           Add simplistic test suite for GST_TYPE_DATE serialisation and
23474           deserialisation.
23475
23476 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
23477
23478         * docs/gst/gstreamer-sections.txt:
23479         * gst/gststructure.c: (gst_structure_set_valist),
23480         (gst_structure_get_date):
23481         * gst/gststructure.h:
23482         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
23483         (gst_date_copy), (gst_value_compare_date),
23484         (gst_value_serialize_date), (gst_value_deserialize_date),
23485         (gst_value_transform_date_string),
23486         (gst_value_transform_string_date), (_gst_value_initialize):
23487         * gst/gstvalue.h:
23488           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
23489           bunch of utility functions along with a hack that checks that
23490           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
23491           is required. Part of the grand scheme in #170777.
23492
23493 2005-09-22  Andy Wingo  <wingo@pobox.com>
23494
23495         * gst/gstconfig.h.in: Psych out gtk-doc.
23496
23497         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
23498
23499         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
23500
23501         * tools/gst-inspect.c (print_element_list): Plug some
23502         inconsequential leaks.
23503
23504         * gst/gstregistry.c (gst_registry_get_default): Doc.
23505
23506         * check/gst/gstplugin.c: 
23507         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
23508         * gst/gstelementfactory.c (gst_element_factory_create): 
23509         * gst/gstindexfactory.c (gst_index_factory_create): Update for
23510         refcount changes.
23511
23512         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
23513         (gst_plugin_feature_load): Doc, don't eat refs.
23514
23515         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
23516         (gst_plugin_list_free): Doc.
23517         (gst_plugin_load_file): Doc updates.
23518
23519         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
23520         accessors returning refcounted objects, return a ref.
23521
23522         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
23523         accessor for caps. IDEMPOTENCE. Oh yes.
23524
23525 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
23526
23527         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23528
23529         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
23530         (_gst_debug_register_funcptr):
23531           Add mutex to serialise access to the hash table with
23532           the function pointer => function name string mapping;
23533           make that hash table static scope (#316809).
23534
23535         * gst/registries/.cvsignore:
23536           Remove left-over file.
23537
23538 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
23539
23540         * docs/pwg/appendix-porting.xml:
23541           And something about newsegment events and caps-on-buffers to
23542           the porting guide (feel free to improve).
23543
23544 2005-09-21  Andy Wingo  <wingo@pobox.com>
23545
23546         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
23547         data and event probes on the same pad.
23548         (test_buffer_probe_once): Test that removing probes from within
23549         the probe functions works.
23550
23551 2005-09-21  Andy Wingo  <wingo@pobox.com>
23552
23553         * check/gst/gstutils.c: New file.
23554         (test_buffer_probe_n_times): A simple buffer probe test. More to
23555         come, foolios.
23556
23557         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
23558         have-data::buffer, not have-data.
23559         (gst_pad_add_event_probe): Likewise for have-data::event.
23560         (gst_pad_add_data_probe): More docs. The part about 'resolving the
23561         peer' isn't quite right yet though.
23562         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
23563         (gst_pad_remove_data_probe): Change to take the guint handler_id
23564         as their arg, not the function+data, which is more glib-like.
23565
23566         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
23567         the signal emission to indicate if the data is a buffer or an
23568         event.
23569         (gst_pad_get_type): Initialize buffer and event quarks.
23570         (gst_pad_class_init): have-data is now a detailed signal, yes it
23571         is.
23572
23573 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
23574
23575         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
23576         * gst/gstutils.c: (gst_util_set_value_from_string),
23577         (gst_util_set_object_arg):
23578           Don't put functional code in g_return_if_fail() or
23579           g_return_val_if_fail() statements, otherwise things will 
23580           break when G_DISABLE_CHECKS is defined during compilation.
23581
23582 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23583
23584         * docs/gst/tmpl/.cvsignore:
23585         * docs/gst/tmpl/gstvalue.sgml:
23586         * gst/gstvalue.c:
23587         * gst/gstvalue.h:
23588           inlied another one and added  some obvious docs
23589
23590 2005-09-21  Wim Taymans  <wim@fluendo.com>
23591
23592         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
23593         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
23594         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
23595         (gst_fdsrc_get_property), (gst_fdsrc_create):
23596         * gst/elements/gstfdsrc.h:
23597         Properly implement fdsrc. Removed signal and timeout,
23598         better implemented somewhere else.
23599
23600 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23601
23602         * docs/gst/tmpl/.cvsignore:
23603         * docs/gst/tmpl/gstimplementsinterface.sgml:
23604         * gst/gstinterface.c:
23605           inlined more docs
23606
23607 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23608
23609         * docs/gst/gstreamer-sections.txt:
23610         * docs/gst/tmpl/.cvsignore:
23611         * docs/gst/tmpl/gstenumtypes.sgml:
23612           remove obsolete doc file
23613
23614 2005-09-21  David Schleef  <ds@schleef.org>
23615
23616         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
23617         little beer, fix a little leak.
23618
23619 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23620
23621         * docs/gst/gstreamer-docs.sgml:
23622         * docs/gst/gstreamer-sections.txt:
23623         * docs/gst/tmpl/.cvsignore:
23624         * gst/Makefile.am:
23625         * gst/gst.h:
23626         * gst/gstbin.c:
23627         * gst/gstelement.h:
23628         * gst/gstindex.c: (gst_index_class_init):
23629         * gst/gstindex.h:
23630         * gst/gstindexfactory.c: (gst_index_factory_get_type),
23631         (gst_index_factory_class_init), (gst_index_factory_init),
23632         (gst_index_factory_finalize), (gst_index_factory_new),
23633         (gst_index_factory_destroy), (gst_index_factory_find),
23634         (gst_index_factory_create), (gst_index_factory_make):
23635         * gst/gstindexfactory.h:
23636         * gst/gstpluginfeature.c:
23637         * gst/gstpluginfeature.h:
23638         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23639           more docs inlined, splitted gstindex.{c,h}
23640
23641 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23642
23643         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23644           fix a leak
23645
23646 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
23647
23648         * gst/elements/gstfilesink.c: (gst_file_sink_init):
23649           Set sync to FALSE by default.
23650
23651 2005-09-20  Wim Taymans  <wim@fluendo.com>
23652
23653         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23654         (gst_base_sink_init):
23655         Make sync property settable from subclass.
23656
23657         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
23658         (gst_fake_sink_change_state):
23659         Set sync to FALSE by default.
23660
23661 2005-09-20  Wim Taymans  <wim@fluendo.com>
23662
23663         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
23664         * tools/gst-launch.c: (main):
23665         The timeout handler should have lower priority than the source
23666         so we don't timeout before popping a message with 0 timeout.
23667         Dump error messages after failed state change.
23668
23669 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
23670
23671         * tools/gst-inspect.c: (print_element_properties_info):
23672           Fix two typos.
23673
23674 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23675
23676         * check/gst/gstevent.c:
23677         * gst/elements/gstfakesink.c:
23678         * gst/elements/gstfakesink.h:
23679           remove the sync property from fakesink.
23680           has the side effect of setting sync TRUE
23681           for fakesink, which is a change.  Anyone who knows how
23682           to fix this nicely in a GObject-y way, feel free.
23683
23684 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23685
23686         * docs/gst/gstreamer-docs.sgml:
23687           remove probe refsection
23688
23689 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23690
23691         * check/Makefile.am:
23692           disable valgrinding the controller test again
23693         * docs/gst/gstreamer-sections.txt:
23694           update for api-changes
23695
23696 2005-09-20  Wim Taymans  <wim@fluendo.com>
23697
23698         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23699         (gst_base_sink_set_property), (gst_base_sink_get_property),
23700         (gst_base_sink_do_sync):
23701         * gst/base/gstbasesink.h:
23702         Added sync property to basesink to disable clock sync.
23703
23704 2005-09-20  Andy Wingo  <wingo@pobox.com>
23705
23706         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
23707         eating the caller's refcount.
23708
23709         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
23710         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
23711         refcount.
23712
23713         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
23714         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
23715         of GLib 2.8 public, so we can know which refcount to check in
23716         tests.
23717
23718         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
23719         (gst_object_init): Only set the gst refcount if we're going ahead
23720         with the refcount hack.
23721
23722 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23723
23724         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
23725         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23726           more leaks plumbed, added more debug-logging
23727         * gst/gstmacros.h:
23728           whitespace fix
23729
23730 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23731
23732         * gst/gstmessage.c:
23733           remove include of gstmemchunk.h
23734
23735 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23736
23737         * gst/gstclock.c: (_gst_clock_id_free):
23738           Commit from the Political Party For More Atomic CVS Commits,
23739           so that people don't waste too much of their day fishing
23740           out obvious leaks out of massive commits.
23741           Oh, and fix a pretty damn obvious leak in the memchunk
23742           removal code.
23743
23744 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23745
23746         * check/Makefile.am:
23747         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
23748           plug mem-leak, re-add to valgrindable tests
23749
23750 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23751
23752         * gst/gstplugin.h:
23753           unbreak the build for those who have chronic arthritis
23754           and typing "make check" is just too taxing on the hands
23755
23756 2005-09-20  Andy Wingo  <wingo@pobox.com>
23757
23758         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
23759         really want it out, you should fix plugins at the same time.
23760
23761 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
23762
23763         * configure.ac:
23764         * docs/gst/gstreamer-sections.txt:
23765         * gst/gstobject.c:
23766           added missing symbols to api docs
23767           disable ref-count hack if we have glib >= 2.8
23768
23769 2005-09-19  David Schleef  <ds@schleef.org>
23770
23771         * docs/gst/Makefile.am: Ignore a few more internal headers
23772         * docs/gst/gstreamer-docs.sgml: Remove old sections
23773         * docs/gst/gstreamer-sections.txt: Remove old sections
23774         * docs/gst/tmpl/gstobject.sgml: update
23775         * docs/gst/tmpl/gstplugin.sgml: update
23776         * docs/gst/tmpl/gstpluginfeature.sgml: update
23777         * docs/random/ds/0.9-suggested-changes: update.
23778         * gst/Makefile.am: remove memchunk and trashstack, since they're
23779           not used.
23780         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
23781         * gst/gst.h: don't include some headers
23782         * gst/gstchildproxy.c: add gstmarshal.h
23783         * gst/gstclock.c: Don't use memchunks
23784         * gst/gstminiobject.c: Add some docs
23785         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
23786         * gst/gstobject.h: same
23787         * gst/gstplugin.c: include gstmacros.h
23788         * gst/gstplugin.h: don't include gstmacros.h, since it's private
23789         * gst/gstquery.c: don't use memchunks
23790         * gst/gstregistry.c: rename gst_registry_deinit()
23791         * gst/gstregistry.h: same
23792
23793 2005-09-19  David Schleef  <ds@schleef.org>
23794
23795         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
23796         * docs/libs/gstreamer-libs-sections.txt:
23797         * docs/libs/tmpl/gstgetbits.sgml:
23798         * docs/libs/tmpl/gstputbits.sgml:
23799
23800 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
23801
23802         * win32/gstenumtypes.c:
23803         * win32/gstenumtypes.h:
23804           Update.
23805
23806 2005-09-19  Wim Taymans  <wim@fluendo.com>
23807
23808         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
23809         Automatically PAUSE and RESUME a pipeline when a flushing seek
23810         is performed.
23811
23812 2005-09-19  Andy Wingo  <wingo@pobox.com>
23813
23814         * gst/gstregistry.h: Spacing fixen.
23815
23816 2005-09-19  Wim Taymans  <wim@fluendo.com>
23817
23818         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
23819         Handle state change failure more correctly.
23820
23821 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23822
23823         * check/Makefile.am:
23824         * check/pipelines/cleanup.c: (run_pipeline):
23825         * check/pipelines/simple_launch_lines.c: (run_pipeline),
23826         (GST_START_TEST):
23827           enable cleanup again after fixing the leak
23828         * docs/README:
23829           some more info on docs
23830
23831 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23832
23833         * check/Makefile.am:
23834           re-enable tests now that leaks are plugged
23835         * check/gst/gst.c:
23836         * check/gst/gstbin.c:
23837         * check/gst/gstpipeline.c:
23838           add some more tests while fixing leaks
23839         * common/check.mak:
23840           make sure binaries are uptodate when valgrinding/gdbing
23841         * gst/gst.c:
23842         * gst/gstelementfactory.c:
23843           remove a ref too many, and add a FIXME for when we get
23844           round to disposing of classes
23845         * gst/gstplugin.c:
23846           fix the refcounting when loading a plugin from a file and
23847           the code pretends that the pointer is the same even though
23848           of course it can change
23849         * gst/gstpluginfeature.c:
23850           unref plugins marked cached (a bit confusing as a name)
23851           as the docs state should be done
23852           various doc additions to explain refcounting
23853         * gst/gstregistry.c:
23854         * gst/gstregistryxml.c:
23855           debugging
23856
23857 2005-09-19  Wim Taymans  <wim@fluendo.com>
23858
23859         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
23860         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23861         (send_messages), (GST_START_TEST), (gstbus_suite):
23862         * check/gst/gstpipeline.c: (GST_START_TEST):
23863         * check/pipelines/cleanup.c: (run_pipeline):
23864         * check/pipelines/simple_launch_lines.c: (run_pipeline),
23865         (GST_START_TEST):
23866         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
23867         (gst_bus_source_check), (gst_bus_source_dispatch),
23868         (gst_bus_create_watch), (gst_bus_add_watch_full),
23869         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
23870         * gst/gstbus.h:
23871         * tools/gst-launch.c: (event_loop):
23872         * tools/gst-md5sum.c: (event_loop):
23873         GstBusHandler -> GstBusFunc, return value has the same meaning as
23874         any other GSource (FALSE == remove source).
23875         _add_watch() and _add_watch_full() now take a MessageType mask to
23876         only handle specific types of messages.
23877         _poll() returns the GstMessage instead of the message type to avoid
23878         race conditions.
23879         _have_pending() takes a MessageType mask now too.
23880         Added testsuite for multiple bus watches.
23881         Fix testsuites and applications for new bus API.
23882
23883 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23884
23885         * check/Makefile.am:
23886           mark a bunch of the tests as to fix until we fix them
23887
23888 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23889
23890         * common/check.mak:
23891           use GST_PLUGIN settings for valgrind tests as well, so we're
23892           valgrinding the correct thing
23893         * gst/gst.c: (init_post):
23894           plug another leak
23895
23896 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23897
23898         * gst/gst.c: (init_post), (gst_deinit):
23899         * gst/gstelementfactory.c: (gst_element_factory_class_init),
23900         (gst_element_factory_finalize), (gst_element_factory_cleanup):
23901         * gst/gstindex.c: (gst_index_factory_class_init),
23902         (gst_index_factory_finalize):
23903         * gst/gstobject.c: (gst_object_dispose):
23904         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
23905         (gst_plugin_load_file), (gst_plugin_desc_free):
23906         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
23907         (gst_plugin_feature_finalize):
23908         * gst/gstregistry.c: (gst_registry_class_init),
23909         (gst_registry_init), (gst_registry_finalize),
23910         (gst_registry_get_default), (gst_registry_deinit):
23911         * gst/gstregistry.h:
23912         * gst/gstregistryxml.c: (load_feature), (load_plugin):
23913           various cleanups and memleak plugging.  make valgrind is happy now.
23914
23915 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23916
23917         * common/check.mak:
23918           add a check-valgrind target
23919
23920 2005-09-18  David Schleef  <ds@schleef.org>
23921
23922         * tools/gst-inspect.c: Revert the GOption code.
23923
23924 2005-09-17  David Schleef  <ds@schleef.org>
23925
23926         * check/Makefile.am: Fix environment variables.
23927         * check/gst/gstplugin.c: Fix for API changes.
23928         * tools/gst-inspect.c: Fix for API changes.
23929         * tools/gst-xmlinspect.c: Fix for API changes.
23930         * gst/gstelementfactory.c:
23931         * gst/gstplugin.c:
23932         * gst/gstplugin.h:
23933         * gst/gstpluginfeature.c:
23934         * gst/gstpluginfeature.h:
23935         * gst/gstregistry.c:
23936         * gst/gstregistry.h:
23937         * gst/gstregistryxml.c:
23938         * gst/gsttypefind.c:
23939         * gst/gsttypefindfactory.c:
23940         * gst/indexers/gstfileindex.c:
23941         * gst/indexers/gstmemindex.c:
23942         * gst/schedulers/Makefile.am:
23943           Change registry to keep track of both plugins and features,
23944           removing the feature tracking from plugins themselves.
23945
23946 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
23947
23948         * check/Makefile.am:
23949         * tools/gst-register.1.in:
23950           remove gst-register
23951
23952 2005-09-15  David Schleef  <ds@schleef.org>
23953
23954         * check/gst/gstplugin.c:
23955         * gst/gstelementfactory.c:
23956         * gst/gstplugin.c:
23957         * gst/gstpluginfeature.c:
23958         * gst/gstregistry.c:
23959           Getting tired of debugging.  Disabled all the unreffing of
23960           plugins and features, which fixes the segfaults, but of
23961           course leaks like crazy.  At least playbin works.
23962
23963 2005-09-15  David Schleef  <ds@schleef.org>
23964
23965         * check/gst/gstplugin.c: (register_check_elements),
23966         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
23967         More testing
23968         * gst/elements/gsttypefindelement.c: Fix refcounting.
23969         * gst/gsttypefind.c:
23970         * gst/gsttypefindfactory.c:
23971         * gst/gsttypefindfactory.h:
23972
23973 2005-09-15  David Schleef  <ds@schleef.org>
23974
23975         * gst/gstindex.c: get refcounting correct.
23976         * gst/gstregistry.c: Handle the case where a feature/plugin is
23977           not found.
23978
23979 2005-09-15  David Schleef  <ds@schleef.org>
23980
23981         * check/Makefile.am:
23982         * check/gst/gstplugin.c: Add test
23983         * gst/gstplugin.c: Fix problems noticed by testsuite
23984         * gst/gstplugin.h:
23985         * gst/gstregistry.c: 
23986         * gst/gstregistry.h:
23987
23988 2005-09-15  David Schleef  <ds@schleef.org>
23989
23990         * gst/gstplugin.c: Implement semi-decent recounting and locking
23991           in plugins and plugin features.
23992         * gst/gstplugin.h:
23993         * gst/gstpluginfeature.c:
23994         * gst/gstpluginfeature.h:
23995         * gst/gstregistry.c:
23996
23997 2005-09-15  Michael Smith <msmith@fluendo.com>
23998
23999         * gst/gstregistry.c: (gst_registry_get_feature_list):
24000           Implement this. Makes oggdemux work; decodebin still broken.
24001
24002 2005-09-14  David Schleef  <ds@schleef.org>
24003
24004         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
24005           #316076)
24006         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
24007         * gst/check/Makefile.am:
24008         * libs/gst/controller/Makefile.am:
24009         * libs/gst/dataprotocol/Makefile.am:
24010
24011 2005-09-14  David Schleef  <ds@schleef.org>
24012
24013         * configure.ac: Remove getbits library.  Nothing uses it, and
24014           it should be in something like liboil if someone did want
24015           to use it.
24016         * libs/gst/Makefile.am:
24017         * libs/gst/getbits/Makefile.am:
24018         * libs/gst/getbits/gbtest.c:
24019         * libs/gst/getbits/getbits.c:
24020         * libs/gst/getbits/getbits.h:
24021         * libs/gst/getbits/gstgetbits_generic.c:
24022         * libs/gst/getbits/gstgetbits_i386.s:
24023         * libs/gst/getbits/gstgetbits_inl.h:
24024
24025 2005-09-14  David Schleef  <ds@schleef.org>
24026
24027         * gst/Makefile.am: Dist glib-compat.h
24028
24029 2005-09-14  David Schleef  <ds@schleef.org>
24030
24031         * configure.ac: Remove gst/registries, since it's no longer used.
24032         * gst/registries/Makefile.am:
24033         * gst/registries/gstlibxmlregistry.c:
24034         * gst/registries/gstlibxmlregistry.h:
24035         * gst/registries/gstxmlregistry.c:
24036         * gst/registries/gstxmlregistry.h:
24037         * gst/registries/registrytest.c:
24038
24039 2005-09-14  David Schleef  <ds@schleef.org>
24040
24041         * gst/glib-compat.h:
24042         * gst/gstregistryxml.c:
24043           Convergence is near.  Seriously.
24044
24045 2005-09-14  David Schleef  <ds@schleef.org>
24046
24047         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24048         * gst/glib-compat.h:
24049           Attempt #4 to appease the buildbots.
24050
24051 2005-09-14  David Schleef  <ds@schleef.org>
24052
24053         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24054           Attempt #3.
24055
24056 2005-09-14  David Schleef  <ds@schleef.org>
24057
24058         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24059         Attempt #2.
24060
24061 2005-09-14  David Schleef  <ds@schleef.org>
24062
24063         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
24064           the new functions.
24065
24066 2005-09-14  David Schleef  <ds@schleef.org>
24067
24068         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24069         * gst/glib-compat.h: Add some functions that are in newer versions
24070           of glib than we care to require.
24071         * gst/gstregistryxml.c: Use them.
24072
24073 2005-09-14  David Schleef  <ds@schleef.org>
24074
24075         * po/POTFILES.in: remove gst-register.c
24076
24077 2005-09-14  David Schleef  <ds@schleef.org>
24078
24079         * docs/gst/gstreamer-docs.sgml:
24080         * docs/gst/gstreamer-sections.txt:
24081         * docs/gst/gstreamer.types:
24082         * docs/gst/tmpl/gstelement.sgml:
24083         * docs/gst/tmpl/gstplugin.sgml:
24084         * docs/gst/tmpl/gstpluginfeature.sgml:
24085           Documentation updates for registry changes.
24086
24087 2005-09-14  David Schleef  <ds@schleef.org>
24088
24089         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
24090           because we don't require glib-2.8.
24091
24092 2005-09-14  David Schleef  <ds@schleef.org>
24093
24094         * gst/gstregistryxml.c: Added.  Essentially moved out of the
24095           registries directory.
24096
24097 2005-09-14  David Schleef  <ds@schleef.org>
24098
24099         * check/Makefile.am:
24100         * check/generic/states.c:
24101         * gst/Makefile.am:
24102         * gst/gst.c:
24103         * gst/gst.h:
24104         * gst/gst_private.h:
24105         * gst/gstelementfactory.c:
24106         * gst/gstindex.c:
24107         * gst/gstinfo.c:
24108         * gst/gstplugin.c:
24109         * gst/gstplugin.h:
24110         * gst/gstpluginfeature.c:
24111         * gst/gstpluginfeature.h:
24112         * gst/gstregistry.c:
24113         * gst/gstregistry.h:
24114         * gst/gstregistrypool.c: remove
24115         * gst/gstregistrypool.h: remove
24116         * gst/gsttypefind.c:
24117         * gst/gsttypefindfactory.c:
24118         * gst/gsturi.c:
24119         * tools/Makefile.am:
24120         * tools/gst-compprep.c:
24121         * tools/gst-inspect.c:
24122         * tools/gst-register.c: remove
24123         * tools/gst-xmlinspect.c:
24124           Registry rewrite.  Changes registry from being a file created
24125           by a tool into a simple cache file created automatically by 
24126           libgstreamer.  Removed gst-register (because it's no longer
24127           needed).  Remove registry pools, because we only have one
24128           registry implementation (XML).  Fix up other subsystems as
24129           necessary.
24130
24131 2005-09-13  Michael Smith <msmith@fluendo.com>
24132
24133         * gst/gstconfig.h.in:
24134           Don't Use windows linking attributes for MinGW. Fixes #316157
24135
24136 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
24137
24138         * gst/gstutils.c: (set_state_async_thread_func),
24139         (gst_element_set_state_async):
24140           Apparently people think it's better if this function doesn't
24141           try to set the state to whatever state was asked for on the first
24142           call to this function for any object.  Seriously.
24143
24144 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24145
24146         * check/gst/gstpipeline.c: (GST_START_TEST):
24147         * docs/gst/gstreamer-sections.txt:
24148         * gst/gstutils.c: (set_state_async_thread_func),
24149         (gst_element_set_state_async):
24150         * gst/gstutils.h:
24151           add a "gst_element_set_state_async" method that
24152           sets the state and starts a thread to make sure the state
24153           change completes as best as it can
24154
24155 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24156
24157         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24158           codify design+behaviour in testsuite after discussion
24159
24160 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24161
24162         * docs/gst/tmpl/gstelement.sgml:
24163         * docs/manual/appendix-quotes.xml:
24164           add a quote
24165         * gst/gstelement.c: (gst_element_set_state):
24166           add some debug
24167
24168 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
24169
24170         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
24171         (gst_base_transform_prepare_output_buf),
24172         (gst_base_transform_handle_buffer):
24173         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
24174         (gst_capsfilter_prepare_buf):
24175           Remove the requirement for sub-classes to call the parent
24176           implementation of prepare_output_buffer with a wrapper function.
24177           
24178         * gst/gsttaglist.h:
24179         * gst/gsttagsetter.h:
24180           Fix #define wrapper
24181
24182 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
24183
24184         * docs/gst/gstreamer-sections.txt:
24185           more doc cleanups
24186
24187 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24188
24189         * docs/gst/gstreamer-sections.txt:
24190         * docs/gst/tmpl/gstelement.sgml:
24191         * docs/gst/tmpl/gstplugin.sgml:
24192         * gst/gstminiobject.c:
24193         * gst/gstvalue.h:
24194           docs now stop throwing warnings
24195
24196 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24197
24198         * docs/gst/gstreamer-sections.txt:
24199         * docs/gst/gstreamer.types:
24200         * docs/gst/tmpl/gstpad.sgml:
24201         * docs/gst/tmpl/gsttypes.sgml:
24202         * gst/base/gstadapter.h:
24203         * gst/base/gstbasesink.h:
24204         * gst/base/gstbasesrc.h:
24205         * gst/gstbin.h:
24206         * gst/gstbuffer.h:
24207         * gst/gstbus.h:
24208         * gst/gstcaps.h:
24209         * gst/gstclock.h:
24210         * gst/gstelement.h:
24211         * gst/gstevent.h:
24212         * gst/gstmessage.h:
24213         * gst/gstpad.h:
24214         * gst/gststructure.c:
24215         * gst/registries/gstlibxmlregistry.h:
24216           various documentation fixes
24217
24218 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24219
24220         * docs/gst/gstreamer-sections.txt:
24221         * docs/gst/tmpl/gstvalue.sgml:
24222           rearrange gstvalue section
24223         * gst/gstutils.c: (gst_element_state_get_name):
24224           NONE -> VOID
24225         * gst/gstvalue.c: (_gst_value_initialize):
24226         * gst/gstvalue.h:
24227           doc updates
24228
24229 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
24230
24231         * check/gst-libs/controller.c:
24232           Header include fix.
24233         * gst/base/gstbasetransform.c:
24234         (gst_base_transform_default_prepare_buf),
24235         (gst_base_transform_handle_buffer):
24236         * gst/base/gstbasetransform.h:
24237           Some more basetransform changes and fixes to enable sub-classes
24238           that modify buffer metadata only.
24239         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
24240         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
24241         (gst_capsfilter_prepare_buf):
24242           If the output pad has fixed allowed caps and input buffers 
24243           don't have any, set the fixed caps on outgoing buffers.
24244
24245 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
24246         * check/elements/identity.c: (GST_START_TEST):
24247           Make the error a little clearer when the test fails because
24248           identity made a copy of the buffer.
24249         * docs/gst/gstreamer-sections.txt:
24250           New symbols in gstbasetransform.h
24251         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
24252         (gst_base_transform_init), (gst_base_transform_transform_size),
24253         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24254         (gst_base_transform_default_prepare_buf),
24255         (gst_base_transform_get_unit_size),
24256         (gst_base_transform_buffer_alloc),
24257         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
24258         (gst_base_transform_change_state),
24259         (gst_base_transform_set_passthrough),
24260         (gst_base_transform_set_in_place),
24261         (gst_base_transform_is_in_place):
24262         * gst/base/gstbasetransform.h:
24263           Change BaseTransform to separate in_place operate from same_caps
24264           output. in_place implies that the element can perform the transform
24265           on incoming buffers in-place, even if the caps on the output are
24266           different.
24267           Sub-class elements can now implement special buffer allocation
24268           methods for outgoing buffers if they wish to.
24269           Big documentation addition.
24270         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
24271         * gst/elements/gstelements.c:
24272           Changes for basetransform modifications.
24273         * gst/elements/Makefile.am:
24274         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
24275           Compile fix. Extra debug output.
24276
24277 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24278
24279         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
24280         (gst_pad_suite):
24281           add tests for valid pad naming
24282         * gst/check/gstcheck.c: (gst_check_log_message_func),
24283         (gst_check_log_critical_func):
24284           add ASSERT_WARNING
24285           remove printing of code, it is fragile when the code contains
24286           % and the line number is enough info
24287         * gst/check/gstcheck.h:
24288         * gst/gstpad.c: (gst_pad_template_new):
24289           fix memleaks
24290
24291 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24292
24293         * configure.ac:
24294           say what CHECK flags we use
24295         * docs/libs/gstreamer-libs.types:
24296         * libs/gst/controller/Makefile.am:
24297         * libs/gst/controller/gst-controller.c:
24298         * libs/gst/controller/gst-controller.h:
24299         * libs/gst/controller/gst-helper.c:
24300         * libs/gst/controller/gst-interpolation.c:
24301         * libs/gst/controller/gstcontroller.c:
24302         * libs/gst/controller/gsthelper.c:
24303         * libs/gst/controller/gstinterpolation.c:
24304         * tools/gst-inspect.c: (print_plugin_info):
24305           we don't use dashes in header names
24306
24307 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24308
24309         * check/Makefile.am:
24310         * check/gst/.cvsignore:
24311         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
24312         (gst_pipeline_suite), (main):
24313           adding a test for pipelines and state changes
24314         * gst/gstutils.c: (get_state_func):
24315           add some debugging
24316         * gstreamer.spec.in:
24317           fix up spec file
24318
24319 2005-09-08  Michael Smith <msmith@fluendo.com>
24320
24321         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
24322         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
24323         (gst_file_src_is_seekable), (gst_file_src_get_size),
24324         (gst_file_src_start):
24325         * gst/elements/gstfilesrc.h:
24326           Various fixes for unseekable, unmmapable, and non-normal files, so
24327           that fallback to read() rather than mmap() works.
24328         * gst/gstevent.c: (gst_event_new_newsegment):
24329           Allow newsegment events with segment_start == segment_end, as will
24330           correctly happen if you use filesrc on a zero-size file, for
24331           example.
24332
24333 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
24334
24335         * gst/gstplugin.c: (gst_plugin_load_file):
24336           Call g_module_close when we don't load the module
24337
24338         * gst/registries/gstlibxmlregistry.c:
24339         (gst_xml_registry_get_property):
24340           Port leak fix from 0.8
24341
24342 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
24343
24344         * docs/gst/gstreamer-docs.sgml:
24345         * docs/gst/tmpl/.cvsignore:
24346         * docs/gst/tmpl/gsttrace.sgml:
24347         * docs/gst/tmpl/gsttrashstack.sgml:
24348         * gst/Makefile.am:
24349         * gst/gst.h:
24350         * gst/gstelement.h:
24351         * gst/gstevent.h:
24352         * gst/gstmessage.c:
24353         * gst/gstmessage.h:
24354         * gst/gsttag.c:
24355         * gst/gsttag.h:
24356         * gst/gsttaginterface.c:
24357         * gst/gsttaginterface.h:
24358         * gst/gsttaglist.c:
24359         * gst/gsttaglist.h:
24360         * gst/gsttagsetter.c:
24361         * gst/gsttagsetter.h:
24362         * gst/gsttrace.c:
24363         * gst/gsttrace.h:
24364         * gst/gsttrashstack.c:
24365           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
24366           inlined docs for gsttrace, gsttrashstack
24367
24368 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
24369
24370         * gst/Makefile.am:
24371         * gst/elements/gstbufferstore.h:
24372         * gst/elements/gsttypefindelement.c:
24373         * gst/elements/gsttypefindelement.h:
24374         * gst/gst.h:
24375         * gst/gsttypefind.c:
24376         * gst/gsttypefind.h:
24377         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
24378         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
24379         (gst_type_find_factory_dispose),
24380         (gst_type_find_factory_unload_thyself),
24381         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
24382         (gst_type_find_factory_get_caps),
24383         (gst_type_find_factory_get_extensions),
24384         (gst_type_find_factory_call_function):
24385         * gst/gsttypefindfactory.h:
24386         * gst/registries/gstlibxmlregistry.c:
24387         * gst/registries/gstxmlregistry.c:
24388           splitted gsttypefind into gsttypefind, gsttypefindfactory
24389
24390 2005-09-07  Andy Wingo  <wingo@pobox.com>
24391
24392         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
24393         condition whereby the pad's task function is entered before the
24394         pad_mode variable was set.
24395
24396 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
24397
24398         * gst/gstpad.c: (gst_pad_alloc_buffer):
24399           Catch misbehaving pad_alloc functions that don't
24400           set up caps and do it for them.
24401
24402 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
24403
24404         * check/pipelines/simple_launch_lines.c: (run_pipeline):
24405           test for pipe!=NULL
24406         * docs/gst/tmpl/.cvsignore:
24407         * docs/gst/tmpl/gstmemchunk.sgml:
24408         * docs/gst/tmpl/gstparse.sgml:
24409         * docs/gst/tmpl/gsttaglist.sgml:
24410         * docs/gst/tmpl/gsttagsetter.sgml:
24411         * docs/gst/tmpl/gsttypefind.sgml:
24412         * docs/gst/tmpl/gsttypefindfactory.sgml:
24413         * gst/gstmemchunk.c:
24414         * gst/gstparse.c:
24415         * gst/gsttag.c:
24416         * gst/gsttaginterface.c:
24417         * gst/gsttypefind.c:
24418         * gst/gsttypefind.h:
24419           inlined more docs
24420
24421 === release 0.9.2 ===
24422
24423 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24424
24425         * NEWS:
24426         * RELEASE:
24427         * configure.ac:
24428           releasing 0.9.2, "South"
24429
24430 2005-09-05  Andy Wingo  <wingo@pobox.com>
24431
24432         * gst/registries/gstxmlregistry.h:
24433         * gst/registries/gstxmlregistry.c: Um... resurrect...
24434         
24435         * gst/registries/gstxmlregistry.h:
24436         * gst/registries/gstxmlregistry.c: and update to newer API.
24437         Incidentally they should be a bit faster now that they don't have
24438         to parse the caps.
24439         
24440 2005-09-05  Andy Wingo  <wingo@pobox.com>
24441
24442         * gst/registries/gstxmlregistry.h:
24443         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
24444         replaced by the libxml registry a while back
24445
24446 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24447
24448         * docs/gst/tmpl/gstplugin.sgml:
24449         * gst/elements/gstelements.c:
24450         * gst/gst.c:
24451         * gst/gstplugin.c: (gst_plugin_register_func),
24452         (gst_plugin_desc_copy), (gst_plugin_desc_free),
24453         (gst_plugin_get_source):
24454         * gst/gstplugin.h:
24455         * gst/registries/gstlibxmlregistry.c: (load_plugin),
24456         (gst_xml_registry_save_plugin):
24457         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
24458         (gst_xml_registry_save_plugin):
24459         * tools/gst-inspect.c: (print_plugin_info):
24460           add a "source" plugin description field, to represent the source
24461           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
24462           will set it to PACKAGE, which is automake's idea of the name of
24463           the source project.
24464
24465 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24466
24467         * Makefile.am:
24468         * autogen.sh:
24469         * configure.ac:
24470         * docs/Makefile.am:
24471         * docs/faq/Makefile.am:
24472         * docs/gst/tmpl/gstelement.sgml:
24473         * docs/gst/tmpl/gsttypes.sgml:
24474         * docs/htmlinstall.mak:
24475         * docs/manual/Makefile.am:
24476         * docs/pwg/Makefile.am:
24477           reorganize doc build a little
24478           split out docbook and gtk-doc stuff
24479           have two separate --enable's and enable them through autogen
24480           but disable by default in configure (to be similar to other
24481           projects)
24482         * gstreamer.spec.in:
24483           clean up docs install
24484         * po/af.po:
24485         * po/az.po:
24486         * po/ca.po:
24487         * po/cs.po:
24488         * po/de.po:
24489         * po/en_GB.po:
24490         * po/fr.po:
24491         * po/it.po:
24492         * po/nb.po:
24493         * po/nl.po:
24494         * po/ru.po:
24495         * po/sq.po:
24496         * po/sr.po:
24497         * po/sv.po:
24498         * po/tr.po:
24499         * po/uk.po:
24500         * po/vi.po:
24501           translation updates
24502
24503 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
24504
24505         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
24506           Add comment.
24507           
24508         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24509         (gst_fake_sink_change_state):
24510           Make state change function thread-safe.
24511           
24512         * gst/gstpad.c: (gst_pad_alloc_buffer):
24513           Set offset on generic buffer allocated by fallback.
24514
24515 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
24516
24517         * docs/gst/gstreamer-sections.txt:
24518         * docs/gst/tmpl/gstelement.sgml:
24519         * gst/gstpad.c:
24520         * libs/gst/controller/gst-controller.c:
24521         (gst_controlled_property_set_interpolation_mode),
24522         (gst_controlled_property_new),
24523         (gst_controller_find_controlled_property):
24524          run the wingo-magic script against the docs
24525
24526 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
24527
24528         * docs/gst/gstreamer-docs.sgml:
24529         * docs/gst/gstreamer-sections.txt:
24530         * docs/gst/tmpl/.cvsignore:
24531         * docs/gst/tmpl/gstelementdetails.sgml:
24532         * docs/gst/tmpl/gstelementfactory.sgml:
24533         * gst/gst.c:
24534         * gst/gstbus.c:
24535         * gst/gstelementfactory.c:
24536         * gst/gstelementfactory.h:
24537           merged elementdetails docs into elementfactory docs
24538           inlined both
24539
24540 2005-09-02  Andy Wingo  <wingo@pobox.com>
24541
24542         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
24543         consider this enum an enum and not a flags.
24544
24545 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
24546
24547         * docs/gst/gstreamer-docs.sgml:
24548         * docs/gst/tmpl/.cvsignore:
24549         * docs/gst/tmpl/gstghostpad.sgml:
24550         * docs/gst/tmpl/gstiterator.sgml:
24551         * docs/gst/tmpl/gstmacros.sgml:
24552         * docs/gst/tmpl/gstrealpad.sgml:
24553         * docs/gst/tmpl/gstregistry.sgml:
24554         * docs/gst/tmpl/gstregistrypool.sgml:
24555         * docs/gst/tmpl/gststructure.sgml:
24556         * docs/gst/tmpl/gstsystemclock.sgml:
24557         * docs/gst/tmpl/gsttrace.sgml:
24558         * gst/gstghostpad.c:
24559         * gst/gstmacros.h:
24560         * gst/gstmemchunk.c:
24561         * gst/gstmemchunk.h:
24562         * gst/gstqueue.c:
24563         * gst/gstregistry.c:
24564         * gst/gstregistrypool.c:
24565         * gst/gststructure.c:
24566         * gst/gstsystemclock.c:
24567           more docs inlined
24568
24569 2005-09-02  Andy Wingo  <wingo@pobox.com>
24570
24571         * gst/gstelement.h (GstState): Renamed from GstElementState,
24572         changed to be a normal enum instead of flags.
24573         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
24574         munged to be GST_STATE_CHANGE_*.
24575         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
24576         work with the new state representation.
24577         (GstStateChange): New enumeration of possible state transitions.
24578         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
24579         (GstElementClass::change_state): Pass the GstStateChange along as
24580         an argument. Helps language bindings, so they don't have to use
24581         tricky lock-needing macros like GST_STATE_CHANGE ().
24582
24583         * scripts/update-states (file): New script. Run it on a file to
24584         update it for state naming and API changes. Updates files in
24585         place.
24586
24587         * All files updated for the new API.
24588
24589 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24590
24591         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
24592         * gst/gstutils.c: (gst_util_set_value_from_string),
24593         (gst_util_set_object_arg):
24594           fix a bunch of unchecked return values
24595         * tools/gst-complete.c: (main):
24596         * gstreamer.spec.in:
24597           clean up a little
24598
24599 2005-09-01  Wim Taymans  <wim@fluendo.com>
24600
24601         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24602         (gst_base_sink_event), (gst_base_sink_do_sync),
24603         (gst_base_sink_handle_event):
24604         * gst/base/gstbasesink.h:
24605         Handle newsegments more correctly.
24606
24607         * gst/gstbus.c:
24608         Fix docs.
24609
24610         * gst/gstevent.c: (gst_event_new_newsegment):
24611         A newsegment cannot have a start_time of -1
24612
24613 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
24614
24615         * win32/gstenumtypes.c:
24616         * win32/gstenumtypes.h:
24617           Update
24618
24619 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
24620
24621         * libs/gst/controller/gst-controller.c:
24622         (gst_controlled_property_set_interpolation_mode),
24623         (gst_controlled_property_new):
24624          fixed boolean again
24625
24626 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
24627
24628         * docs/faq/gst-uninstalled:
24629           add -good
24630         * gst/gstevent.c:
24631         * gst/gstevent.h:
24632           remove wrong docs
24633         * gst/gstutils.c: (gst_element_link_filtered):
24634         * gst/gstutils.h:
24635           add gst_element_link_filtered
24636
24637 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
24638
24639         * docs/gst/gstreamer-docs.sgml:
24640         * docs/gst/gstreamer-sections.txt:
24641         * docs/gst/tmpl/.cvsignore:
24642         * docs/gst/tmpl/gsterror.sgml:
24643         * docs/gst/tmpl/gstfilter.sgml:
24644         * docs/gst/tmpl/gsturihandler.sgml:
24645         * docs/gst/tmpl/gsturitype.sgml:
24646         * docs/gst/tmpl/gstutils.sgml:
24647         * docs/gst/tmpl/gstxml.sgml:
24648         * gst/gsterror.c:
24649         * gst/gsterror.h:
24650         * gst/gstfilter.c:
24651         * gst/gsturi.c:
24652         * gst/gsturitype.c:
24653         * gst/gstutils.c:
24654         * gst/gstxml.c:
24655           inlined more docs, fixed double id-ref
24656
24657 2005-08-31  Wim Taymans  <wim@fluendo.com>
24658
24659         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24660         (gst_base_transform_handle_buffer):
24661         Passthrough elements don't need the caps as they don't care.
24662
24663 2005-08-31  Wim Taymans  <wim@fluendo.com>
24664
24665         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24666         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
24667         Don't leak refcounts on buffers.
24668
24669 2005-08-31  Wim Taymans  <wim@fluendo.com>
24670
24671         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
24672         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
24673         (gst_base_transform_chain), (gst_base_transform_change_state):
24674         * gst/base/gstbasetransform.h:
24675         Handle the case where we are not negotiated more gracefully.
24676
24677 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
24678
24679         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
24680         (gst_file_src_map_region):
24681           Set READONLY flag on mmap'ed buffers, otherwise
24682           gst_buffer_make_writable() won't work properly (#314708).
24683
24684 2005-08-31  Wim Taymans  <wim@fluendo.com>
24685
24686         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
24687         passthrough elements can even do inplace on non writable
24688         buffers (as they don't touch them).
24689
24690 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
24691
24692         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
24693         (gst_test_mono_source_set_property),
24694         (gst_test_mono_source_class_init), (GST_START_TEST),
24695         (gst_controller_suite):
24696           more tests (hehe I have the most)
24697         * gst/gstbus.c:
24698           describe popping messages whenusing mulltiple sources
24699         * libs/gst/controller/gst-controller.c:
24700         (gst_controlled_property_set_interpolation_mode),
24701         (gst_controlled_property_new):
24702         * libs/gst/controller/gst-controller.h:
24703         * libs/gst/controller/gst-interpolation.c:
24704           implement boolean properties
24705
24706 2005-08-31  Wim Taymans  <wim@fluendo.com>
24707
24708         * gst/gstminiobject.c: (gst_mini_object_ref):
24709         Cannot assert that the refcount has to be positive
24710         since a disposed object can be resurrected.
24711
24712 2005-08-31  Wim Taymans  <wim@fluendo.com>
24713
24714         * gst/gstpad.c: (gst_pad_init):
24715         Revert change, need to first fix badly behaving 
24716         apps.
24717
24718 2005-08-30  Wim Taymans  <wim@fluendo.com>
24719
24720         * check/elements/fakesrc.c: (setup_fakesrc):
24721         * check/elements/identity.c: (setup_identity):
24722         Activate pads before using them.
24723
24724 2005-08-30  Wim Taymans  <wim@fluendo.com>
24725
24726         * gst/base/gstadapter.c: (gst_adapter_flush):
24727         Flushing out 0 bytes is ok for this function.
24728
24729         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24730         no newsegment gives a warning and sets the start/stop to 
24731         invalid.
24732
24733         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
24734         (gst_base_transform_set_passthrough):
24735         Some debug info.
24736
24737         * gst/gstminiobject.c: (gst_mini_object_ref):
24738         Check refcount here too.
24739
24740         * gst/gstpad.c: (gst_pad_init):
24741         Pads are initially flushing and refusing data.
24742
24743         * gst/gstutils.c: (gst_element_link_pads_filtered):
24744         When adding a capsfilter element make sure it has the
24745         same state as the parent bin.
24746
24747 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24748
24749         * docs/gst/tmpl/.cvsignore:
24750         * docs/gst/tmpl/gstformat.sgml:
24751         * docs/gst/tmpl/gstversion.sgml:
24752         * gst/gstbus.h:
24753         * gst/gstformat.c:
24754         * gst/gstformat.h:
24755         * gst/gstversion.h.in:
24756           more docs and two more inlined
24757
24758 2005-08-30  Wim Taymans  <wim@fluendo.com>
24759
24760         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
24761         Don't sync to clock.
24762
24763 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24764
24765         * docs/gst/gstreamer-sections.txt:
24766           ultral33t func10ns deserve to appear in the docs actually
24767         * docs/gst/tmpl/.cvsignore:
24768         * docs/gst/tmpl/gstcompat.sgml:
24769         * docs/gst/tmpl/gstconfig.sgml:
24770         * gst/check/gstcheck.c:
24771         * gst/gstcompat.h:
24772         * gst/gstconfig.h.in:
24773           inlined more docs
24774
24775 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24776
24777         * docs/gst/tmpl/.cvsignore:
24778         * docs/gst/tmpl/gstquery.sgml:
24779         * docs/gst/tmpl/gstutils.sgml:
24780         * gst/gstquery.c:
24781         * gst/gstquery.h:
24782           inlined and extended docs
24783
24784 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24785
24786         * check/gst-libs/controller.c: (GST_START_TEST),
24787         (gst_controller_suite):
24788           more tests
24789         * docs/gst/tmpl/gstutils.sgml:
24790         * docs/libs/gstreamer-libs-sections.txt:
24791         * docs/libs/tmpl/gstdataprotocol.sgml:
24792           include path fixes
24793         * examples/controller/audio-example.c: (main):
24794           controller example works now
24795         * gst/gstclock.h:
24796           doc fixes
24797         * tools/gst-inspect.c: (print_element_properties_info):
24798           show param spec flags
24799
24800 2005-08-29  Andy Wingo  <wingo@pobox.com>
24801
24802         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
24803
24804 2005-08-28  Andy Wingo  <wingo@pobox.com>
24805
24806         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
24807         as having two arguments instead of just one. Allows superclasses
24808         to access information on subclasses -- see the terrible for() loop
24809         in gtype.c:g_type_create_instance for the reason why. All callers
24810         changed.
24811
24812 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24813
24814         * docs/design/part-messages.txt:
24815           update info
24816         * docs/gst/tmpl/.cvsignore:
24817         * docs/gst/tmpl/gstcaps.sgml:
24818         * docs/gst/tmpl/gstclock.sgml:
24819         * gst/gstbus.c:
24820         * gst/gstcaps.c:
24821         * gst/gstcaps.h:
24822         * gst/gstclock.c:
24823         * gst/gstclock.h:
24824         * gst/gstmessage.c:
24825           added descriptions for bus and message
24826           inline caps and clock docs
24827
24828 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24829
24830         * gst/gstmessage.c:
24831         * gst/gstmessage.h:
24832           doc fixes
24833
24834 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24835
24836         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24837           fix div-by-zero
24838
24839 2005-08-26  Andy Wingo  <wingo@pobox.com>
24840
24841         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
24842         element_set_state's return val.
24843         (test_2_elements): Add test that's been disabled for months.
24844
24845         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
24846         can-activate-pull properties.
24847
24848         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
24849         can-activate-pull properties. Implement is_seekable so fakesrc can
24850         operate in pull mode.
24851
24852         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
24853         properties.
24854         (gst_base_sink_activate, gst_base_sink_activate_pull)
24855         (gst_base_sink_activate_push): Make activation mode choosing work.
24856         Cleanups.
24857         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
24858         is right. Make pull mode work. Post an eos before pausing in pull
24859         mode.
24860         (gst_base_sink_change_state): Pay attention to the core's
24861         change_state() return val.
24862         
24863         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
24864         has-getrange properties. Cleanups.
24865         
24866         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
24867         has_getrange and replace with can_activate_pull and
24868         can_activate_push.
24869
24870         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
24871         locking comments. Remove has_loop, has_chain and replace with
24872         can_activate_pull and can_activate_push.
24873
24874 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
24875
24876         * configure.ac:
24877         * examples/Makefile.am:
24878         * examples/metadata/Makefile.am:
24879         * examples/metadata/read-metadata.c: (message_loop),
24880         (have_pad_handler), (make_pipeline), (print_tag), (main):
24881           Add metadata reading example that loops over a list of filenames,
24882           dumping any tags found.
24883
24884         * gst/gstbus.c: (gst_bus_dispose):
24885         * gst/gstelement.c: (gst_element_dispose):
24886           Release a few potentially-held references in dispose.
24887
24888 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24889
24890         * docs/gst/tmpl/gstminiobject.sgml:
24891           do *not* add tmpl/*.sgml files to CVS!
24892
24893 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24894
24895         * libs/gst/bytestream/.cvsignore:
24896         * libs/gst/bytestream/Makefile.am:
24897         * libs/gst/bytestream/adapter.c:
24898         * libs/gst/bytestream/adapter.h:
24899         * libs/gst/bytestream/bytestream.c:
24900         * libs/gst/bytestream/bytestream.h:
24901         * libs/gst/bytestream/filepad.c:
24902         * libs/gst/bytestream/filepad.h:
24903           removing obsolete files
24904
24905 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24906
24907         * docs/gst/gstreamer-docs.sgml:
24908         * docs/libs/gstreamer-libs-docs.sgml:
24909           disabed additional index entries again, as this makes docs-gen just
24910           slow and they aren't useful yet
24911         * docs/libs/gstreamer-libs-sections.txt:
24912           little -section.txt cleanup for libs
24913
24914 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24915
24916         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24917         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
24918           fix up some debugging
24919         (gst_base_transform_get_unit_size),
24920         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
24921         (gst_base_transform_handle_buffer):
24922         * gst/base/gstbasetransform.h:
24923           handle and store timed NEWSEGMENT events so that subclasses that
24924           calculate time by counting samples have a segment_start time they
24925           need to add to their timestamps - see audioresample
24926
24927 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24928
24929         * gst/gstbin.h:
24930           removed ';' from the end of macro defs
24931         * docs/gst/gstreamer-docs.sgml:
24932         * docs/gst/gstreamer-sections.txt:
24933         * docs/gst/tmpl/.cvsignore:
24934         * gst/gstbus.h:
24935         * gst/gstelement.c: (gst_element_class_init),
24936         (gst_element_set_state), (activate_pads),
24937         (gst_element_save_thyself):
24938         * gst/gstevent.c: (gst_event_new_newsegment):
24939         * gst/gstevent.h:
24940         * gst/gstiterator.c:
24941         * gst/gstiterator.h:
24942         * gst/gstpad.c:
24943         * gst/gstprobe.h:
24944         * gst/gstutils.c: (gst_pad_query_convert):
24945         * gst/gstutils.h:
24946           fixed parameter name mismatches between source, header and docs
24947           added some more docs, resolved the last batch of unused elements in
24948           docs (now someone needs to doc them)
24949
24950 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24951
24952         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
24953         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
24954           don't walk through the plugins backwards.  Where is all this
24955           reversed logic coming from ?
24956
24957 2005-08-25  Wim Taymans  <wim@fluendo.com>
24958
24959         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24960         (gst_base_transform_transform_size),
24961         (gst_base_transform_configure_caps),
24962         (gst_base_transform_get_unit_size),
24963         (gst_base_transform_buffer_alloc),
24964         (gst_base_transform_change_state):
24965         * gst/base/gstbasetransform.h:
24966         Cache caps unit_size.
24967         Make sure we cannot negotiate up and downstream at the
24968         same time.
24969
24970 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24971
24972         * gst/gst.c: (init_pre), (init_post):
24973           register the installed plugin path after the env var
24974         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
24975         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
24976           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
24977           directories, so the tests can prefer uninstalled over installed
24978
24979 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24980
24981         * gst/base/gstbasetransform.h:
24982           comment
24983         * gst/gstpad.c:
24984           add to docs
24985
24986 2005-08-25  Wim Taymans  <wim@fluendo.com>
24987
24988         * gst/gstbin.c: (bin_bus_handler):
24989         Be a bit more conservative about the posted message.
24990         
24991         * gst/gstbus.c: (gst_bus_post):
24992         Some cleanups, warn wrong return values.
24993
24994 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
24995
24996         * check/gst/gstbin.c: (GST_START_TEST):
24997         * gst/gstbin.c: (bin_bus_handler):
24998         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
24999         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
25000         (gst_message_new_warning), (gst_message_new_tag),
25001         (gst_message_new_state_changed), (gst_message_new_segment_start),
25002         (gst_message_new_segment_done), (gst_message_new_custom):
25003         * gst/gstmessage.h:
25004         * tools/gst-launch.c: (event_loop):
25005         * tools/gst-md5sum.c: (event_loop):
25006           Revert unpopular change for GST_MESSAGE_SRC to GObject.
25007
25008 2005-08-25  Wim Taymans  <wim@fluendo.com>
25009
25010         * check/generic/states.c: (GST_START_TEST):
25011         Cleanup can be done at the end.
25012
25013         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
25014         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25015         (gst_task_get_state), (gst_task_start), (gst_task_pause):
25016         Oh boy.. Thanks for finding this, Thomas. 
25017
25018 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
25019
25020         * docs/gst/gstreamer.types:
25021           added missing types
25022
25023 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
25024
25025         * docs/gst/gstreamer-docs.sgml:
25026         * docs/gst/gstreamer-sections.txt:
25027         * docs/gst/tmpl/.cvsignore:
25028         * gst/gstbin.c:
25029         * gst/gstiterator.c:
25030         * gst/gstutils.c:
25031         * gst/registries/gstxmlregistry.h:
25032           added missing classes and symbols (123 more to go)
25033           removed removed symbols from section file
25034           fixed many doc-comments
25035
25036 2005-08-24  Wim Taymans  <wim@fluendo.com>
25037
25038         * check/generic/states.c: (GST_START_TEST):
25039         Make sure all tasks are stopped.
25040
25041         * check/gst/gstbin.c: (GST_START_TEST):
25042         Unref after usage for proper valgrinding.
25043
25044         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
25045         Really wait for the task to stop before destroying the
25046         mutex.
25047
25048         * gst/gstqueue.c: (gst_queue_sink_activate_push),
25049         (gst_queue_src_activate_push):
25050         Small cleanups. Don't stop the task when we did not start
25051         it.
25052
25053         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
25054         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25055         (gst_task_get_state), (gst_task_start), (gst_task_pause),
25056         (gst_task_join):
25057         * gst/gsttask.h:
25058         Protect the stream lock with the object lock.
25059         Disallow setting the stream lock when running.
25060         Add cleanup_all to wait for the threadpool to finish.
25061         Remove code to autoallocate a mutex if none was provided.
25062         Add _join() to wait for a task to stop.
25063         Protect the thread pool with a global lock.
25064
25065 2005-08-24  Wim Taymans  <wim@fluendo.com>
25066
25067         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25068         (gst_base_sink_get_times), (gst_base_sink_do_sync),
25069         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
25070         * gst/base/gstbasesink.h:
25071         Handle newsegment events correctly.
25072         Drop buffers out of the segment range.
25073
25074 2005-08-22  Andy Wingo  <wingo@pobox.com>
25075
25076         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
25077         macro, implements an interface and gstimplementsinterface for a
25078         new type.
25079
25080 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
25081
25082         * check/Makefile.am:
25083         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
25084           add a test that does a bunch of state changes on elements
25085           needs some fixing for valgrind
25086         * check/states/sinks.c: (gst_object_suite):
25087           whitespace
25088         * gst/gstcaps.h:
25089           add prototype for gst_caps_is_equal_fixed
25090         * gst/gstplugin.c:
25091         * gst/gstregistrypool.c:
25092           doc fixes
25093
25094 2005-08-24  Andy Wingo  <wingo@pobox.com>
25095
25096         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
25097         convert a negative value. Doesn't make much sense. Mostly this is
25098         here to force callers to ensure -1 maps to -1.
25099
25100 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
25101
25102         * docs/pwg/advanced-types.xml:
25103           Well done to Michael for catching my deliberate introduction
25104           of this spelling mistake. 
25105         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
25106         * gst/gstelement.h:
25107           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
25108           unlink pads before removing the element from the bin.
25109
25110 2005-08-24  Andy Wingo  <wingo@pobox.com>
25111
25112         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
25113         the same thing as GST_DEBUG=*:4.
25114         (parse_debug_level, parse_debug_category): New helper parsers.
25115
25116 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
25117
25118         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25119         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
25120         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
25121         (gst_base_transform_buffer_alloc),
25122         (gst_base_transform_handle_buffer):
25123           use gboolean return values and pointers to size so we can use the
25124           full GST_BUFFER_SIZE range (guint) for buffer sizes
25125           use GstPadDirection for transform_caps
25126         * gst/base/gstbasetransform.h:
25127           rename get_size to get_unit_size since that's what it is
25128         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
25129           use GstPadDirection for transform_caps
25130         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25131         * gst/gstutils.h:
25132           cleanup and debugging
25133
25134 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
25135
25136         * gst/gstelement.c: (gst_element_class_init),
25137         (gst_element_set_state), (activate_pads),
25138         (gst_element_save_thyself):
25139         * tools/gst-compprep.c: (main):
25140         * tools/gst-inspect.c: (print_element_properties_info):
25141         * tools/gst-xmlinspect.c: (print_element_properties):
25142           Fixed long standing mem-leak
25143
25144 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
25145
25146         * check/gst/gstbin.c: (GST_START_TEST):
25147         * gst/gstbin.c: (bin_bus_handler):
25148         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
25149         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
25150         (gst_message_new_warning), (gst_message_new_tag),
25151         (gst_message_new_state_changed), (gst_message_new_segment_start),
25152         (gst_message_new_segment_done), (gst_message_new_custom):
25153         * gst/gstmessage.h:
25154         * tools/gst-launch.c: (event_loop):
25155         * tools/gst-md5sum.c: (event_loop):
25156           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
25157           that applications can sensibly post custom messages with references
25158           to their own objects.
25159
25160 2005-08-24  Andy Wingo  <wingo@pobox.com>
25161
25162         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
25163         already.
25164
25165 2005-08-24  Wim Taymans  <wim@fluendo.com>
25166
25167         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25168         (gst_base_transform_transform_caps),
25169         (gst_base_transform_transform_size),
25170         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25171         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25172         (gst_base_transform_handle_buffer):
25173         * gst/base/gstbasetransform.h:
25174         Many fixes and new features added by Thomas. Can now also do
25175         transforms with variable sizes and a custom fixate_caps function.
25176
25177 2005-08-24  Wim Taymans  <wim@fluendo.com>
25178
25179         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25180         Some debugging.
25181
25182         * gst/gstclock.h:
25183         Cast to ClockTime before formatting to time.
25184
25185         * gst/gstutils.h:
25186         Cleanups.
25187
25188 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
25189
25190         * check/gst-libs/controller.c: (GST_START_TEST),
25191         (gst_controller_suite):
25192         * docs/gst/tmpl/gstcaps.sgml:
25193         * docs/gst/tmpl/gstghostpad.sgml:
25194         * docs/gst/tmpl/gstquery.sgml:
25195         * docs/gst/tmpl/gstutils.sgml:
25196         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
25197         (gst_object_sink_values), (gst_object_get_value_arrays),
25198         (gst_object_get_value_array):
25199           gracefully handle helper method calls to objects that are not beeing
25200           controlled, added test case for that          
25201
25202 2005-08-23  Wim Taymans  <wim@fluendo.com>
25203
25204         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
25205         (gst_event_new_newsegment), (gst_event_parse_newsegment),
25206         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
25207         (gst_event_parse_qos), (gst_event_new_seek),
25208         (gst_event_parse_seek):
25209         * gst/gstevent.h:
25210         Some more debugging output and doc cleanups.
25211
25212         * gst/gstqueue.c: (gst_queue_handle_sink_event):
25213         Fix possible deadlock.
25214
25215 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
25216
25217         * docs/gst/gstreamer-docs.sgml:
25218         * docs/gst/gstreamer-sections.txt:
25219         * docs/gst/gstreamer.types:
25220         * docs/gst/tmpl/.cvsignore:
25221         * gst/gstbin.h:
25222         * gst/gstbus.c:
25223         * gst/gstelement.c:
25224         * gst/gstevent.h:
25225           added 100 symbols from gstreamer-unused.txt to the right sections
25226           fixed more broken comments
25227           added GstBus to docs
25228
25229 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
25230
25231         * docs/gst/gstreamer-sections.txt:
25232         * docs/gst/tmpl/.cvsignore:
25233         * docs/gst/tmpl/gstbin.sgml:
25234         * docs/gst/tmpl/gstbuffer.sgml:
25235         * gst/base/gstbasesrc.c:
25236         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
25237         * gst/gstbuffer.c:
25238         * gst/gstbuffer.h:
25239         * tools/gst-launch.1.in:
25240           inlined more doc comments, added missing comments and fixed comments
25241           fixed typos
25242
25243 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25244
25245         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25246           some debugging
25247         * gst/gstcaps.h:
25248           whitespace fixes
25249         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
25250           more debugging
25251         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
25252         * gst/gststructure.h:
25253           add a fixate function for booleans; add a FIXME that these func
25254           names should probably be gst_structure_fixate_*
25255
25256 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
25257
25258         * docs/gst/gstreamer-docs.sgml:
25259         * docs/gst/gstreamer-sections.txt:
25260         * gst/Makefile.am:
25261         * gst/gstbin.c: (gst_bin_get_type),
25262         (gst_bin_child_proxy_get_child_by_index),
25263         (gst_bin_child_proxy_get_children_count),
25264         (gst_bin_child_proxy_init):
25265         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
25266         (gst_child_proxy_get_child_by_index),
25267         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
25268         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
25269         (gst_child_proxy_get), (gst_child_proxy_set_property),
25270         (gst_child_proxy_set_valist), (gst_child_proxy_set),
25271         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
25272         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
25273         * gst/gstchildproxy.h:
25274         * gst/parse/grammar.y:
25275         * tools/gst-inspect.c: (print_interfaces),
25276         (print_element_properties_info), (print_element_info):
25277           ported gstchildproxy over from 0.8
25278           ported gst-inspect fixes and enhancements over from 0.8
25279
25280 2005-08-22  Wim Taymans  <wim@fluendo.com>
25281
25282         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25283         (gst_base_transform_handle_buffer):
25284         Also call the transform function if we have ANY caps.
25285
25286         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
25287         Fix debug info.
25288
25289 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
25290
25291         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
25292           Don't pretend to handle seek events if the source is not seekable
25293
25294 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
25295
25296         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25297           Remove extra parameter to debug output
25298
25299         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25300         (gst_base_src_do_seek), (gst_base_src_activate_push):
25301           Fix seek event handling.
25302
25303         * gst/gstpipeline.c: (gst_pipeline_change_state):
25304         * gst/gstqueue.c: (gst_queue_handle_sink_event),
25305         (gst_queue_src_activate_push):
25306           Don't start the src pad task on FLUSH_STOP if the pad
25307           isn't linked.
25308           Debug changes.
25309
25310 2005-08-22  Wim Taymans  <wim@fluendo.com>
25311
25312         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
25313         Added check for gst_static_caps_get() refcounting.
25314
25315 2005-08-22  Wim Taymans  <wim@fluendo.com>
25316
25317         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
25318         Make _static_caps_get() refcounting sane.
25319         
25320         * gst/gstelement.c: (gst_element_set_state):
25321         Add g_return_val_if_fail() to protect against segfaults.
25322
25323 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
25324
25325         * docs/gst/tmpl/gstevent.sgml:
25326         * gst/gstevent.c:
25327         * gst/gstevent.h:
25328           inlined remaining docs, added missing doc comments
25329
25330 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25331
25332         * check/gst/gstbin.c: (GST_START_TEST):
25333           since we don't know when preroll is done, use refcount range
25334           check for the sink
25335         * gst/check/gstcheck.h:
25336           add macro for checking refcount range
25337
25338 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25339
25340         * check/Makefile.am:
25341           clean up environment for when registry gets built versus
25342           when actual tests are run; valgrind seems to not report
25343           leaks if GST_PLUGIN_PATH is set to some specific values
25344         * check/gst/gstbin.c: (GST_START_TEST):
25345           add more refcounting checks; maybe this exposes a
25346           preroll lock bug ?
25347         * common/check.mak:
25348         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25349         * gst/check/gstcheck.h:
25350         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
25351         (gst_bin_change_state):
25352         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
25353           add/fix debugging/whitespace
25354
25355 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
25356
25357         * check/gst/gstevent.c: (event_probe), (test_event),
25358         (GST_START_TEST):
25359          Er, don't call gst_bin_watch_for_state_change you idiot.
25360
25361 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
25362
25363         * check/Makefile.am:
25364           Use CHECK_CFLAGS and CHECK_LIBS
25365         * check/gst/gstevent.c: (event_probe), (test_event),
25366         (GST_START_TEST):
25367           Don't leak events.
25368         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25369         (gst_base_src_start), (gst_base_src_stop),
25370         (gst_base_src_activate_push), (gst_base_src_activate_pull),
25371         (gst_base_src_change_state):
25372           Sprinkle gst_base_src_stop liberally around error paths to fix
25373           problems reusing a source after failed state changes.
25374         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25375         (helper_find_suggest), (gst_type_find_helper):
25376           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
25377         * gst/gstevent.h:
25378         * docs/gst/tmpl/gstevent.sgml:
25379           Migrate part of the docs from the SGML file. Wait for ensonic to
25380           tell me how I did it wrong ;)
25381         * tools/gst-typefind.c: (main):
25382           Extra robustness to state changes between files.
25383
25384 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25385
25386         * check/Makefile.am:
25387           don't valgrind the controller test - it's leaking - Stefan, HELP
25388         * gst/check/gstcheck.c: (gst_check_message_error),
25389         (gst_check_chain_func), (gst_check_setup_element),
25390         (gst_check_teardown_element), (gst_check_setup_src_pad),
25391         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
25392         (gst_check_teardown_sink_pad):
25393         * gst/check/gstcheck.h:
25394           add a bunch of methods to set up elements, and src and sink pads
25395         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
25396         * check/elements/identity.c: (setup_identity), (cleanup_identity),
25397         (GST_START_TEST):
25398           use them
25399         * gst/gstmessage.c:
25400         * gst/gsttag.h:
25401           whitespace/doc fixes
25402
25403 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25404
25405         * gst/gstelement.h:
25406           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
25407           be handled by the application and not always printed as well
25408
25409 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25410
25411         * check/Makefile.am:
25412           set GST_TOOLS_DIR
25413         * gst/check/gstcheck.c: (gst_check_message_error):
25414         * gst/check/gstcheck.h:
25415           add a fail_unless_equals_int
25416           add fail_unless for error messages
25417
25418 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25419
25420         * check/Makefile.am:
25421         * check/gst.supp:
25422         * common/Makefile.am:
25423         * common/check.mak:
25424         * common/gst.supp:
25425           factor out some of the common stuff so we can use it
25426
25427 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25428
25429         * check/Makefile.am:
25430         * check/gst/gstiterator.c: (GST_START_TEST):
25431         * check/gst/gstsystemclock.c: (GST_START_TEST),
25432         (gst_systemclock_suite):
25433         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
25434         * gst/gstclock.c:
25435           valgrind more tests
25436
25437 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25438
25439         * check/elements/.cvsignore:
25440         * check/elements/gstfakesrc.c:
25441           rename to name of element
25442         * check/elements/identity.c: (chain_func), (event_func),
25443         (setup_identity), (cleanup_identity), (GST_START_TEST),
25444         (identity_suite), (main):
25445           add a test for identity
25446         * check/Makefile.am:
25447         * pkgconfig/Makefile.am:
25448         * pkgconfig/gstreamer-check.pc.in:
25449         * pkgconfig/gstreamer-check-uninstalled.pc.in:
25450         * gst/check:
25451         * gst/Makefile.am:
25452         * configure.ac:
25453           move the check stuff to a library that gets installed
25454         * check/gst-libs/controller.c: (GST_START_TEST):
25455         * check/gst-libs/gdp.c:
25456         * check/gst/gst.c: (GST_START_TEST):
25457         * check/gst/gstbin.c:
25458         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25459         * check/gst/gstbus.c:
25460         * check/gst/gstcaps.c: (GST_START_TEST):
25461         * check/gst/gstelement.c:
25462         * check/gst/gstghostpad.c:
25463         * check/gst/gstiterator.c:
25464         * check/gst/gstmessage.c:
25465         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
25466         * check/gst/gstobject.c:
25467         * check/gst/gstpad.c: (GST_START_TEST):
25468         * check/gst/gststructure.c: (GST_START_TEST):
25469         * check/gst/gstsystemclock.c: (GST_START_TEST),
25470         (gst_systemclock_suite):
25471         * check/gst/gsttag.c: (gst_tag_suite):
25472         * check/gst/gstvalue.c:
25473         * check/pipelines/cleanup.c:
25474         * check/pipelines/simple_launch_lines.c:
25475         * check/states/sinks.c:
25476           change include statement
25477
25478         * docs/gst/gstreamer-sections.txt:
25479         * docs/gst/tmpl/gstpad.sgml:
25480           document more pad stuff
25481         * gst/gstminiobject.c: (gst_mini_object_ref),
25482         (gst_mini_object_unref):
25483           debug refcounting
25484
25485 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
25486
25487         * docs/gst/tmpl/gst.sgml:
25488         * gst/gst.c:
25489           eliminate another tmpl file, fix spelling in the long-description
25490
25491 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25492
25493         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25494         (test_event), (timediff), (gstevents_suite):
25495           Should fix build on 64-bit arch's
25496
25497 2005-08-18  Andy Wingo  <wingo@pobox.com>
25498
25499         Make sure that when a pipeline goes to PLAYING, that data has
25500         actually hit the sink.
25501
25502         * check/states/sinks.c (test_sink): A sink that doesn't get any
25503         data shouldn't return SUCCESS for going to either PLAYING or
25504         PAUSED. Test also the return values on the way back down.
25505
25506         * gst/gstelement.c (gst_element_set_state): When changing the
25507         state of an element currently changing state asynchronously, go to
25508         lost-state after commiting the pending state. Makes future calls
25509         to get_state continue to return ASYNC.
25510
25511         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
25512         ASYNC when going to PLAYING if we still don't have preroll, as can
25513         happen with live sources.
25514
25515 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25516
25517         * docs/pwg/advanced-types.xml:
25518           Hack long paragraph into 2 chunks as a workaround for buggy
25519           jadetex version in sid and breezy that loops infinitely and
25520           eats all RAM.
25521
25522 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25523
25524         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25525         (test_event), (timediff), (gstevents_suite):
25526           Provide more error margin in clock measurements to allow for 
25527           g_get_current_time inaccuracies.
25528
25529 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25530
25531         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25532         (test_event), (timediff), (gstevents_suite):
25533            Fix error message output so I might be able to tell why the
25534            test works here but fails on the build farm.
25535
25536 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25537
25538         * check/Makefile.am:
25539         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25540         (test_event), (timediff), (gstevents_suite), (main):
25541           I wrote a test!
25542
25543         * docs/design/part-seeking.txt:
25544           Spelling correction
25545
25546         * docs/gst/tmpl/gstevent.sgml:
25547         * docs/gst/tmpl/gstfakesrc.sgml:
25548           Docs updates.
25549
25550         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25551           Treat a buffer-without-newsegment the same as a receiving 
25552           a newsegment not in time format, and disable syncing to the clock
25553           with a warning.
25554
25555         * gst/gstbus.c: (gst_bus_set_sync_handler):
25556           Assert if anyone tries to replace the existing sync_handler for bus, 
25557           as only the owner should be setting it.
25558
25559         * gst/gstevent.h:
25560           Have a fixed set of custom event enums with events identified by
25561           their structure name (as in 0.8), rather than a free-for-all
25562           allowing collisions between enum values from different plugins.
25563
25564         * gst/gstpad.c: (gst_pad_class_init):
25565           Docs change.
25566           
25567         * gst/gstqueue.c: (gst_queue_handle_sink_event):
25568           Handle out-of-band downstream events from the sending thread.
25569
25570 2005-08-17  Andy Wingo  <wingo@pobox.com>
25571
25572         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
25573         play-timeout==0 to mean no timeout at all. In that case, don't
25574         bother with a get_state or a warning, just return directly, even
25575         if it's ASYNC.
25576
25577         * gst/base/gstbasetransform.c: Debug changes.
25578
25579         * gst/gstutils.h:
25580         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
25581         ensure bins post state change messages. A bit of a hack but I can't
25582         think of a way to avoid it.
25583
25584         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
25585
25586 2005-08-16  Andy Wingo  <wingo@pobox.com>
25587
25588         * gst/base/gstadapter.h:
25589         * gst/base/gstadapter.c (gst_adapter_take): New function, like
25590         peek() but you own the data. Not terribly efficient atm.
25591
25592 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25593
25594         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
25595         (gst_element_found_tags):
25596         * gst/gstutils.h:
25597           Add two utility functions for tag handling.
25598
25599 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25600
25601         * docs/manual/advanced-dataaccess.xml:
25602         * docs/manual/basics-helloworld.xml:
25603           Fix docs to use _bin_add() before _link(), which fixes the examples
25604           with recent core versions (reported by Madhan Raj M
25605           <raj_madan@rediffmail.com>, #313199).
25606
25607 2005-08-16  Wim Taymans  <wim@fluendo.com>
25608
25609         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
25610         Added subtract checks.
25611
25612         * docs/design/part-events.txt:
25613         Some more docs about newsegment
25614
25615         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
25616         Fix FIXME
25617
25618         * gst/gstcaps.c: (gst_caps_to_string):
25619         Add comments, cleanups.
25620         
25621         * gst/gstelement.c: (gst_element_save_thyself):
25622         cleanups
25623         
25624         * gst/gstvalue.c: (gst_value_collect_int_range),
25625         (gst_string_unwrap), (gst_value_union_int_int_range),
25626         (gst_value_union_int_range_int_range),
25627         (gst_value_intersect_int_int_range),
25628         (gst_value_intersect_int_range_int_range),
25629         (gst_value_intersect_double_double_range),
25630         (gst_value_intersect_double_range_double_range),
25631         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
25632         (gst_value_subtract_int_range_int),
25633         (gst_value_subtract_double_range_double),
25634         (gst_value_subtract_double_range_double_range),
25635         (gst_value_subtract_from_list), (gst_value_subtract_list),
25636         (gst_value_can_compare), (gst_value_compare_fraction):
25637         Cleanups, add comments, remove unneeded asserts.
25638
25639 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
25640
25641         * tools/gst-launch.c: (event_loop):
25642           don't convert NULL structures to strings
25643
25644 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
25645
25646         * docs/gst/gstreamer-sections.txt:
25647           made some defines private
25648         * docs/gst/tmpl/gstconfig.sgml:
25649         * docs/gst/tmpl/gstqueue.sgml:
25650         * docs/gst/tmpl/gsttaglist.sgml:
25651         * docs/gst/tmpl/gsttypes.sgml:
25652         * docs/gst/tmpl/gstutils.sgml:
25653         * docs/pwg/appendix-porting.xml:
25654         * gst/base/gstbasesink.h:
25655         * gst/base/gstbasesrc.c:
25656         * gst/base/gstbasesrc.h:
25657         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
25658         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
25659         * gst/gstelement.c: (gst_element_class_init):
25660         * gst/gstpad.c: (gst_pad_class_init):
25661         * gst/gstqueue.c: (gst_queue_class_init):
25662         * gst/gstxml.c: (gst_xml_class_init):
25663           documented all undocumented signal inline
25664         * libs/gst/controller/gst-controller.h:
25665           added padding
25666
25667 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25668
25669         * docs/pwg/appendix-porting.xml:
25670           Document _set_link_function -> _set_setcaps_function.
25671
25672 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
25673
25674         * check/Makefile.am:
25675           add a .check target for running the check
25676         * check/gst-libs/controller.c: (GST_START_TEST):
25677           cosmetic fixups
25678         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25679           complete checks for gstbuffer; would be nice if I could get the
25680           gcov stuff to work so I can see if I actually completed gstbuffer.c
25681         * check/gstcheck.h:
25682           add ASSERT_BUFFER_REFCOUNT
25683
25684 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
25685
25686         * docs/gst/gstreamer-sections.txt:
25687         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
25688         * gst/gsttag.h:
25689           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
25690           spew out a warning if a tag that is already registered
25691           is re-registered, unless it is re-registered with a 
25692           different type (#308438).
25693
25694 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
25695
25696         * docs/pwg/appendix-porting.xml:
25697         * docs/pwg/building-state.xml:
25698           Add some paragraphs about state changes in 0.9 to the PWG
25699           and the porting guide, in particular about the new meaning
25700           of GST_STATE_PAUSED and how to write state change functions
25701           with concurrent access by multiple threads in mind.
25702
25703 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
25704
25705         * docs/gst/gstreamer-docs.sgml:
25706         * docs/libs/gstreamer-libs-docs.sgml:
25707           added deprecation and since indexes
25708         * libs/gst/controller/gst-controller.c:
25709         * libs/gst/controller/gst-helper.c:
25710           added since tags
25711
25712
25713 2005-08-11  Wim Taymans  <wim@fluendo.com>
25714
25715         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
25716         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
25717         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
25718         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
25719         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
25720         (gst_ghost_pad_set_target):
25721         Actually implement (re)setting the target on a ghostpad
25722         as described in the docs.
25723
25724 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
25725
25726         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
25727           Check whether GST_DEBUG_NO_COLOR environment variable is
25728           set and disable coloured debug output if that is the case.
25729
25730 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
25731
25732         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25733         (gst_type_find_helper):
25734           The memory returned by gst_type_find_peek() needs to
25735           stay valid until the end of a typefind function, and
25736           typefind functions may keep results from different 
25737           offsets around, so we can't just unref the buffer from
25738           the previous _peek(), but have to save all buffers 
25739           returned by _peek() until typefinding is done and only
25740           free them then.
25741
25742 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
25743
25744         * docs/gst/gstreamer-sections.txt:
25745         * gst/gstutils.h:
25746           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
25747
25748 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25749
25750         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
25751           Fix a pretty good memleak.
25752
25753 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
25754
25755         * gst/gstiterator.h:
25756           Fix wrong include and 'make distcheck'.
25757
25758 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25759
25760         * gst/gstbin.c: (bin_bus_handler):
25761           Use gst_element_post_message() instead.
25762
25763 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
25764
25765         * gst/base/gstadapter.h:
25766         * gst/base/gstbasesink.h:
25767         * gst/base/gstbasesrc.h:
25768         * gst/base/gstbasetransform.h:
25769         * gst/base/gstcollectpads.h:
25770         * gst/base/gstpushsrc.h:
25771         * gst/gstiterator.h:
25772           Add padding to our base elements' class and instance structs and
25773           to GstIterator (you will need to rebuild all plugins and apps!)
25774
25775 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25776
25777         * gst/gstbin.c: (bin_bus_handler):
25778           Make default message forwarding from child->bus to bin->bus
25779           threadsafe and make it not emit warnings if the parent has no bus.
25780
25781 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25782
25783         * gst/gstelement.c: (activate_pads):
25784           On paused->ready, set pad->caps to NULL, as is the documented
25785           behaviour in this state change. Fixes playback of series of
25786           media files when visualization is enabled in Totem.
25787
25788 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25789
25790         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
25791           Allow NULL as filter-caps (which means "any").
25792
25793 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25794
25795         * docs/libs/gstreamer-libs-sections.txt:
25796         * libs/gst/controller/gst-controller.c:
25797         * libs/gst/controller/gst-controller.h:
25798         * libs/gst/controller/gst-helper.c:
25799           adding more entries to the docs and fix small doc-bugs
25800
25801 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25802
25803         * docs/gst/gstreamer-docs.sgml:
25804         * docs/gst/gstreamer-sections.txt:
25805         * docs/gst/gstreamer.types:
25806         * docs/gst/tmpl/gstbasesink.sgml:
25807         * docs/gst/tmpl/gstbasesrc.sgml:
25808         * docs/gst/tmpl/gstbasetransform.sgml:
25809         * docs/gst/tmpl/gstfakesrc.sgml:
25810         * gst/base/gstcollectpads.c:
25811         * gst/base/gstcollectpads.h:
25812         * libs/gst/controller/gst-controller.c:
25813         * libs/gst/controller/gst-controller.h:
25814         * libs/gst/controller/gst-helper.c:
25815         * libs/gst/controller/gst-interpolation.c:
25816         * libs/gst/controller/lib.c:
25817           added long/short desc for controller docs
25818           added collectpads base class docs
25819           added correct includes to base-class docs
25820
25821 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25822
25823         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25824         (gst_test_mono_source_set_property),
25825         (gst_test_mono_source_class_init), (GST_START_TEST),
25826         (gst_controller_suite):
25827         * docs/gst/gstreamer-docs.sgml:
25828         * docs/gst/gstreamer-sections.txt:
25829         * docs/gst/gstreamer.types:
25830         * docs/libs/gstreamer-libs-docs.sgml:
25831         * docs/libs/gstreamer-libs-sections.txt:
25832         * gst/base/gstadapter.c:
25833         * libs/gst/controller/gst-controller.c:
25834         (gst_controlled_property_new), (gst_controlled_property_free),
25835         (gst_controller_new_valist),
25836         (gst_controller_remove_properties_valist),
25837         (gst_controller_sink_values), (_gst_controller_finalize):
25838         * libs/gst/controller/gst-controller.h:
25839         * libs/gst/controller/gst-helper.c:
25840         (gst_object_control_properties), (gst_object_uncontrol_properties),
25841         (gst_object_get_controller), (gst_object_set_controller),
25842         (gst_object_sink_values), (gst_object_get_value_arrays),
25843         (gst_object_get_value_array):
25844           more tests (and fixes) for the controller
25845           more docs for the controller
25846           integrated companies docs for the adapter 
25847
25848 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
25849
25850         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
25851         (GST_START_TEST), (fakesrc_suite):
25852           add tests for sizetype
25853
25854 2005-08-04  Andy Wingo  <wingo@pobox.com>
25855
25856         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
25857         fixes buffer_alloc proxying among other things.
25858
25859         * gst/base/gstbasetransform.c:
25860         * gst/base/gstbasetransform.h:
25861         Revert patch to gstbasetransform from 7-28 removing
25862         delay_configure.
25863
25864         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
25865         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
25866         Semantics changed, should return not the size of the output buffer
25867         but the byte size of a buffer with a given caps.
25868
25869         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
25870         debug object.
25871         (gst_base_transform_configure_caps): Don't set out_size here: (in,
25872         out) are not the pad caps until setcaps finishes.
25873         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
25874         not-in-place case as well. Deal with changing from in-place to
25875         not-in-place within calling pad_alloc_buffer. Still a bit
25876         concerned about the overhead here...
25877
25878 2005-08-03  Andy Wingo  <wingo@pobox.com>
25879
25880         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
25881         fixating is an error.
25882
25883 2005-08-04  Edward Hervey  <edward@fluendo.com>
25884
25885         * gst/base/gstadapter.h: 
25886         Added gst_adapter_get_type() to the header
25887
25888 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25889
25890         * check/Makefile.am:
25891         * check/gst-libs/controller.c:
25892         * libs/gst/controller/gst-controller.c:
25893         (gst_controller_new_valist):
25894           added check test suite for the controller
25895         * gst/base/gstpushsrc.c:
25896           fixed a doc typo
25897
25898 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25899
25900         * docs/gst/Makefile.am:
25901         * docs/gst/gstreamer-docs.sgml:
25902         * docs/gst/gstreamer-sections.txt:
25903         * docs/gst/gstreamer.types:
25904         * docs/gst/tmpl/gstfakesrc.sgml:
25905         * gst/base/README:
25906         * gst/base/gstbasesink.c:
25907         * gst/base/gstbasesink.h:
25908         * gst/base/gstbasesrc.c:
25909         * gst/base/gstbasesrc.h:
25910         * gst/base/gstbasetransform.c:
25911         * gst/base/gstpushsrc.c:
25912         * gst/base/gstpushsrc.h:
25913           add short/long description docs to base classes
25914           add pushsrc to the docs
25915           remove consolidated doc fragments
25916
25917 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25918
25919         * configure.ac:
25920         * docs/libs/Makefile.am:
25921         * docs/libs/gstreamer-libs-docs.sgml:
25922         * docs/libs/gstreamer-libs-sections.txt:
25923         * docs/libs/gstreamer-libs.types:
25924         * examples/Makefile.am:
25925         * examples/controller/.cvsignore:
25926         * examples/controller/Makefile.am:
25927         * examples/controller/audio-example.c: (main):
25928         * libs/gst/Makefile.am:
25929         * libs/gst/controller/.cvsignore:
25930         * libs/gst/controller/Makefile.am:
25931         * libs/gst/controller/gst-controller.c:
25932         (on_object_controlled_property_changed), (gst_timed_value_compare),
25933         (gst_timed_value_find),
25934         (gst_controlled_property_set_interpolation_mode),
25935         (gst_controlled_property_new), (gst_controlled_property_free),
25936         (gst_controller_find_controlled_property),
25937         (gst_controller_new_valist), (gst_controller_new),
25938         (gst_controller_remove_properties_valist),
25939         (gst_controller_remove_properties), (gst_controller_set),
25940         (gst_controller_set_from_list), (gst_controller_unset),
25941         (gst_controller_get), (gst_controller_get_all),
25942         (gst_controller_sink_values), (gst_controller_get_value_arrays),
25943         (gst_controller_get_value_array),
25944         (gst_controller_set_interpolation_mode),
25945         (_gst_controller_finalize), (_gst_controller_init),
25946         (_gst_controller_class_init), (gst_controller_get_type):
25947         * libs/gst/controller/gst-controller.h:
25948         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
25949         (g_object_uncontrol_properties), (g_object_get_controller),
25950         (g_object_set_controller), (g_object_sink_values),
25951         (g_object_get_value_arrays), (g_object_get_value_array):
25952         * libs/gst/controller/gst-interpolation.c:
25953         (gst_controlled_property_find_timed_value_node),
25954         (interpolate_none_get), (interpolate_trigger_get),
25955         (interpolate_trigger_get_value_array):
25956         * libs/gst/controller/lib.c: (gst_controller_init):
25957         * pkgconfig/Makefile.am:
25958         * pkgconfig/gstreamer-control-uninstalled.pc.in:
25959         * pkgconfig/gstreamer-control.pc.in:
25960         * testsuite/Makefile.am:
25961         * testsuite/controller/.cvsignore:
25962         * testsuite/controller/Makefile.am:
25963         * testsuite/controller/interpolator.c: (main):
25964           added controller code
25965           removed dparam pc files
25966
25967 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
25968         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
25969         (gst_collectpads_stop):
25970           Broadcast the condition when shutting down, to make sure we wake all
25971           threads up. Shut down pads on finalize, for safety.
25972
25973 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
25974         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25975         (gst_base_transform_handle_buffer),
25976         (gst_base_transform_change_state):
25977           Handle PAUSED->READY->PAUSED transition after negotiation
25978           occurred already.
25979         * gst/gstmessage.c: (gst_message_init):
25980           Extra piece of debug for new messages.
25981
25982 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
25983
25984         * configure.ac:
25985         * docs/gst/tmpl/gstbasesrc.sgml:
25986         * docs/gst/tmpl/gstelement.sgml:
25987         * docs/gst/tmpl/gstevent.sgml:
25988         * docs/gst/tmpl/gstfakesrc.sgml:
25989         * docs/gst/tmpl/gstformat.sgml:
25990         * docs/gst/tmpl/gstghostpad.sgml:
25991         * docs/gst/tmpl/gstpad.sgml:
25992         * docs/gst/tmpl/gstquery.sgml:
25993         * docs/gst/tmpl/gststructure.sgml:
25994         * docs/gst/tmpl/gsttaglist.sgml:
25995         * docs/gst/tmpl/gstvalue.sgml:
25996         * docs/libs/gstreamer-libs-docs.sgml:
25997         * docs/libs/gstreamer-libs-sections.txt:
25998         * docs/libs/gstreamer-libs.types:
25999         * libs/gst/Makefile.am:
26000         * libs/gst/control/.cvsignore:
26001         * libs/gst/control/Makefile.am:
26002         * libs/gst/control/control.c:
26003         * libs/gst/control/control.h:
26004         * libs/gst/control/dparam.c:
26005         * libs/gst/control/dparam.h:
26006         * libs/gst/control/dparam_smooth.c:
26007         * libs/gst/control/dparam_smooth.h:
26008         * libs/gst/control/dparamcommon.h:
26009         * libs/gst/control/dparammanager.c:
26010         * libs/gst/control/dparammanager.h:
26011         * libs/gst/control/dplinearinterp.c:
26012         * libs/gst/control/dplinearinterp.h:
26013         * libs/gst/control/unitconvert.c:
26014         * libs/gst/control/unitconvert.h:
26015         * testsuite/Makefile.am:
26016         * testsuite/dynparams/.cvsignore:
26017         * testsuite/dynparams/Makefile.am:
26018         * testsuite/dynparams/dparamstest.c:
26019         * tools/Makefile.am:
26020         * tools/gst-inspect.c: (print_element_info), (main):
26021         * tools/gst-xmlinspect.c: (print_element_info), (main):
26022           deactivate and remove dparams (libgstcontrol)
26023
26024 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26025
26026         * gst/elements/gsttypefindelement.c:
26027         (gst_type_find_element_have_type), (gst_type_find_element_init),
26028         (stop_typefinding), (gst_type_find_element_handle_event),
26029         (gst_type_find_element_chain), (gst_type_find_element_getrange):
26030         * gst/elements/gsttypefindelement.h:
26031           Set caps on all outgoing buffers, not just the first one.
26032
26033 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26034
26035         * gst/elements/gsttypefindelement.c:
26036         (gst_type_find_element_have_type),
26037         (gst_type_find_element_check_set_buffer_caps),
26038         (gst_type_find_element_init), (stop_typefinding),
26039         (gst_type_find_element_handle_event),
26040         (gst_type_find_element_chain), (gst_type_find_element_getrange):
26041         * gst/elements/gsttypefindelement.h:
26042           Set caps on first outgoing buffer when we've found the type.
26043
26044 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26045
26046         * docs/gst/gstreamer-docs.sgml:
26047         * docs/gst/gstreamer-sections.txt:
26048         * docs/gst/tmpl/gstscheduler.sgml:
26049         * docs/gst/tmpl/gstschedulerfactory.sgml:
26050           Remove some old cruft from docs.
26051
26052 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
26053
26054         * gst/gstpad.h:
26055           Fix inline docs for GstPadLinkReturn.
26056           
26057         * gst/gststructure.c: (gst_structure_has_name):
26058         * gst/gststructure.h:
26059         * docs/gst/gstreamer-sections.txt:
26060           New API: gst_structure_has_name().
26061
26062 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
26063
26064         * configure.ac:
26065           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
26066           and _LARGEFILE_SOURCE in config.h as required. Do not 
26067           export those flags in our .pc files any longer (#142209).
26068
26069           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
26070
26071         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
26072         (gst_file_sink_do_seek), (gst_file_sink_event),
26073         (gst_file_sink_get_current_offset), (gst_file_sink_render):
26074           Redo seek/tell calls with large file support in mind; add some
26075           debugging messages; add log message that tells us when large
26076           file support is unavailable or not enabled for some reason.
26077
26078         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
26079           Add log message that tells us when large file support 
26080           is unavailable or not enabled for some reason.
26081
26082 2005-07-29  Wim Taymans  <wim@fluendo.com>
26083
26084         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
26085         Added test for removing an element with ghostpad from a bin.
26086         Fixed test as current implementation does the right thing.
26087
26088         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
26089         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
26090         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
26091         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
26092         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
26093         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
26094         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
26095         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
26096         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
26097         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
26098         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
26099         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
26100         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
26101         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
26102         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
26103         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
26104         * gst/gstghostpad.h:
26105         Clean up ghostpads, remove properties for internal stuff.
26106         Make threadsafe.
26107         Fix refcounting.
26108         Prepare for switching targets, not all use cases work yet.
26109
26110 2005-07-29  Wim Taymans  <wim@fluendo.com>
26111
26112         * docs/design/part-gstghostpad.txt:
26113         Small update.
26114
26115         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
26116         (gst_bin_remove_func):
26117         Unlinking pads while holding the bin LOCK is not a good
26118         idea.
26119
26120         * gst/gstpad.c: (gst_pad_class_init),
26121         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
26122         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
26123         No prob setting template after creating the pad.
26124
26125 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
26126
26127         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
26128         (gst_bus_peek), (gst_bus_source_dispatch),
26129         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
26130         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
26131           gst_bus_poll may be called from other threads. Handle
26132           this nicely by not making poll_data disappear off the
26133           stack once gst_bus_poll returns.
26134           gst_bus_peek now increments the refcount on the returned
26135           message.
26136
26137 2005-07-29  Wim Taymans  <wim@fluendo.com>
26138
26139         * docs/design/part-gstghostpad.txt:
26140         Overview of current GhostPad datastructures and use
26141         cases for changing the target.
26142
26143 2005-07-28  Wim Taymans  <wim@fluendo.com>
26144
26145         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
26146         Added checks for hierarchy consistency whan adding linked
26147         elements to bins.
26148
26149         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
26150         Added check to test element scheduling without bin/pipeline.
26151
26152         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
26153         First add elements to bin, then link.
26154         
26155         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
26156         (gst_bin_remove_func):
26157         Unlink pads from elements added/removed from bin to maintain
26158         hierarchy consistency.
26159
26160 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26161
26162         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26163         (gst_base_transform_handle_buffer):
26164         * gst/base/gstbasetransform.h:
26165           Remove broken delay_configure (fixes renegotiation of software
26166           scaling pipelines); remove some leftover printf()s.
26167
26168 2005-07-28  Wim Taymans  <wim@fluendo.com>
26169
26170         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
26171         Added some more tests for wrong hierarchy
26172
26173         * docs/design/part-overview.txt:
26174         Some updates.
26175
26176         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
26177         Cleanups.
26178
26179         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
26180         (gst_element_dispose):
26181         Some more cleanups.
26182
26183         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
26184         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
26185         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26186         (gst_pad_set_caps), (gst_pad_send_event):
26187         Check for correct hierarchy when linking pads. Moving to
26188         strict requirement for ghostpads when linking elements in
26189         different bins.
26190
26191         * gst/gstpad.h:
26192         Clean ups. Added WRONG_HIERARCHY return value.
26193
26194 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26195
26196         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
26197           Better debug if no transform is possible.
26198
26199 2005-07-27  Wim Taymans  <wim@fluendo.com>
26200
26201         * docs/random/wtay/network-transp:
26202         Some old doc I had.
26203
26204 2005-07-27  Wim Taymans  <wim@fluendo.com>
26205
26206         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
26207         (gst_dp_event_from_packet):
26208         Fix serialization of seek events.
26209
26210 2005-07-27  Wim Taymans  <wim@fluendo.com>
26211
26212         * check/gst-libs/gdp.c: (GST_START_TEST):
26213         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
26214         Fix compilation and fix event serialization.
26215
26216 2005-07-27  Wim Taymans  <wim@fluendo.com>
26217
26218         * CHANGES-0.9:
26219         * docs/design/part-TODO.txt:
26220         * docs/design/part-events.txt:
26221         Some docs updates
26222
26223         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26224         (gst_base_sink_event), (gst_base_sink_do_sync),
26225         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
26226         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26227         (gst_base_src_do_seek), (gst_base_src_event_handler),
26228         (gst_base_src_loop):
26229         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26230         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26231         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26232         (gst_base_transform_event), (gst_base_transform_handle_buffer),
26233         (gst_base_transform_set_passthrough),
26234         (gst_base_transform_is_passthrough):
26235         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
26236         * gst/elements/gstfilesink.c: (gst_file_sink_event):
26237         Event updates.
26238
26239         * gst/gstbuffer.h:
26240         Use faster casts.
26241
26242         * gst/gstelement.c: (gst_element_seek):
26243         * gst/gstelement.h:
26244         Update gst_element_seek.
26245
26246         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
26247         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
26248         (gst_event_new_flush_start), (gst_event_new_flush_stop),
26249         (gst_event_new_eos), (gst_event_new_newsegment),
26250         (gst_event_parse_newsegment), (gst_event_new_tag),
26251         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
26252         (gst_event_parse_qos), (gst_event_new_seek),
26253         (gst_event_parse_seek), (gst_event_new_navigation):
26254         * gst/gstevent.h:
26255         Make GstEvent use GstStructure. Add parsing code, make sure the
26256         API is sufficiently generic.
26257         Mark possible directions of events and serialization.
26258
26259         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
26260         (_gst_message_copy), (gst_message_new_segment_start),
26261         (gst_message_new_segment_done), (gst_message_new_custom),
26262         (gst_message_parse_segment_start),
26263         (gst_message_parse_segment_done):
26264         Small cleanups.
26265
26266         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26267         (gst_pad_set_caps), (gst_pad_send_event):
26268         Update for new events. 
26269         Catch events sent in wrong directions.
26270
26271         * gst/gstqueue.c: (gst_queue_link_src),
26272         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
26273         (gst_queue_handle_src_query):
26274         Event updates.
26275
26276         * gst/gsttag.c:
26277         * gst/gsttag.h:
26278         Remove event code from this file.
26279
26280         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
26281         (gst_dp_event_from_packet):
26282         Event updates.
26283
26284 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26285
26286         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
26287         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26288         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
26289           Make debugging actually useful.
26290
26291 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26292
26293         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
26294         (gst_pad_fixate_caps):
26295           Implement default fixation once again, so that gst_pad_fixate()
26296           actually does anything at all. This probably needs to be some
26297           sort of a last resort, and use profile-based fixation first, but
26298           since that doesn't exist yet, this is the best we have. Fixes
26299           visualization in Totem.
26300
26301 2005-07-22  Wim Taymans  <wim@fluendo.com>
26302
26303         * docs/design/part-events.txt:
26304         Small update.
26305
26306         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26307         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
26308         (gst_base_sink_activate_pull):
26309         Some more comments.
26310
26311         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
26312         (gst_fake_src_create):
26313         Fix handoff marshall.
26314
26315         * gst/elements/gstidentity.c: (gst_identity_class_init),
26316         (gst_identity_transform_ip):
26317         We're a real inplace element.
26318
26319         * gst/gstbus.c: (gst_bus_post):
26320         Added some comments.
26321
26322         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
26323         * tests/muxing/case1.c: (main):
26324         * tests/sched/dynamic-pipeline.c: (main):
26325         * tests/sched/interrupt1.c: (main):
26326         * tests/sched/interrupt2.c: (main):
26327         * tests/sched/interrupt3.c: (main):
26328         * tests/sched/runxml.c: (main):
26329         * tests/sched/sched-stress.c: (main):
26330         * tests/seeking/seeking1.c: (event_received), (main):
26331         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
26332         (main):
26333         * tests/threadstate/threadstate3.c: (main):
26334         * tests/threadstate/threadstate4.c: (main):
26335         * tests/threadstate/threadstate5.c: (main):
26336         Fix the tests.
26337
26338 2005-07-21  Wim Taymans  <wim@fluendo.com>
26339
26340         * docs/design/part-seeking.txt:
26341         Some small additions.
26342
26343         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26344         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26345         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
26346         * gst/base/gstbasesink.h:
26347         discont values are gint64, handle the math correctly.
26348
26349         * gst/base/gstbasesrc.c: (gst_base_src_loop):
26350         Make the basesrc report error if the source pad is not linked.
26351
26352         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
26353         (gst_queue_loop), (gst_queue_handle_src_query),
26354         (gst_queue_src_activate_push):
26355         Make queue collect data even if the srcpad is not linked.
26356         Start pushing out data as soon as it is linked.
26357
26358         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
26359         * gst/gstutils.h:
26360         Added gst_flow_get_name() to ease error reporting.
26361
26362 2005-07-20  Wim Taymans  <wim@fluendo.com>
26363
26364         * gst/gstmessage.c: (gst_message_new_segment_start),
26365         (gst_message_new_segment_done), (gst_message_parse_segment_start),
26366         (gst_message_parse_segment_done):
26367         * gst/gstmessage.h:
26368         Added a bunch of messages for advanced seeking.
26369
26370         * gst/parse/grammar.y:
26371         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
26372         (gst_dpman_state_changed):
26373         Fix some new-pad -> pad-added signals
26374
26375 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26376
26377         * docs/manual/appendix-porting.xml:
26378         * docs/pwg/appendix-porting.xml:
26379           Document new-pad/state-change signal renames and the FixedList
26380           type rename.
26381
26382 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26383
26384         * docs/manual/advanced-autoplugging.xml:
26385         * docs/manual/basics-helloworld.xml:
26386         * docs/manual/basics-pads.xml:
26387         * docs/random/ds/0.9-suggested-changes:
26388         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
26389         * gst/gstelement.h:
26390         * gst/gstevent.h:
26391         * gst/gstformat.h:
26392         * gst/gstquery.h:
26393         * gst/gststructure.c: (gst_structure_value_get_generic_type),
26394         (gst_structure_parse_array), (gst_structure_parse_value):
26395         * gst/gstvalue.c: (gst_type_is_fixed),
26396         (gst_value_list_prepend_value), (gst_value_list_append_value),
26397         (gst_value_list_get_size), (gst_value_list_get_value),
26398         (gst_value_transform_array_string), (gst_value_serialize_array),
26399         (gst_value_deserialize_array), (gst_value_intersect_array),
26400         (gst_value_is_fixed), (_gst_value_initialize):
26401         * gst/gstvalue.h:
26402           GstElement::new-pad -> pad-added, GstElement::state-change ->
26403           state-changed, GstValueFixedList -> GstValueArray, add format and
26404           flags as their own arguments in gst_element_seek() (should improve
26405           "bindeability"), remove function generators since they don't work
26406           under a whole bunch of compilers (they were deprecated already
26407           anyway).
26408
26409 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26410
26411         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
26412         (_gst_debug_register_funcptr):
26413         * gst/gstinfo.h:
26414           Fix illegal cast on some platforms (#309253).
26415
26416 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26417
26418         * gst/gstmessage.c: (gst_message_new_custom):
26419         * gst/gstmessage.h:
26420           Add _new_custom, make _new_application a macro to _new_custom.
26421
26422 2005-07-20  Wim Taymans  <wim@fluendo.com>
26423
26424         * gst/base/gstbasesrc.c: (gst_base_src_init),
26425         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
26426         * gst/base/gstbasesrc.h:
26427         Add a gboolean to decide when to push out a discont.
26428
26429         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26430         (gst_queue_loop), (gst_queue_handle_src_query),
26431         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
26432         (gst_queue_set_property), (gst_queue_get_property):
26433         Some cleanups.
26434
26435         * tests/threadstate/threadstate1.c: (main):
26436         Make a thread test compile and run... very silly..
26437
26438
26439 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26440
26441         * docs/manual/appendix-porting.xml:
26442           Mention removal of libgstgconf-0.9.la and existence of gconf
26443           elements.
26444
26445 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26446
26447         * docs/pwg/advanced-clock.xml:
26448         * docs/pwg/appendix-porting.xml:
26449         * docs/pwg/intro-preface.xml:
26450         * docs/pwg/other-base.xml:
26451         * docs/pwg/other-manager.xml:
26452         * docs/pwg/other-nton.xml:
26453         * docs/pwg/other-ntoone.xml:
26454         * docs/pwg/other-oneton.xml:
26455         * docs/pwg/pwg.xml:
26456           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
26457           demuxer), remove n-to-n (was never written), fix some code examples
26458           and links and update the porting section to include all this.
26459
26460 2005-07-19  Wim Taymans  <wim@fluendo.com>
26461
26462         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
26463         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
26464         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
26465         (gst_queue_src_activate_push), (gst_queue_change_state),
26466         (gst_queue_get_property):
26467         * gst/gstqueue.h:
26468         Propagate GstFlowReturn more intelligently upstream and output
26469         an ERROR/EOS when streaming stopped due to fatal error.
26470
26471 2005-07-19  Wim Taymans  <wim@fluendo.com>
26472
26473         * tools/gst-launch.c: (check_intr), (event_loop), (main):
26474         Don't block forever for the state change to complete, the
26475         pipeline already did with a sensible timeout.
26476
26477 2005-07-19  Wim Taymans  <wim@fluendo.com>
26478
26479         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
26480         Make sure we never call the create function is we
26481         got deactivated.
26482
26483 2005-07-19  Andy Wingo  <wingo@pobox.com>
26484
26485         * gst/parse/parse.l: Attempt to solve bug #172815.
26486
26487 2005-07-19  Wim Taymans  <wim@fluendo.com>
26488
26489         * docs/design/part-clocks.txt:
26490         * docs/design/part-events.txt:
26491         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
26492         Small docs updates.
26493         Only update the seeking values when we are not
26494         busy streaming.
26495
26496 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
26497
26498         * gst/base/gstbasesrc.c: (gst_base_src_loop):
26499           Oops, ignore the result of gst_pad_push_event here.
26500
26501 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
26502
26503         * gst/base/gstbasesrc.c: (gst_base_src_loop),
26504         (gst_base_src_activate_push):
26505           Send discont event from the loop function, as pads
26506           aren't activated yet in the activate_push handler.
26507
26508         * gst/gstbin.c: (bin_bus_handler):
26509           Don't leak element name.
26510
26511 2005-07-18  Andy Wingo  <wingo@pobox.com>
26512
26513         * configure.ac: Use AS_LIBTOOL_TAGS.
26514
26515 2005-07-18  Wim Taymans  <wim@fluendo.com>
26516
26517         * docs/gst/gstreamer.types:
26518         Remove deleted types.
26519
26520 2005-07-18  Wim Taymans  <wim@fluendo.com>
26521
26522         * check/elements/gstfakesrc.c: (GST_START_TEST):
26523         * configure.ac:
26524         * gst/Makefile.am:
26525         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
26526         (init_popt_callback):
26527         * gst/gst.h:
26528         * gst/gst_private.h:
26529         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
26530         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
26531         * gst/gstbin.h:
26532         * gst/gstbus.h:
26533         * gst/gstconfig.h.in:
26534         * gst/gstelement.c: (gst_element_class_init),
26535         (gst_element_set_base_time), (gst_element_get_base_time),
26536         (iterator_fold_with_resync), (gst_element_change_state),
26537         (gst_element_dispose), (gst_element_get_bus):
26538         * gst/gstelement.h:
26539         * gst/gstelementfactory.h:
26540         * gst/gsterror.c: (_gst_core_errors_init):
26541         * gst/gsterror.h:
26542         * gst/gstevent.h:
26543         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
26544         * gst/gstindex.c:
26545         * gst/gstinfo.c: (_gst_debug_init):
26546         * gst/gstmessage.c: (_gst_message_copy):
26547         * gst/gstmessage.h:
26548         * gst/gstminiobject.h:
26549         * gst/gstobject.c:
26550         * gst/gstobject.h:
26551         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26552         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
26553         * gst/gstpad.h:
26554         * gst/gstparse.h:
26555         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
26556         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
26557         (gst_pipeline_get_last_stream_time):
26558         * gst/gstpipeline.h:
26559         * gst/gstpluginfeature.h:
26560         * gst/gstquery.h:
26561         * gst/gstscheduler.c:
26562         * gst/gstscheduler.h:
26563         * gst/gststructure.h:
26564         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
26565         (gst_task_finalize), (gst_task_func), (gst_task_create),
26566         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
26567         (gst_task_stop), (gst_task_pause):
26568         * gst/gsttask.h:
26569         * gst/gsttypefind.h:
26570         * gst/gsttypes.h:
26571         * gst/registries/gstlibxmlregistry.c: (load_feature),
26572         (gst_xml_registry_load), (gst_xml_registry_save_feature):
26573         * gst/registries/gstxmlregistry.c:
26574         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
26575         * gst/schedulers/threadscheduler.c:
26576         * libs/gst/control/dparammanager.h:
26577         * tools/gst-inspect.c: (print_element_list),
26578         (print_plugin_features), (print_element_features):
26579         * tools/gst-xmlinspect.c: (print_element_list),
26580         (print_plugin_info), (main):
26581         Removed plugable schedulers.
26582         Removed Scheduler/Manager from elements.
26583         Removed gsttypes.h, rearranged includes.
26584         Removed dependency pad<->element, element<>pipeline, and
26585         various others,  fix includes.
26586         implement gst_pad_get_parent() with gst_object_get_parent()
26587         Make GstTask sefcontained.
26588         Fix _get_state() on GstBin, it did not return ASYNC with a 0
26589         timeout.
26590         Fix endless loop in iterator_fold_with_resync.
26591
26592
26593 2005-07-18  Wim Taymans  <wim@fluendo.com>
26594
26595         * gst/Makefile.am:
26596         * gst/gstarch.h:
26597         Remove old file.
26598
26599 2005-07-18  Wim Taymans  <wim@fluendo.com>
26600
26601         * gst/Makefile.am:
26602         No more cothreads.h
26603
26604 2005-07-18  Wim Taymans  <wim@fluendo.com>
26605
26606         * gst/cothreads.c:
26607         * gst/cothreads.h:
26608         Let's remove these.
26609
26610 2005-07-18  Wim Taymans  <wim@fluendo.com>
26611
26612         * docs/design/part-dynamic.txt:
26613         * docs/design/part-events.txt:
26614         * docs/design/part-seeking.txt:
26615         Some more docs in the works.
26616
26617         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26618         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
26619         (gst_base_transform_setcaps), (gst_base_transform_get_size),
26620         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26621         (gst_base_transform_handle_buffer),
26622         (gst_base_transform_sink_activate_push),
26623         (gst_base_transform_src_activate_pull),
26624         (gst_base_transform_set_passthrough),
26625         (gst_base_transform_is_passthrough):
26626         Refcounting fixes.
26627
26628         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
26629         Cleanups.
26630
26631         * gst/gstevent.c: (gst_event_finalize):
26632         Set SRC to NULL.
26633
26634         * gst/gstutils.c: (gst_element_unlink),
26635         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
26636         (gst_pad_proxy_setcaps):
26637         * gst/gstutils.h:
26638         Add _get_parent_element() to get a pads parent as an element.
26639
26640 2005-07-18  Wim Taymans  <wim@fluendo.com>
26641
26642         * check/gst/gstbin.c: (GST_START_TEST):
26643         Remove bogus test.
26644
26645 2005-07-18  Wim Taymans  <wim@fluendo.com>
26646
26647         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
26648         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
26649         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
26650         (gst_base_sink_event), (gst_base_sink_do_sync),
26651         (gst_base_sink_chain), (gst_base_sink_loop),
26652         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
26653         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
26654         Refcounting fixes.
26655         Fix logic for returning ASYNC when not prerolled.
26656
26657 2005-07-18  Wim Taymans  <wim@fluendo.com>
26658
26659         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26660         Fix nasty refcount bug.
26661
26662 2005-07-16 Philippe Khalaf <burger@speedy.org>
26663
26664         * gst/elements/gstfdsrc.c:
26665         * gst/elements/gstfdsrc.h:
26666         * gst/elements/gstelements.c:
26667         * gst/elements/Makefile.am:
26668         Ported fdsrc to 0.9.
26669
26670 2005-07-16  Wim Taymans  <wim@fluendo.com>
26671
26672         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26673         (gst_base_sink_do_sync):
26674         Fix compile error.
26675
26676 2005-07-16  Wim Taymans  <wim@fluendo.com>
26677
26678         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26679         (gst_base_sink_event), (gst_base_sink_get_times),
26680         (gst_base_sink_do_sync), (gst_base_sink_change_state):
26681         * gst/base/gstbasesink.h:
26682         Store and use discont values when syncing buffers as described
26683         in design docs.
26684         
26685         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26686         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
26687         (gst_base_src_activate_push):
26688         Push discont event when starting.
26689
26690         * gst/elements/gstidentity.c: (gst_identity_transform):
26691         Small cleanups.
26692
26693         * gst/gstbin.c: (gst_bin_change_state):
26694         Small cleanups in base_time  distribution.
26695
26696         * gst/gstelement.c: (gst_element_set_base_time),
26697         (gst_element_get_base_time), (gst_element_change_state):
26698         * gst/gstelement.h:
26699         Added methods for the base_time of the element.
26700         Some MT fixes.
26701
26702         * gst/gstpipeline.c: (gst_pipeline_send_event),
26703         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
26704         (gst_pipeline_get_last_stream_time):
26705         * gst/gstpipeline.h:
26706         MT fixes.
26707         Handle seeking as described in design doc, remove stream_time
26708         hack.
26709         Cleanups clock and stream_time selection code. Added accessors
26710         for the stream_time.
26711         
26712
26713 2005-07-16  Andy Wingo  <wingo@pobox.com>
26714
26715         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
26716         (#305291).
26717
26718 2005-07-16  Wim Taymans  <wim@fluendo.com>
26719
26720         * check/gst/gstbin.c: (GST_START_TEST):
26721         Make elements silent as the deep_notify refs the
26722         parent, which might make the test fail.
26723
26724         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
26725         Don't hold the lock for too long.
26726
26727 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
26728
26729         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
26730           Don't unref the caps we passed to gst_caps_make_writable() after
26731           passing them. gst_caps_make_writable() will do that for us.
26732
26733 2005-07-15  Andy Wingo  <wingo@pobox.com>
26734
26735         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
26736         (#157311).
26737
26738         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
26739         own marshalling function for the handoff signal. Properly type the
26740         buffer as a buffer. Fixes some warnings. Should do a more general
26741         solution.
26742         (gst_identity_class_init): Plug into the right marshaller.
26743
26744 2005-07-15  Wim Taymans  <wim@fluendo.com>
26745
26746         * docs/design/part-TODO.txt:
26747         * docs/design/part-clocks.txt:
26748         * docs/design/part-element-sink.txt:
26749         * docs/design/part-events.txt:
26750         * docs/design/part-gstpipeline.txt:
26751         Updated docs, mostly DISCONT related.
26752
26753 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
26754
26755         * docs/pwg/building-pads.xml:
26756           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
26757
26758 2005-07-15  Andy Wingo  <wingo@pobox.com>
26759
26760         * tools/gst-typefind.c: Update, add copyright block.
26761
26762         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
26763         Normalize and truncate caps before fixation.
26764
26765         * gst/gstcaps.h:
26766         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
26767         discards all but the first structure from its argument.
26768
26769 2005-07-15  Wim Taymans  <wim@fluendo.com>
26770
26771         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26772         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
26773         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26774         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26775         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
26776         (gst_base_transform_chain), (gst_base_transform_change_state),
26777         (gst_base_transform_set_passthrough),
26778         (gst_base_transform_is_passthrough):
26779         * gst/base/gstbasetransform.h:
26780         Make passthrough work using the bufferpools.
26781         Changed API a bit, subclasses have to write into a buffer
26782         provided by the base class.
26783         More debug info in nego functions.
26784         
26785         * gst/elements/gstidentity.c: (gst_identity_init),
26786         (gst_identity_transform):
26787         Port to new base class.
26788
26789 2005-07-15  Wim Taymans  <wim@fluendo.com>
26790
26791         * gst/gstmessage.c: (gst_message_new_state_changed):
26792         * tools/gst-launch.c: (event_loop), (main):
26793         Totally dump messages in -launch with the -m option.
26794         Fix message name for State messages,
26795
26796 2005-07-14  Wim Taymans  <wim@fluendo.com>
26797
26798         * gst/base/gstbasesrc.c: (gst_base_src_loop):
26799         Post error messages on errors.
26800
26801 2005-07-14  Wim Taymans  <wim@fluendo.com>
26802
26803         * gst/gstcaps.c: (gst_caps_do_simplify):
26804         Remove debug info.
26805
26806         * gst/gsterror.h:
26807         Define error for stream stopped.
26808
26809         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26810         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
26811         Do proper return values.
26812
26813         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26814         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
26815         (gst_pad_get_range):
26816         Better return values.
26817
26818         * gst/gstpad.h:
26819         Reorganise return values, add macro to check for fatal errors.
26820
26821         * gst/gstqueue.c: (gst_queue_chain):
26822         Return proper GstFlowReturn values,
26823
26824 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
26825
26826         * docs/gst/gstreamer-sections.txt:
26827         * docs/gst/gstreamer.types:
26828         * docs/gst/tmpl/gst.sgml:
26829         * docs/gst/tmpl/gstbasesink.sgml:
26830         * docs/gst/tmpl/gstbasesrc.sgml:
26831         * docs/gst/tmpl/gstbasetransform.sgml:
26832         * docs/gst/tmpl/gstbin.sgml:
26833         * docs/gst/tmpl/gstbuffer.sgml:
26834         * docs/gst/tmpl/gstcaps.sgml:
26835         * docs/gst/tmpl/gstclock.sgml:
26836         * docs/gst/tmpl/gstcompat.sgml:
26837         * docs/gst/tmpl/gstconfig.sgml:
26838         * docs/gst/tmpl/gstelement.sgml:
26839         * docs/gst/tmpl/gstelementdetails.sgml:
26840         * docs/gst/tmpl/gstelementfactory.sgml:
26841         * docs/gst/tmpl/gstenumtypes.sgml:
26842         * docs/gst/tmpl/gsterror.sgml:
26843         * docs/gst/tmpl/gstevent.sgml:
26844         * docs/gst/tmpl/gstfakesink.sgml:
26845         * docs/gst/tmpl/gstfakesrc.sgml:
26846         * docs/gst/tmpl/gstfilesink.sgml:
26847         * docs/gst/tmpl/gstfilesrc.sgml:
26848         * docs/gst/tmpl/gstfilter.sgml:
26849         * docs/gst/tmpl/gstformat.sgml:
26850         * docs/gst/tmpl/gstghostpad.sgml:
26851         * docs/gst/tmpl/gstimplementsinterface.sgml:
26852         * docs/gst/tmpl/gstindex.sgml:
26853         * docs/gst/tmpl/gstindexfactory.sgml:
26854         * docs/gst/tmpl/gstinfo.sgml:
26855         * docs/gst/tmpl/gstiterator.sgml:
26856         * docs/gst/tmpl/gstmacros.sgml:
26857         * docs/gst/tmpl/gstmemchunk.sgml:
26858         * docs/gst/tmpl/gstminiobject.sgml:
26859         * docs/gst/tmpl/gstobject.sgml:
26860         * docs/gst/tmpl/gstpad.sgml:
26861         * docs/gst/tmpl/gstpadtemplate.sgml:
26862         * docs/gst/tmpl/gstparse.sgml:
26863         * docs/gst/tmpl/gstpipeline.sgml:
26864         * docs/gst/tmpl/gstplugin.sgml:
26865         * docs/gst/tmpl/gstpluginfeature.sgml:
26866         * docs/gst/tmpl/gstquery.sgml:
26867         * docs/gst/tmpl/gstqueue.sgml:
26868         * docs/gst/tmpl/gstregistry.sgml:
26869         * docs/gst/tmpl/gstregistrypool.sgml:
26870         * docs/gst/tmpl/gstscheduler.sgml:
26871         * docs/gst/tmpl/gstschedulerfactory.sgml:
26872         * docs/gst/tmpl/gststructure.sgml:
26873         * docs/gst/tmpl/gstsystemclock.sgml:
26874         * docs/gst/tmpl/gsttaglist.sgml:
26875         * docs/gst/tmpl/gsttagsetter.sgml:
26876         * docs/gst/tmpl/gsttrace.sgml:
26877         * docs/gst/tmpl/gsttrashstack.sgml:
26878         * docs/gst/tmpl/gsttypefind.sgml:
26879         * docs/gst/tmpl/gsttypefindfactory.sgml:
26880         * docs/gst/tmpl/gsttypes.sgml:
26881         * docs/gst/tmpl/gsturihandler.sgml:
26882         * docs/gst/tmpl/gsturitype.sgml:
26883         * docs/gst/tmpl/gstutils.sgml:
26884         * docs/gst/tmpl/gstvalue.sgml:
26885         * docs/gst/tmpl/gstversion.sgml:
26886         * docs/gst/tmpl/gstxml.sgml:
26887         * docs/libs/tmpl/gstcontrol.sgml:
26888         * docs/libs/tmpl/gstdataprotocol.sgml:
26889         * docs/libs/tmpl/gstdparam.sgml:
26890         * docs/libs/tmpl/gstdplinint.sgml:
26891         * docs/libs/tmpl/gstdpman.sgml:
26892         * docs/libs/tmpl/gstdpsmooth.sgml:
26893         * docs/libs/tmpl/gstgetbits.sgml:
26894         * docs/libs/tmpl/gstunitconvert.sgml:
26895         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
26896         (gst_push_src_base_init), (gst_push_src_class_init),
26897         (gst_push_src_init), (gst_push_src_create):
26898         * gst/base/gstpushsrc.h:
26899         * gst/elements/gstelements.c:
26900         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
26901         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
26902         (gst_fake_sink_init), (gst_fake_sink_set_property),
26903         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
26904         (gst_fake_sink_event), (gst_fake_sink_preroll),
26905         (gst_fake_sink_render), (gst_fake_sink_change_state):
26906         * gst/elements/gstfakesink.h:
26907         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
26908         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
26909         (gst_fake_src_base_init), (gst_fake_src_class_init),
26910         (gst_fake_src_init), (gst_fake_src_event_handler),
26911         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
26912         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
26913         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
26914         (gst_fake_src_create_buffer), (gst_fake_src_create),
26915         (gst_fake_src_start), (gst_fake_src_stop):
26916         * gst/elements/gstfakesrc.h:
26917         * gst/elements/gstfilesink.c: (_do_init),
26918         (gst_file_sink_base_init), (gst_file_sink_class_init),
26919         (gst_file_sink_init), (gst_file_sink_dispose),
26920         (gst_file_sink_set_location), (gst_file_sink_set_property),
26921         (gst_file_sink_get_property), (gst_file_sink_open_file),
26922         (gst_file_sink_close_file), (gst_file_sink_query),
26923         (gst_file_sink_event), (gst_file_sink_render),
26924         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
26925         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
26926         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
26927         * gst/elements/gstfilesink.h:
26928         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
26929         (gst_file_src_class_init), (gst_file_src_init),
26930         (gst_file_src_finalize), (gst_file_src_set_location),
26931         (gst_file_src_set_property), (gst_file_src_get_property),
26932         (gst_file_src_map_region), (gst_file_src_map_small_region),
26933         (gst_file_src_create_mmap), (gst_file_src_create_read),
26934         (gst_file_src_create), (gst_file_src_is_seekable),
26935         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
26936         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
26937         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
26938         (gst_file_src_uri_handler_init):
26939         * gst/elements/gstfilesrc.h:
26940           more autistic cleanliness in functions/names/defines
26941
26942 2005-07-13  Andy Wingo  <wingo@pobox.com>
26943
26944         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
26945         source couldn't negotiate.
26946
26947         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
26948         connections again.
26949
26950         * gst/gstutils.h:
26951         * gst/gstutils.c (gst_element_link_pads_filtered): New old
26952         function. I am channeling Hades. Put your boots on suckers!!!
26953
26954 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
26955
26956         * testsuite/caps/Makefile.am:
26957         * testsuite/caps/value_compare.c:
26958         * testsuite/caps/value_intersect.c:
26959         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26960           move two testsuite apps over to the check dir
26961
26962 2005-07-12  Wim Taymans  <wim@fluendo.com>
26963
26964         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
26965         Added more debug info in the negotiate process.
26966
26967         * gst/gstmessage.h:
26968         Prepare for segment playback.
26969
26970         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
26971         Better debugging.
26972
26973         * gst/gstutils.c:
26974         Some more docs.
26975
26976         * tools/gst-launch.c: (main):
26977         NULL pipeline on errors.
26978
26979 2005-07-12  Andy Wingo  <wingo@pobox.com>
26980
26981         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
26982         not it comes from a malloc region. Make sure our copy gets freed.
26983
26984 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26985
26986         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
26987         * check/gst/gstmessage.c: (GST_START_TEST):
26988         * check/gst/gststructure.c: (GST_START_TEST),
26989         (gst_structure_suite), (main):
26990           more testing
26991         * gst/gstelement.c: (gst_element_message_full):
26992           clean up GError and debug string now that they get copied
26993         * gst/gstmessage.c: (gst_message_new_error),
26994         (gst_message_new_warning), (gst_message_parse_error),
26995         (gst_message_parse_warning):
26996           use GST_TYPE_G_ERROR for structure_new, and take copies of
26997           arguments, so that we don't mess up refcounting
26998
26999 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27000
27001         * check/Makefile.am:
27002           add per-test valgrind targets
27003         * check/gst-libs/gdp.c: (GST_START_TEST),
27004         (gst_data_protocol_suite), (main):
27005           clean up
27006
27007 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27008
27009         * check/Makefile.am:
27010           instate more valgrindable tests
27011         * check/elements/gstfakesrc.c: (chain_func), (event_func),
27012         (GST_START_TEST), (fakesrc_suite):
27013         * check/gst/gstpad.c: (GST_START_TEST):
27014         * check/gst/gststructure.c: (GST_START_TEST):
27015           fix test leaks
27016         * docs/gst/tmpl/gstminiobject.sgml:
27017         * gst/gstpad.c: (gst_pad_finalize):
27018           fix the static mutex leak
27019
27020 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
27021
27022         * check/Makefile.am:
27023           add two more tests for valgrinding
27024         * check/gst/gstvalue.c: (GST_START_TEST):
27025           test refcount of deserialized buffer, found a leak
27026         * docs/gst/gstreamer-docs.sgml:
27027         * docs/gst/gstreamer-sections.txt:
27028         * docs/gst/gstreamer.types:
27029         * docs/gst/tmpl/gstminiobject.sgml:
27030           add miniobject to docs
27031         * gst/gstminiobject.c:
27032           add some docs
27033         * gst/gstvalue.c: (gst_value_deserialize_buffer),
27034         (gst_string_unwrap):
27035           fix a hard-to-find invalid write for one of the tests
27036           fix a leak for deserialized buffers
27037
27038 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27039
27040         * docs/pwg/advanced-events.xml:
27041         * docs/pwg/advanced-request.xml:
27042         * docs/pwg/advanced-scheduling.xml:
27043         * docs/pwg/appendix-porting.xml:
27044         * docs/pwg/building-boiler.xml:
27045         * docs/pwg/intro-preface.xml:
27046         * docs/pwg/other-ntoone.xml:
27047           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
27048           of example code and explanation for pad activation, loop() and
27049           getrange() functions and a bit more. Remove old comments pointing
27050           to loop-functions.
27051         * examples/pwg/Makefile.am:
27052           Add loop/getrange examples.
27053
27054 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
27055
27056         * configure.ac:
27057           check for valgrind binary + some fixes
27058         * check/gst.supp:
27059           valgrind suppressions for the tests
27060         * check/Makefile.am:
27061           add a valgrind: target that valgrinds the unit tests
27062         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
27063         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
27064         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27065         * check/gst/gstghostpad.c:
27066           added some cleanup
27067         * check/gst/gstdata.c:
27068           removed
27069         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
27070         (thread_unref), (gst_mini_object_suite), (main):
27071           added
27072         * gst/gst.c: (gst_deinit):
27073         * gst/gst.h:
27074           add a method to clean up.
27075         * gst/gstsystemclock.c: (gst_system_clock_dispose),
27076         (gst_system_clock_obtain):
27077           allow for disposing the system clock.
27078         * tools/gst-launch.c: (main):
27079           deinit
27080
27081 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
27082
27083         * docs/gst/tmpl/gstbasesrc.sgml:
27084         * docs/gst/tmpl/gstfakesrc.sgml:
27085         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27086         (gst_base_src_init), (gst_base_src_set_property),
27087         (gst_base_src_get_property), (gst_base_src_get_range),
27088         (gst_base_src_start):
27089         * gst/base/gstbasesrc.h:
27090           add num-buffers property
27091         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27092         (gst_fakesrc_init), (gst_fakesrc_set_property),
27093         (gst_fakesrc_get_property), (gst_fakesrc_create),
27094         (gst_fakesrc_start):
27095           remove num-buffers property
27096
27097 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
27098
27099         * docs/gst/gstreamer-sections.txt:
27100         * docs/gst/tmpl/gstbasesink.sgml:
27101         * docs/gst/tmpl/gstbasesrc.sgml:
27102         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27103         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27104         (gst_base_sink_finalize), (gst_base_sink_set_clock),
27105         (gst_base_sink_set_property), (gst_base_sink_get_property),
27106         (gst_base_sink_handle_object), (gst_base_sink_event),
27107         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
27108         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
27109         (gst_base_sink_loop), (gst_base_sink_deactivate),
27110         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
27111         (gst_base_sink_change_state):
27112         * gst/base/gstbasesink.h:
27113         * gst/base/gstbasesrc.h:
27114         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
27115         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
27116         (gst_filesink_init):
27117           more macro splitting
27118
27119 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
27120
27121         * gst/gstelement.c: (gst_element_get_bus):
27122           add debug
27123         * tools/gst-launch.c: (check_intr), (event_loop):
27124           fix bus leaks
27125
27126 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
27127
27128         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
27129           fix a caps leak
27130
27131 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
27132
27133         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27134         (gst_base_src_finalize):
27135           add finalize method and clean up properly
27136         * gst/gstpipeline.c: (gst_pipeline_dispose):
27137           add debug
27138
27139 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27140
27141         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
27142         (gst_bin_suite):
27143           add more things to check
27144         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
27145         * gst/gstelement.c:
27146           more debug
27147
27148 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27149
27150         * check/elements/gstfakesrc.c: (chain_func), (event_func),
27151         (GST_START_TEST), (fakesrc_suite):
27152         * check/gst-libs/gdp.c: (GST_START_TEST):
27153         * check/gst/gst.c: (GST_START_TEST):
27154         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27155         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27156         * check/gst/gstbus.c: (GST_START_TEST):
27157         * check/gst/gstcaps.c: (GST_START_TEST):
27158         * check/gst/gstdata.c: (GST_START_TEST):
27159         * check/gst/gstelement.c: (GST_START_TEST):
27160         * check/gst/gstghostpad.c: (GST_START_TEST):
27161         * check/gst/gstiterator.c: (GST_START_TEST):
27162         * check/gst/gstmessage.c: (GST_START_TEST):
27163         * check/gst/gstobject.c: (GST_START_TEST):
27164         * check/gst/gstpad.c: (GST_START_TEST):
27165         * check/gst/gststructure.c: (GST_START_TEST):
27166         * check/gst/gstsystemclock.c: (GST_START_TEST),
27167         (gst_systemclock_suite):
27168         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
27169         * check/gst/gstvalue.c: (GST_START_TEST):
27170         * check/pipelines/cleanup.c: (GST_START_TEST):
27171         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27172         * check/states/sinks.c: (GST_START_TEST):
27173         * check/gstcheck.c: (gst_check_init):
27174         * check/gstcheck.h:
27175           add debugging category
27176           use GST_START_TEST now, so we add a debug line
27177
27178 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27179
27180         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
27181           add test for state change message on a bin
27182         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
27183           add another test
27184         * gst/gstbin.c: (gst_bin_init):
27185         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
27186         * gst/gstelement.c: (gst_element_post_message),
27187         (gst_element_set_state):
27188         * gst/gstelementfactory.c: (gst_element_factory_create):
27189         * gst/gstmessage.c: (gst_message_new):
27190         * gst/gstscheduler.c:
27191           various debugging additions and cleanups
27192
27193 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27194
27195         * check/Makefile.am:
27196         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
27197         (main):
27198           adding tests for elements
27199         * gst/gstelement.c: (gst_element_dispose):
27200
27201 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27202
27203         * gst/registries/gstlibxmlregistry.c: (load_feature):
27204           plug more leaks.  A simple gst_init() now is leakfree, yay.
27205
27206 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27207
27208         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
27209         (gst_xml_registry_load):
27210           plug another memleak
27211
27212 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27213
27214         * configure.ac:
27215           use GST_SET_ERROR_CFLAGS
27216         * docs/faq/cvs.xml:
27217           change to ERROR_CFLAGS
27218
27219 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27220
27221         * configure.ac:
27222           make GST_ERROR_CFLAGS overridable and re-enable Werror
27223         * docs/faq/cvs.xml:
27224           add a note about error CFLAGS
27225         * docs/gst/tmpl/gstfakesrc.sgml:
27226         * gst/elements/gstfakesrc.c:
27227           comment out some unused code
27228         * gst/gst.c: (split_and_iterate):
27229         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
27230         (load_feature):
27231           plug some memleaks
27232
27233 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
27234
27235         * common/Makefile.am:
27236         * common/gtk-doc.mak:
27237         * docs/gst/Makefile.am:
27238           factor out gtk-doc.mak
27239
27240 2005-07-07  Wim Taymans  <wim@fluendo.com>
27241
27242         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
27243         (gst_thread_scheduler_dispose):
27244         Unlock the STREAM_LOCK completely.
27245
27246 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
27247
27248         * check/Makefile.am:
27249         * check/elements/.cvsignore:
27250         * check/elements/gstfakesrc.c: (chain_func), (event_func),
27251         (START_TEST), (fakesrc_suite), (main):
27252         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27253         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
27254         (gst_fakesrc_create), (gst_fakesrc_start):
27255         * gst/elements/gstfakesrc.h:
27256           adding a first element test
27257
27258 2005-07-07  Andy Wingo  <wingo@pobox.com>
27259
27260         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
27261         debug message.
27262
27263 2005-07-07  Wim Taymans  <wim@fluendo.com>
27264
27265         * gst/gstquery.c:
27266         * gst/gstquery.h:
27267         Remove old types
27268
27269 2005-07-07  Wim Taymans  <wim@fluendo.com>
27270
27271         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
27272         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
27273         Allow subclasses to implement their own negotiation.
27274
27275 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
27276
27277         * docs/design/part-gstbin.txt:
27278         * docs/design/part-gstpipeline.txt:
27279           Update design notes to reflect the movement of
27280           responsibility for bus handling from GstPipeline to
27281           GstBin
27282
27283 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
27284
27285         * configure.ac:
27286           Remove unnecessary queue2/3/4 examples.
27287
27288 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
27289
27290         * examples/Makefile.am:
27291         * examples/helloworld/helloworld.c: (event_loop), (main):
27292         * examples/queue/queue.c: (event_loop), (main):
27293         * examples/queue2/queue2.c: (main):
27294           Update a couple of the examples to work again.
27295
27296         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27297         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
27298          Spelling corrections and extra debug.
27299         
27300         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
27301         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
27302         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
27303         * gst/gstbin.h:
27304         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27305         (gst_pipeline_change_state):
27306         * gst/gstpipeline.h:
27307           Move the bus handler for children to the GstBin, and create a
27308           separate bus for receiving messages from children to the one the
27309           bus sends 'upwards' on.
27310
27311 2005-07-06  Wim Taymans  <wim@fluendo.com>
27312
27313         * gst/base/README:
27314         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27315         (gst_base_sink_handle_object), (gst_base_sink_loop),
27316         (gst_base_sink_change_state):
27317         * gst/base/gstbasesink.h:
27318         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27319         (gst_base_src_init), (gst_base_src_setcaps),
27320         (gst_base_src_getcaps), (gst_base_src_loop),
27321         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
27322         (gst_base_src_start), (gst_base_src_change_state):
27323         * gst/base/gstbasesrc.h:
27324         Make basesrc negotiate.
27325         Handle the case where preroll fails in basesink.
27326         Update README.
27327
27328 2005-07-06  Wim Taymans  <wim@fluendo.com>
27329
27330         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
27331         Implement the fixate function.
27332         Clean up acceptcaps.
27333
27334 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27335
27336         * docs/pwg/building-filterfactory.xml:
27337         * docs/pwg/pwg.xml:
27338           Remove never-written filter-factory chapter; I'll add the various
27339           base classes to part 4 ("other element types") later on.
27340
27341 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27342
27343         * docs/pwg/advanced-negotiation.xml:
27344         * docs/pwg/building-boiler.xml:
27345         * docs/pwg/building-pads.xml:
27346         * docs/pwg/pwg.xml:
27347         * examples/pwg/Makefile.am:
27348           Add a chapter on caps negotiation, simplify the original code
27349           samples a bit w.r.t. caps negotiation, add link to the advanced
27350           section. Add a bunch of examples showing different use cases of
27351           different types of caps negotiation. Upstream renegotiation isn't
27352           fully documented yet since nobody knows how that works.
27353
27354 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
27355
27356         * check/gst/gstpad.c:
27357         * check/gstcheck.c:
27358         * gst/gstpad.c: (gst_pad_get_internal_links_default):
27359           if pad has no parent, return NULL as list of internal links
27360
27361 2005-07-05  Andy Wingo  <wingo@pobox.com>
27362
27363         * gst/elements/gstfilesrc.c:
27364         * gst/elements/gstfakesrc.c: 
27365         * gst/base/gstpushsrc.c:
27366         * gst/base/gstbasesrc.h: 
27367         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
27368         
27369 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
27370
27371         * Makefile.am:
27372           better report generation target (lcov needs a patch)
27373
27374 2005-07-05  Andy Wingo  <wingo@pobox.com>
27375
27376         * gst/elements, testsuite: Null if we got it...
27377
27378 2005-07-05  Wim Taymans  <wim@fluendo.com>
27379
27380         * configure.ac:
27381         * libs/gst/dataprotocol/Makefile.am:
27382         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
27383         * libs/gst/dataprotocol/dataprotocol.h:
27384         * pkgconfig/Makefile.am:
27385         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
27386         * pkgconfig/gstreamer-dataprotocol.pc.in:
27387         Ported dataprotol to 0.9. 
27388         Added pkgconfig files.
27389
27390 2005-07-05  Andy Wingo  <wingo@pobox.com>
27391
27392         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
27393         Default to returning TRUE for the case when tranform_caps returns
27394         a fixed caps, like for identity or volume.
27395
27396         * check/gst/gstbus.c (pound_bus_with_messages): 
27397         * check/gst/gstmessage.c (START_TEST): 
27398         * check/pipelines/simple_launch_lines.c (got_handoff): Application
27399         message API change.
27400
27401         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
27402         logic weaks here: always run transform_caps, trying passthrough
27403         operation only if the original caps intersects with the transform.
27404
27405         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
27406         source and sink caps.
27407
27408         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
27409         Intersect the peer caps with the pad template before going into
27410         transform_caps.
27411         (gst_base_transform_transform_caps): More debugging.
27412
27413         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
27414         src argument.
27415
27416 2005-07-04  Edward Hervey  <edward@fluendo.com>
27417
27418         * gst/gstutils.c:
27419         * gst/gstutils.h:
27420         (gst_pad_add_*_probe): now returns the signal id for better wrapping
27421         in bindings.
27422
27423 2005-07-04  Andy Wingo  <wingo@pobox.com>
27424
27425         * check/gst/gstpad.c: Only set explicit caps on pads.
27426
27427 2005-07-01  Andy Wingo  <wingo@pobox.com>
27428
27429         * tests/network-clock.scm: Commentary update.
27430
27431         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
27432         Didn't really make sense, not implementable with basetransform,
27433         etc.
27434         (gst_identity_transform): Unref inbuf via make_writable. Feeble
27435         attempt at implementing the sync property, needs an unlock method.
27436
27437         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
27438         New func, by default returns the same caps (the identity
27439         transformation).
27440         (gst_base_transform_getcaps): Uses transform_caps to return
27441         something sensible.
27442         (gst_base_transform_setcaps): Complicated logic to get caps on
27443         both pads, even if they are different, and to call set_caps once
27444         for every time both pads get their caps set.
27445         (gst_base_transform_handle_buffer): Give the ref to the transform
27446         function. Allows in-place modification of the buffer.
27447
27448         * gst/base/gstbasetransform.h (transform_caps): New class method.
27449         Given caps on one side, what can I do on the other.
27450         (set_caps): Take two caps, one for each side of the element.
27451
27452         * gst/gstpad.h:
27453         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
27454         caps in place. This is safe because we can check the mutability of
27455         the caps, and a good idea because fixate functions are just called
27456         as a matter of last resort. (Not actually implemented.)
27457         (gst_pad_set_caps): If the caps we're setting is actually the same
27458         as the existing pad caps, just update the pointer without calling
27459         setcaps. Assert that caps is either NULL or fixed, as per the
27460         docs.
27461
27462         * gst/gstghostpad.c: Update for fixate changes.
27463
27464 2005-07-02  Andy Wingo  <wingo@pobox.com>
27465
27466         * gst/gstcaps.c:
27467         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
27468         two refcounts makes it immutable, which is enough. Doc more.
27469
27470 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
27471
27472         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
27473           Put the mini_object into GValue as a mini_object,
27474           not a gpointer, since that's how we declared
27475           the signal.
27476
27477 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27478
27479         * examples/pwg/Makefile.am:
27480           Fix buildbot again.
27481
27482 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27483
27484         * docs/pwg/building-testapp.xml:
27485           Add extra check.
27486         * examples/pwg/Makefile.am:
27487           Fix buildbot.
27488
27489 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27490
27491         * configure.ac:
27492         * examples/Makefile.am:
27493         * examples/pwg/Makefile.am:
27494         * examples/pwg/extract.pl:
27495           Enable building the PWG examples.
27496         * docs/pwg/advanced-interfaces.xml:
27497           Add URI interface stub.
27498         * docs/pwg/advanced-types.xml:
27499         * docs/pwg/other-autoplugger.xml:
27500         * docs/pwg/appendix-porting.xml:
27501         * docs/pwg/pwg.xml:
27502           Add porting guide (mostly stubs), remove autoplugging (see ADM).
27503         * docs/pwg/building-boiler.xml:
27504         * docs/pwg/building-chainfn.xml:
27505         * docs/pwg/building-pads.xml:
27506         * docs/pwg/building-props.xml:
27507         * docs/pwg/building-state.xml:
27508         * docs/pwg/building-testapp.xml:
27509           Update the building-*.xml parts for 0.9 changes. All examples
27510           code blocks compile in examples/pwg/*.
27511
27512 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27513
27514         * docs/manual/advanced-autoplugging.xml:
27515         * docs/manual/appendix-checklist.xml:
27516         * docs/manual/appendix-integration.xml:
27517         * docs/manual/highlevel-components.xml:
27518           Fix playbin/decodebin examples, update docs a bit, mention bus
27519           instead of signals in various places, mention kmplayer and
27520           kaffeine since they have a working GStreamer backend in the KDE
27521           section.
27522
27523 2005-06-30  Wim Taymans  <wim@fluendo.com>
27524
27525         * CHANGES-0.9:
27526         * docs/design/draft-ghostpads.txt:
27527         * docs/design/draft-push-pull.txt:
27528         * docs/design/draft-query.txt:
27529         * docs/design/part-TODO.txt:
27530         * docs/design/part-query.txt:
27531         Added CHANGES-0.9 doc, updated status of other docs.
27532         
27533         * gst/gstquery.h:
27534         Remove "hmm" macro
27535
27536 2005-06-30  Wim Taymans  <wim@fluendo.com>
27537
27538         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27539         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27540         (gst_base_sink_change_state):
27541         * gst/base/gstbasesink.h:
27542         Some tweaks, only EOS and a buffer complete a preroll.
27543
27544 2005-06-30  Andy Wingo  <wingo@pobox.com>
27545
27546         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
27547         activate_push down to the internal pad as well.
27548
27549 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
27550
27551         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27552
27553         * gst/gsttaginterface.c:
27554           Some documentation fixes (#307394 and #307397).
27555
27556 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
27557
27558         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27559
27560         * gst/gstvalue.c: (gst_value_intersect_list):
27561           Fix memleak (#309125).
27562
27563 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27564
27565         * docs/manual/advanced-dataaccess.xml:
27566           Fix fakesrc example to compile; doesn't work, bug somewhere...?
27567         * docs/manual/basics-pads.xml:
27568           Add reference for filtered caps to above chapter.
27569
27570 2005-06-30  Wim Taymans  <wim@fluendo.com>
27571
27572         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
27573         (gst_bin_change_state):
27574         Probes are gone.
27575         Lame attempt at making the state change function a bit
27576         more readable.
27577
27578 2005-06-30  Wim Taymans  <wim@fluendo.com>
27579
27580         * docs/design/part-clocks.txt:
27581         * docs/design/part-element-sink.txt:
27582         * docs/design/part-events.txt:
27583         * docs/design/part-preroll.txt:
27584         * docs/design/part-states.txt:
27585         Some more tweeks and additions to the docs.
27586
27587 2005-06-30  Wim Taymans  <wim@fluendo.com>
27588
27589         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27590         (default_have_data), (gst_pad_class_init), (gst_pad_init),
27591         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
27592         (gst_pad_check_pull_range), (gst_pad_get_range),
27593         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
27594         * gst/gstpad.h:
27595         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
27596         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
27597         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
27598         (gst_pad_remove_buffer_probe):
27599         Removed atomic operations, use existing LOCK.
27600         Move exception handling out of main code path.
27601
27602 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27603
27604         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27605         (silly_return_true_function), (gst_pad_class_init),
27606         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
27607         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
27608         (gst_pad_send_event):
27609           Fix accumulator, add default value by using _emitv() instead
27610           of _emit() for signal emission.
27611
27612 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27613
27614         * docs/manual/advanced-dataaccess.xml:
27615         * examples/manual/Makefile.am:
27616           Add probe example.
27617         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
27618           Make work (??).
27619
27620 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
27621
27622         * gst/elements/gstfilesink.c: (gst_filesink_render):
27623           Simplify code so that we don't have to handle short
27624           writes and return GST_FLOW_ERROR if an error occured.
27625
27626 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27627
27628         * docs/gst/gstreamer-docs.sgml:
27629           Remove probes more.
27630
27631 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27632
27633         * docs/gst/gstreamer-sections.txt:
27634         * docs/gst/tmpl/gstpad.sgml:
27635         * docs/gst/tmpl/gstprobe.sgml:
27636         * gst/Makefile.am:
27637         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27638         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
27639         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
27640         (gst_pad_push_event), (gst_pad_send_event):
27641         * gst/gstpad.h:
27642         * gst/gstutils.c: (gst_pad_add_data_probe),
27643         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
27644         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
27645         (gst_pad_remove_buffer_probe):
27646         * gst/gstutils.h:
27647           Remove old probes, add new g-signal-based probes and some utility
27648           functions.
27649
27650 2005-06-29  Edward Hervey  <edward@fluendo.com>
27651
27652         * gst/gstelementfactory.c:
27653         * gst/gstutils.h:
27654         * gst/gstutils.c:
27655         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
27656         the definition to the header file.
27657
27658 2005-06-29  Andy Wingo  <wingo@pobox.com>
27659
27660         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
27661         plugins from the source directory.
27662
27663 2005-06-29  Wim Taymans  <wim@fluendo.com>
27664
27665         * docs/gst/tmpl/gstbuffer.sgml:
27666         * docs/gst/tmpl/gstclock.sgml:
27667         Some fixings for blantently wrong text.
27668
27669 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
27670
27671         * check/Makefile.am:
27672         * gst/gst.c: (add_path_func), (init_pre):
27673         * gst/gstregistry.c: (gst_registry_add_path):
27674           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
27675           only scan the GST_PLUGIN_PATH locations, and not add
27676           system locations
27677
27678 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
27679
27680         * docs/gst/gstreamer-sections.txt:
27681         * docs/gst/tmpl/gstbasesrc.sgml:
27682         * gst/gstelement.c:
27683         * gst/gstelement.h:
27684         * gst/gstevent.c:
27685         * gst/gstutils.c:
27686           doc fixes
27687
27688 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27689
27690         * docs/manual/advanced-autoplugging.xml:
27691           Fix autoplugging example.
27692
27693 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27694
27695         * docs/manual/advanced-autoplugging.xml:
27696         * docs/manual/mime-world.fig:
27697           Try to get autoplugging working, fix type detection. Fix text
27698           in hello-world image.
27699
27700 2005-06-29  Wim Taymans  <wim@fluendo.com>
27701
27702         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27703         (gst_base_sink_change_state):
27704         Small debug line.
27705
27706         * gst/gstclock.h:
27707         map SIGNAL and BROADCAST to the right function.
27708
27709         * gst/gstobject.h:
27710         Remove redundant braces.
27711
27712         * gst/gstpad.c: (gst_pad_set_caps):
27713         Don't call setcaps function when reseting caps to NULL.
27714
27715         * gst/gstsystemclock.c: (gst_system_clock_dispose),
27716         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
27717         (gst_system_clock_id_unschedule):
27718         Use BROADCAST as this is what we do.
27719
27720 2005-06-29  Wim Taymans  <wim@fluendo.com>
27721
27722         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
27723         We are actually prerolling before commiting the state
27724         change. 
27725
27726 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27727
27728         * docs/manual/advanced-clocks.xml:
27729         * docs/manual/advanced-interfaces.xml:
27730         * docs/manual/advanced-metadata.xml:
27731         * docs/manual/advanced-position.xml:
27732         * docs/manual/advanced-schedulers.xml:
27733         * docs/manual/advanced-threads.xml:
27734         * docs/manual/appendix-porting.xml:
27735         * docs/manual/basics-bins.xml:
27736         * docs/manual/basics-bus.xml:
27737         * docs/manual/basics-elements.xml:
27738         * docs/manual/basics-helloworld.xml:
27739         * docs/manual/basics-pads.xml:
27740         * docs/manual/highlevel-components.xml:
27741         * docs/manual/manual.xml:
27742         * docs/manual/thread.fig:
27743           Update (until threads/scheduling) Application Development Manual;
27744           remove GstThread, add GstBus, add simple porting checklist, add
27745           documentation for tag writing, clocks, make all examples until this
27746           part compile and run.
27747         * examples/manual/Makefile.am:
27748           Update from changes to Application Development Manual; add bus
27749           example, remove thread example.
27750
27751 2005-06-28  Wim Taymans  <wim@fluendo.com>
27752
27753         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
27754         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
27755         (gst_bus_source_dispatch):
27756         Add debugging messages.
27757         Make internal methods static.
27758         Handle the case where the bus is flushed in the handler.
27759         
27760         * gst/gstelement.c: (gst_element_get_bus):
27761         Fix refcount in _get_bus();
27762
27763         * gst/gstpipeline.c: (gst_pipeline_change_state),
27764         (gst_pipeline_get_clock_func):
27765         Clock refcounting fixes.
27766         Handle the case where preroll timed out more gracefully.
27767         
27768         * gst/gstsystemclock.c: (gst_system_clock_dispose):
27769         Clean up the internal thread in dispose. This is needed
27770         for subclasses that actually get disposed.
27771         
27772         * gst/schedulers/threadscheduler.c:
27773         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27774         (gst_thread_scheduler_dispose):
27775         Free thread pool in dispose.
27776
27777 2005-06-28  Andy Wingo  <wingo@pobox.com>
27778
27779         * tests/network-clock-utils.scm (debug, print-event): New utils.
27780
27781         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
27782         (*packet-loss*): Unified loss probability.
27783         (network-time): Report out-of-band events.
27784
27785         * tests/plot-data: Add support for out-of-band events. Hack it
27786         into this script instead of passing it down the pipe; should fix
27787         this later.
27788
27789 2005-06-28  Wim Taymans  <wim@fluendo.com>
27790
27791         * docs/gst/gstreamer.types:
27792         * docs/gst/tmpl/gstbasesrc.sgml:
27793         * docs/gst/tmpl/gstpad.sgml:
27794         Docs fixes.
27795
27796 2005-06-28  Wim Taymans  <wim@fluendo.com>
27797
27798         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27799         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
27800         (gst_proxy_pad_do_fixatecaps):
27801         Correctly proxy the check_pull_range function.
27802
27803 2005-06-28  Andy Wingo  <wingo@pobox.com>
27804
27805         * tests/network-clock.scm: Removed need for slib.
27806         
27807 2005-06-28  Wim Taymans  <wim@fluendo.com>
27808
27809         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
27810         (gst_basesink_preroll_queue_flush):
27811         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
27812         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
27813         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27814         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27815         (gst_proxy_pad_set_property):
27816         * gst/gstpad.c:
27817         * gst/gstpad.h:
27818         * gst/gstqueue.c: (gst_queue_init):
27819         The deprecated pad loop function is removed now.
27820
27821 2005-06-28  Andy Wingo  <wingo@pobox.com>
27822
27823         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
27824         New parameters, simulate network packet loss.
27825
27826         * tests/network-clock-utils.scm: Initialize the RNG.
27827
27828 2005-06-28  Wim Taymans  <wim@fluendo.com>
27829
27830         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
27831         (gst_basesink_event), (gst_basesink_deactivate):
27832         Flushing the preroll queue always needs to unlock the waiters.
27833
27834 2005-06-28  Edward Hervey  <edward@fluendo.com>
27835
27836         * gst/gstpipeline.c: (gst_pipeline_send_event): 
27837         Wheen a seek was successful on a pipeline, set the stream_time to the
27838         seek offset in order to have a synchronized stream_time.
27839
27840 2005-06-28  Wim Taymans  <wim@fluendo.com>
27841
27842         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27843         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
27844         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
27845         (gst_proxy_pad_do_fixatecaps):
27846         Call wrapper function instead of just calling the function
27847         pointers. This takes care of any locking and whatmore.
27848
27849 2005-06-28  Wim Taymans  <wim@fluendo.com>
27850
27851         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
27852         (gst_pad_pull_range):
27853         * gst/gstpad.h:
27854         CONNECTED -> LINKED.
27855
27856 2005-06-28  Andy Wingo  <wingo@pobox.com>
27857
27858         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
27859         source-munging commit!!!
27860
27861         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
27862         (gst_object_sink): Take gpointer arguments, not GstObject --
27863         avoids casts. Like GLib.
27864
27865         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
27866         activate.
27867
27868 2005-06-27  Andy Wingo  <wingo@pobox.com>
27869
27870         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
27871         remaining buffer.
27872
27873         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
27874         returns a sorted copy of the trace list.
27875         (gst_alloc_trace_print_live): New API, only prints traces with
27876         live objects. Sort the list.
27877         (gst_alloc_trace_print_all): Sort the list.
27878         (gst_alloc_trace_print): Align columns.
27879
27880         * gst/elements/gstttypefindelement.c:
27881         * gst/elements/gsttee.c:
27882         * gst/base/gstbasesrc.c:
27883         * gst/base/gstbasesink.c:
27884         * gst/base/gstbasetransform.c:
27885         * gst/gstqueue.c: Adapt for pad activation changes.
27886
27887         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
27888         sched.
27889         (gst_pipeline_dispose): Drop ref on sched.
27890
27891         * gst/gstpad.c (gst_pad_init): Set the default activate func.
27892         (gst_pad_activate_default): Push mode by default.
27893         (pre_activate_switch, post_activate_switch): New stubs, things to
27894         do before and after switching activation modes on pads.
27895         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
27896         the pad's activate function to choose which mode to activate.
27897         Shortcut on deactivation and call the right function directly.
27898         (gst_pad_activate_pull): New API, (de)activates a pad in pull
27899         mode.
27900         (gst_pad_activate_push): New API, same for push mode.
27901         (gst_pad_set_activate_function) 
27902         (gst_pad_set_activatepull_function) 
27903         (gst_pad_set_activatepush_function): Setters for new API.
27904
27905         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
27906         Trace all miniobjects.
27907         (gst_mini_object_make_writable): Unref the arg if we copy, like
27908         gst_caps_make_writable.
27909
27910         * gst/gstmessage.c (_gst_message_initialize): No trace init.
27911
27912         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
27913         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
27914         Adapt for new pad API.
27915
27916         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
27917
27918         * gst/gstelement.h:
27919         * gst/gstelement.c (gst_element_iterate_src_pads) 
27920         (gst_element_iterate_sink_pads): New API functions.
27921         
27922         * gst/gstelement.c (iterator_fold_with_resync): New utility,
27923         should fold into gstiterator.c in some form.
27924         (gst_element_pads_activate): Simplified via use of fold and
27925         delegation of decisions to gstpad->activate.
27926
27927         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
27928         help in debugging.
27929
27930         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
27931         class once in init, like gstmessage. Didn't run into this issue
27932         but it seems correct. Don't initialize a trace, gstminiobject does
27933         that.
27934
27935         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
27936         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
27937         to the bus.
27938         (assert_live_count): New util function, uses alloc traces to check
27939         cleanup.
27940
27941         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
27942         To be modified when unlink drops the internal pad.
27943
27944 2005-06-27  Wim Taymans  <wim@fluendo.com>
27945
27946         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
27947         (gst_bin_change_state):
27948         Cleanup the get_state() function a little, make sure it
27949         iterates the same set of elements.
27950         Added stub iterate_state_order().
27951
27952 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
27953
27954         * docs/gst/gstreamer-docs.sgml:
27955         * docs/gst/gstreamer-sections.txt:
27956         * docs/gst/gstreamer.types:
27957         * docs/gst/tmpl/gstbasesink.sgml:
27958         * docs/gst/tmpl/gstbasesrc.sgml:
27959         * docs/gst/tmpl/gstbasetransform.sgml:
27960         * docs/gst/tmpl/gstelement.sgml:
27961         * docs/gst/tmpl/gstiterator.sgml:
27962         * gst/base/gstbasesrc.c:
27963         * gst/base/gstbasesrc.h:
27964         * gst/base/gstbasetransform.h:
27965         * gst/gstelement.c:
27966         * gst/gstiterator.h:
27967           adding basetransform and iterator docs
27968
27969 2005-06-27  Andy Wingo  <wingo@pobox.com>
27970
27971         * docs/design/part-activation.txt: Notes on how activation should
27972         work -- not quite implemented yet.
27973
27974 2005-06-25  Wim Taymans  <wim@fluendo.com>
27975
27976         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
27977         At least get the chain function correct, needs more
27978         fixing.
27979
27980 2005-06-25  Wim Taymans  <wim@fluendo.com>
27981
27982         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27983         (gst_basesink_handle_object), (gst_basesink_event),
27984         (gst_basesink_do_sync), (gst_basesink_handle_event),
27985         (gst_basesink_change_state):
27986         * gst/gsttask.h:
27987         Right, two problems here: ghostpads don't take locks and
27988         glib _rec_mutex_lock_full() with depth==0 still locks.
27989         Catch illegal locking and g_warn them.
27990
27991 2005-06-25  Wim Taymans  <wim@fluendo.com>
27992
27993         * check/states/sinks.c: (START_TEST), (gst_object_suite):
27994         Have to check for completion now...
27995
27996 2005-06-25  Wim Taymans  <wim@fluendo.com>
27997
27998         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27999         (gst_basesink_handle_object), (gst_basesink_event),
28000         (gst_basesink_do_sync), (gst_basesink_handle_event),
28001         (gst_basesink_change_state):
28002         * gst/gstpad.h:
28003         Unlock STREAM_LOCK whatever the recursion was.
28004
28005 2005-06-25  Wim Taymans  <wim@fluendo.com>
28006
28007         * gst/base/gstbasesink.c: (gst_basesink_set_property),
28008         (gst_basesink_preroll_queue_empty),
28009         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
28010         (gst_basesink_event), (gst_basesink_do_sync),
28011         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
28012         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
28013         (gst_basesink_change_state):
28014         Reworked the base sink, handle event and buffer serialisation
28015         correctly and removed possible deadlock.
28016         Handle EOS correctly.
28017
28018 2005-06-25  Wim Taymans  <wim@fluendo.com>
28019
28020         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
28021         (gst_pipeline_change_state):
28022         * tools/gst-launch.c: (check_intr), (event_loop), (main):
28023         Allow elements to post EOS in the state change function.
28024         Fix up -launch, make it exit the poll loop when the
28025         pipeline actually changed state.
28026         Fix up warning parsing in -launch.
28027
28028 2005-06-25  Wim Taymans  <wim@fluendo.com>
28029
28030         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
28031         (gst_tee_sink_activate):
28032         Core takes STREAM_LOCK for us now.
28033
28034 2005-06-25  Wim Taymans  <wim@fluendo.com>
28035
28036         * gst/gstelement.c: (gst_element_get_state_func),
28037         (gst_element_set_state):
28038         * gst/gstelement.h:
28039         * gst/gstmessage.c: (gst_message_parse_error),
28040         (gst_message_parse_warning):
28041         Keep track of current target state while performing a state
28042         change so that subclasses can do something interesting.
28043         Fix parsing of warning/error messages when GError is NULL.
28044
28045 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
28046
28047         * docs/gst/Makefile.am:
28048         * docs/gst/gstreamer-docs.sgml:
28049         * docs/gst/gstreamer-sections.txt:
28050         * docs/gst/gstreamer.types:
28051         * docs/gst/tmpl/gstbasesink.sgml:
28052         * docs/gst/tmpl/gstbasesrc.sgml:
28053         * docs/gst/tmpl/gstbin.sgml:
28054         * docs/gst/tmpl/gstcompat.sgml:
28055         * docs/gst/tmpl/gstfakesink.sgml:
28056         * docs/gst/tmpl/gstfakesrc.sgml:
28057         * docs/gst/tmpl/gstfilesink.sgml:
28058         * docs/gst/tmpl/gstfilesrc.sgml:
28059         * docs/gst/tmpl/gstindex.sgml:
28060         * docs/manual/appendix-quotes.xml:
28061         * gst/base/gstbasesrc.h:
28062         * gst/elements/gstfakesrc.h:
28063         * gst/gstmessage.h:
28064           start pulling in base classes and elements in our docs
28065
28066 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
28067
28068         * docs/gst/Makefile.am:
28069         * docs/libs/Makefile.am:
28070           fixed make distcheck with gtk-doc 1.3
28071
28072 2005-06-23  Wim Taymans  <wim@fluendo.com>
28073
28074         * gst/gstelement.c: (gst_element_get_state_func),
28075         (gst_element_set_state), (gst_element_change_state):
28076         When the state did not change, also report NO_PREROLL
28077         when it matters.
28078
28079 2005-06-23  Wim Taymans  <wim@fluendo.com>
28080
28081         * gst/gstpad.c: (gst_pad_event_default):
28082         * gst/gstqueue.c: (gst_queue_loop):
28083         No unsafe task pausing please.
28084
28085 2005-06-23  Wim Taymans  <wim@fluendo.com>
28086
28087         * gst/schedulers/threadscheduler.c:
28088         (gst_thread_scheduler_task_start),
28089         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
28090         Ref the task before pushing it on the threadpool. This
28091         makes sure that we have a ref when the threadfunction is
28092         actually called.
28093
28094 2005-06-23  Andy Wingo  <wingo@pobox.com>
28095
28096         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
28097         offset is greater than the file's size.
28098
28099         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
28100         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
28101         * gst/gstobject.c (gst_object_class_init): Make the class lock
28102         recursive. Wim won't let me drop deep_notify. Decodebin works
28103         again, whoopdy doo.
28104
28105         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
28106         internal pad, and hacks accordingly. Doesn't do it on the target
28107         pad because we change its caps. Probably catches all cases of
28108         interest tho.
28109         (gst_ghost_pad_set_property): Connect to notify::caps as
28110         appropritate.
28111
28112         * tests/network-clock.scm (plot-simulation): Pipe data to the
28113         elite python skript.
28114
28115         * tests/network-clock-utils.scm (define-parameter): New macro,
28116         defines a parameter that can be set via the command line.
28117         (set-parameter!, parse-parameter-arguments): Command line args
28118         parser.
28119
28120         * tests/plot-data: Simple matplotlib-based plotter, takes input on
28121         stdin.
28122
28123 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
28124
28125         * gst/elements/gsttypefindelement.c:
28126         (gst_type_find_element_handle_event):
28127           Don't restart typefinding on a discont.
28128         * gst/gstelement.c: (gst_element_set_state):
28129           Debug spelling fix.
28130         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
28131           Allow changing mode of an active pad.
28132           Debug output fixes.
28133         * gst/registries/gstlibxmlregistry.c: (load_feature):
28134           Don't cast a static pad template to a normal pad template.
28135
28136 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
28137
28138         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28139         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
28140           remove gst_strtoll completely, since it didn't actually do
28141           anything more than what g_ascii_strtoull already does.
28142           check for range errors when deserializing
28143           do a cast for the unsigned cases; but further fixing needs
28144           a decision on what the interpretation of "(int)" and
28145           deserialization should be for values that fall outside the
28146           type's boundaries (ie, refuse, or interpret as casting)
28147
28148 2005-06-23  Wim Taymans  <wim@fluendo.com>
28149
28150         * check/Makefile.am:
28151         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
28152         * docs/design/part-live-source.txt:
28153         * docs/design/part-states.txt:
28154         * gst/base/gstbasesrc.c: (gst_basesrc_init),
28155         (gst_basesrc_set_live), (gst_basesrc_is_live),
28156         (gst_basesrc_get_range), (gst_basesrc_activate),
28157         (gst_basesrc_change_state):
28158         * gst/base/gstbasesrc.h:
28159         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28160         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
28161         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
28162         * gst/gstelement.c: (gst_element_get_state_func),
28163         (gst_element_set_state):
28164         * gst/gstelement.h:
28165         * gst/gsttypes.h:
28166         * tools/gst-launch.c: (event_loop), (main):
28167         Added support for live sources and other elements that
28168         cannot do preroll.
28169         Updated design docs, added live-source design doc.
28170         Implemented live source functionality in basesrc
28171         Fix error condition in _bin_get_state()
28172         Implement live source handling in -launch.
28173         Added check for live sources.
28174         Fixed case in GstBin where elements were changed state
28175         multiple times.
28176
28177
28178 2005-06-23  Andy Wingo  <wingo@pobox.com>
28179
28180         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
28181         borken refcounting.
28182
28183         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
28184         gst_caps_replace takes care of this for us.
28185
28186         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
28187         gst_pad_set_caps on the target, not just its setcaps() function.
28188
28189         * tests/network-clock.scm: 
28190         * tests/network-clock-utils.scm: A network clock simulator.
28191         Something of an algorithmic testbed before doing something in C.
28192
28193 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28194
28195         * check/Makefile.am:
28196         * check/gst/capslist.h:
28197           copy over from 0.8, and add two with bitmasks specified with
28198           (int) 0xFF...
28199         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
28200           add test to parse everything from capslist.h
28201         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
28202         (main):
28203           add test for structure deserialization
28204         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28205           add tests for deserialization of strings to int types
28206         * gst/gststructure.c: (gst_structure_nth_field_name):
28207         * gst/gststructure.h:
28208           add a way to get the name of a field referenced by index
28209         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
28210           instead of checking if the resulting long long lies between
28211           min and max, we check if the long long would fit into
28212           a number of bytes for the final type.
28213           This fixes cases where a string represents 2^32 - 1, which
28214           when cast to int would be the (valid) -1, but is bigger than
28215           G_MAXINT
28216
28217 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28218
28219         * gst/parse/grammar.y:
28220           add a log line for type deserialization
28221
28222 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28223
28224         * check/gst/gstvalue.c: (START_TEST):
28225         * gst/gstvalue.c: (gst_value_deserialize):
28226           return long long, not int, so gint64 deserialization actually
28227           works.  Is there any flag that makes the compiler check this ?
28228           Fixes #308559
28229
28230 2005-06-22  Wim Taymans  <wim@fluendo.com>
28231
28232         * gst/gstbuffer.h:
28233         Added convenience macros for setting buffers in GValue.
28234
28235 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
28236
28237         * check/gst/.cvsignore:
28238         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28239           add a test deserializing int64, and comment part out because
28240           it fails, yay !
28241
28242 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
28243
28244         * check/Makefile.am:
28245         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
28246         * testsuite/Makefile.am:
28247         * testsuite/caps/Makefile.am:
28248         * testsuite/caps/value_serialize.c:
28249         * testsuite/test_gst_init.c:
28250           move a value_serialize test over
28251
28252 2005-06-20  Wim Taymans  <wim@fluendo.com>
28253
28254         * gst/gstpad.c:
28255         Small doc updates.
28256         
28257         * gst/gstvalue.c: (gst_value_compare_buffer),
28258         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
28259         (gst_value_compare_flags), (gst_value_serialize_flags),
28260         (gst_value_deserialize_flags), (_gst_value_initialize):
28261         Fix serialisation of buffers, they are not boxed types anymore
28262
28263 2005-06-20  Wim Taymans  <wim@fluendo.com>
28264
28265         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
28266         Testcase to show error in buffer-on-caps serialisation.
28267
28268 2005-06-20  Andy Wingo  <wingo@pobox.com>
28269
28270         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
28271         will be adding to later.
28272
28273         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
28274         if its socks fill with rocks.
28275         (gst_system_clock_obtain): Set the name on object construction.
28276         Avoid double-checked locking.
28277
28278 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
28279
28280         * gst/gsturi.c: (gst_element_make_from_uri):
28281           Fix potential endless loop.
28282
28283 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28284
28285         * check/Makefile.am:
28286           add gsttag
28287         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
28288         (main):
28289           move over from testsuite dir and clean up
28290         * configure.ac:
28291         * gst/gsttag.c:
28292         * testsuite/Makefile.am:
28293         * testsuite/tags/.cvsignore:
28294         * testsuite/tags/Makefile.am:
28295         * testsuite/tags/merge.c:
28296           remove testsuite/tags
28297
28298 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28299
28300         * docs/gst/gstreamer-sections.txt:
28301         * docs/gst/tmpl/gstenumtypes.sgml:
28302         * win32/gstenumtypes.c:
28303           clean up documentation build a little
28304
28305 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28306
28307         * check/gstcheck.h:
28308           add macros for checking refcounts on objects and caps
28309         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
28310           add some more unit tests
28311         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
28312         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
28313           fix leaked refcounts (I hope :)) so unittest works
28314         * gst/gstpad.h:
28315           whitespace removal
28316
28317 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28318
28319         * configure.ac: back to HEAD
28320
28321 === release 0.9.1 ===
28322
28323 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
28324
28325         * NEWS:
28326         * RELEASE:
28327           updated
28328
28329 2005-06-17  Andy Wingo  <wingo@pobox.com>
28330
28331         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
28332         assert; it's always possible that the pad gets deactivated in
28333         between the checks in gstpad.c and the implementation. Rely on
28334         finish_preroll() to return a FLUSHING or similar instead of on the
28335         assert.
28336         
28337         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
28338         clock and post an EOS message if we come out of finish_preroll in
28339         the playing state.
28340
28341 2005-06-16  David Schleef  <ds@schleef.org>
28342
28343         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
28344         (gst_capsfilter_set_property): Allow NULL as possible value
28345         for filter_caps property, indicating GST_CAPS_ANY.
28346
28347 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28348
28349         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
28350           fix debug output
28351         * gst/schedulers/Makefile.am:
28352           use libgst prefix
28353         * gstreamer.spec.in:
28354           fix spec for it
28355
28356 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28357
28358         * gstreamer.spec.in:
28359           clean up
28360
28361 2005-06-08  Andy Wingo  <wingo@pobox.com>
28362
28363         * gst/gstutils.c: RPAD fixes all around.
28364         (gst_element_link_pads): Refcounting fixes.
28365
28366         * tools/gst-inspect.c:
28367         * tools/gst-xmlinspect.c:
28368         * parse/grammar.y:
28369         * gst/base/gsttypefindhelper.c:
28370         * gst/base/gstbasesink.c:
28371         * gst/gstqueue.c: RPAD fixes.
28372
28373         * gst/gstghostpad.h:
28374         * gst/gstghostpad.c: New ghost pad implementation as full proxy
28375         pads. The tricky thing is they provide both source and sink
28376         interfaces, since they proxy the internal pad for the external
28377         pad, and vice versa. Implement with lower-level ProxyPad objects,
28378         with the interior proxy pad as a child of the exterior ghost pad.
28379         Should write a doc on this.
28380         
28381         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
28382         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
28383         gst_object API.
28384         
28385         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
28386         pads are real pads. No ghost pads in this file. Not documenting
28387         the myriad s/RPAD/PAD/ and REALIZE fixes.
28388         (gst_pad_class_init): Add properties for "direction" and
28389         "template". Both are construct-only, so they can't change during
28390         the life of the pad. Fixes properly deriving from GstPad.
28391         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
28392         derived objects, just set properties when creating the objects via
28393         g_object_new.
28394         (gst_pad_get_parent): Implement as a function, return NULL if the
28395         parent is not an element.
28396         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
28397         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
28398         
28399         * gst/gstobject.c (gst_object_class_init): Make name a construct
28400         property. Don't set it in the object init.
28401
28402         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
28403         with UNKNOWN direction.
28404         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
28405         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
28406         (gst_element_remove_pad): Remove ghost-pad special cases.
28407         (gst_element_pads_activate): Remove rpad cruft.
28408
28409         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
28410         catch the pad's-parent-not-an-element case.
28411
28412         * gst/gst.h: Include gstghostpad.h.
28413
28414         * gst/gst.c (init_post): No more real, ghost pads.
28415
28416         * gst/Makefile.am: Add gstghostpad.[ch].
28417
28418         * check/Makefile.am:
28419         * check/gst/gstbin.c:
28420         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
28421         into a bin creates ghost pads, and that the refcounts are right.
28422         Partly moved from gstbin.c.
28423
28424 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28425
28426         * check/gst-libs/.cvsignore:
28427         * check/gst/.cvsignore:
28428         * check/pipelines/.cvsignore:
28429           ignore more
28430         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
28431         (START_TEST), (cleanup_suite), (main):
28432           add some tests related to cleanup after running pipelines
28433
28434 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28435
28436         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
28437           add a testsuite for GstBuffer
28438
28439 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28440
28441         * gst/gstminiobject.h:
28442           add defines for accessing the refcount
28443
28444 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
28445
28446         * Makefile.am: added support for html unit test coverage reports
28447
28448 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
28449
28450         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
28451           Free existing caps if the capsfilter changes. Add a FIXME about
28452           setting those caps on the pads.
28453
28454         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
28455           Before adding a ghost pad to a parent bin, check that there isn't
28456           already one for the element on the bin. Prevents infinite recursion
28457           when using decodebin in parse pipelines. Andy says he'll rewrite the
28458           way this works anyway, so ignore the hack.
28459
28460 2005-06-02  Andy Wingo  <wingo@pobox.com>
28461
28462         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
28463         file size, pass it on to the type find helper.
28464
28465         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
28466         segment_start and segment_end properly according to the seek
28467         method. Segment_end is still a bit flaky because offset can be
28468         negative for CUR and END cases, but it takes -1 as an "unset"
28469         value.
28470
28471 2005-06-02  Wim Taymans  <wim@fluendo.com>
28472
28473         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
28474         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
28475         (gst_basesink_activate):
28476         * gst/base/gstbasesink.h:
28477         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28478         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
28479         (gst_pad_query), (gst_pad_start_task):
28480         * gst/gstpad.h:
28481         * gst/gstqueue.c: (gst_queue_bufferalloc),
28482         (gst_queue_handle_sink_event), (gst_queue_chain):
28483         Bufferalloc: return GstFlowReturn to more accuratly report
28484         why allocation failed.
28485
28486 2005-06-02  Wim Taymans  <wim@fluendo.com>
28487
28488         * gst/gstpipeline.c: (gst_pipeline_send_event):
28489         Take snapshot of state without blocking.
28490
28491 2005-06-02  Wim Taymans  <wim@fluendo.com>
28492
28493         * docs/design/part-TODO.txt:
28494         * docs/design/part-caps.txt:
28495         * docs/design/part-clocks.txt:
28496         * docs/design/part-negotiation.txt:
28497         * docs/design/part-preroll.txt:
28498         Small doc updates 
28499
28500 2005-05-30  Wim Taymans  <wim@fluendo.com>
28501
28502         * gst/elements/gstidentity.c: (gst_identity_event),
28503         (gst_identity_transform), (gst_identity_get_property):
28504         Protect last_message property as it is accessed from
28505         multiple threads.
28506
28507 2005-05-30  Wim Taymans  <wim@fluendo.com>
28508
28509         * gst/gstelement.c: (gst_element_init),
28510         (gst_element_pads_activate), (gst_element_change_state):
28511         Slicker pad activation code.
28512
28513 2005-05-30  Wim Taymans  <wim@fluendo.com>
28514
28515         * gst/Makefile.am:
28516         * gst/gstelement.h:
28517         * gst/gstelementfactory.h:
28518         * gst/gsttypes.h:
28519         Move elementfactory methods to separate .h file.
28520
28521 2005-05-30  Wim Taymans  <wim@fluendo.com>
28522
28523         * docs/design/part-overview.txt:
28524         * gst/gstsystemclock.h:
28525         Small typo fixes, doc updates.
28526
28527 2005-05-30  Wim Taymans  <wim@fluendo.com>
28528
28529         * gst/gst.c: (gst_init_get_popt_table), (init_post),
28530         (init_popt_callback):
28531         Remove cpu-opt flag.
28532
28533 2005-05-30  Wim Taymans  <wim@fluendo.com>
28534
28535         * gst/gstbuffer.c: (gst_subbuffer_finalize),
28536         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
28537         * gst/gstbuffer.h:
28538         Avoid typechecking in places where not needed.
28539         Added accessor for malloc_data.
28540
28541 2005-05-30  Wim Taymans  <wim@fluendo.com>
28542
28543         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
28544         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
28545         (gst_pad_configure_sink), (gst_pad_configure_src),
28546         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
28547         (gst_pad_start_task):
28548         Propagate errors from _set_caps() in configure_src/sink
28549         functions instead of returning TRUE.
28550         FLUSH events can travel up and downstream
28551
28552
28553 2005-05-30  Wim Taymans  <wim@fluendo.com>
28554
28555         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
28556         (gst_basesink_activate):
28557         Handle EOS in preroll.
28558
28559 2005-05-30  Wim Taymans  <wim@fluendo.com>
28560
28561         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
28562         (gst_queue_loop), (gst_queue_handle_src_event):
28563         Remove old pieces of code
28564         Flushing the queue in an upstream event is a very bad idea.
28565
28566 2005-05-26  Andy Wingo  <wingo@pobox.com>
28567
28568         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
28569         gst_value_set_mini_object so as to add a ref on the object (which
28570         will be removed when the value is unset).
28571
28572         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
28573         arg type in ::handoff.
28574
28575         * gst/gstelement.c (gst_element_change_state): Also deactivate
28576         pads in READY->NULL, just in case the element didn't make it to
28577         PAUSED. Wingo tested, Wim approved.
28578
28579 2005-05-26  Wim Taymans  <wim@fluendo.com>
28580
28581         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28582         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
28583         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
28584         A flushing pad cannot be used to alloc_buffer from.
28585
28586 2005-05-26  Wim Taymans  <wim@fluendo.com>
28587
28588         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
28589         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
28590         (gst_bus_source_dispatch), (gst_bus_source_finalize),
28591         (gst_bus_create_watch), (gst_bus_add_watch_full):
28592         * gst/gstbus.h:
28593         Implement a real GSource and use g_main_context_wakeup() to
28594         signal new messages instead of the socketpair.
28595
28596 2005-05-25  Wim Taymans  <wim@fluendo.com>
28597
28598         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
28599         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
28600         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28601         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
28602         (gst_pad_send_event), (gst_pad_start_task):
28603         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
28604         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
28605         (gst_queue_sink_activate), (gst_queue_src_activate),
28606         (gst_queue_change_state):
28607         * gst/gstqueue.h:
28608         Fix state changes for non sinks. We now change sinks, then elements
28609         with unconnected srcpads, then the rest.
28610         More efficient queue unlocking in flush and state changes.
28611         Set the pad activate mode even if it does not have an activate
28612         function.
28613
28614 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28615
28616         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
28617           Don't go in pull mode for non-seekable sources.
28618         * gst/elements/gsttypefindelement.h:
28619         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
28620         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
28621         (free_entry), (stop_typefinding),
28622         (gst_type_find_element_handle_event), (find_peek),
28623         (gst_type_find_element_chain), (do_pull_typefind),
28624         (gst_type_find_element_change_state):
28625           Allow typefinding (w/o seeking) in push-mode, simplified version
28626           of what was in 0.8.
28627         * gst/gstutils.c: (gst_buffer_join):
28628         * gst/gstutils.h:
28629           gst_buffer_join() from 0.8.
28630
28631 2005-05-25  Wim Taymans  <wim@fluendo.com>
28632
28633         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28634         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
28635         (gst_pad_send_event), (gst_pad_start_task):
28636         Disable attempt at mode switching until it is figured out.
28637
28638 2005-05-25  Wim Taymans  <wim@fluendo.com>
28639
28640         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
28641         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
28642         (gst_basesink_finish_preroll), (gst_basesink_chain),
28643         (gst_basesink_loop), (gst_basesink_activate),
28644         (gst_basesink_change_state):
28645         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
28646         (gst_basesrc_get_range), (gst_basesrc_loop),
28647         (gst_basesrc_activate):
28648         * gst/elements/gsttee.c: (gst_tee_sink_activate):
28649         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
28650         (gst_real_pad_init), (gst_real_pad_set_property),
28651         (gst_real_pad_get_property), (gst_pad_set_active),
28652         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
28653         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
28654         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
28655         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
28656         (gst_pad_event_default_dispatch), (gst_pad_event_default),
28657         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
28658         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
28659         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28660         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
28661         (gst_pad_stop_task):
28662         * gst/gstpad.h:
28663         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
28664         (gst_queue_loop), (gst_queue_src_activate):
28665         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
28666         (gst_task_get_state):
28667         * gst/gsttask.h:
28668         * gst/schedulers/threadscheduler.c:
28669         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
28670         Implement gst_pad_pause/start/stop_task(), take STREAM lock
28671         in task function.
28672         Remove ACTIVE pad flag, use FLUSHING everywhere
28673         Added _pad_chain(), _pad_get_range() to call chain/getrange 
28674         functions.
28675         Add locks around IS_FLUSHING when reading.
28676         Take STREAM lock in chain(), get_range() functions so plugins
28677         don't need to take it anymore.
28678         
28679
28680
28681 2005-05-25  Wim Taymans  <wim@fluendo.com>
28682
28683         * tools/gst-launch.c: (event_loop):
28684         Unref message after using its contents instead of
28685         before.
28686
28687 2005-05-24  Wim Taymans  <wim@fluendo.com>
28688
28689         * docs/design/draft-ghostpads.txt:
28690         * docs/design/draft-push-pull.txt:
28691         * docs/design/draft-query.txt:
28692         * docs/design/part-overview.txt:
28693         Docs updates, added general overview doc.
28694
28695 2005-05-21  David Schleef  <ds@schleef.org>
28696
28697         * docs/gst/tmpl/old/GstBin.sgml:
28698         * docs/gst/tmpl/old/GstBuffer.sgml:
28699         * docs/gst/tmpl/old/GstCaps.sgml:
28700         * docs/gst/tmpl/old/GstClock.sgml:
28701         * docs/gst/tmpl/old/GstCompat.sgml:
28702         * docs/gst/tmpl/old/GstData.sgml:
28703         * docs/gst/tmpl/old/GstElement.sgml:
28704         * docs/gst/tmpl/old/GstEvent.sgml:
28705         * docs/gst/tmpl/old/GstIndex.sgml:
28706         * docs/gst/tmpl/old/GstStructure.sgml:
28707         * docs/gst/tmpl/old/GstTag.sgml:
28708         * docs/gst/tmpl/old/cothreads.sgml:
28709         * docs/gst/tmpl/old/cothreads_compat.sgml:
28710         * docs/gst/tmpl/old/gettext.sgml:
28711         * docs/gst/tmpl/old/gobject2gtk.sgml:
28712         * docs/gst/tmpl/old/grammar.tab.sgml:
28713         * docs/gst/tmpl/old/gst-i18n-app.sgml:
28714         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
28715         * docs/gst/tmpl/old/gst_private.sgml:
28716         * docs/gst/tmpl/old/gstaggregator.sgml:
28717         * docs/gst/tmpl/old/gstarch.sgml:
28718         * docs/gst/tmpl/old/gstatomic_impl.sgml:
28719         * docs/gst/tmpl/old/gstbufferstore.sgml:
28720         * docs/gst/tmpl/old/gstdata_private.sgml:
28721         * docs/gst/tmpl/old/gstdisksink.sgml:
28722         * docs/gst/tmpl/old/gstdisksrc.sgml:
28723         * docs/gst/tmpl/old/gstelementfactory.sgml:
28724         * docs/gst/tmpl/old/gstextratypes.sgml:
28725         * docs/gst/tmpl/old/gstfakesink.sgml:
28726         * docs/gst/tmpl/old/gstfakesrc.sgml:
28727         * docs/gst/tmpl/old/gstfdsink.sgml:
28728         * docs/gst/tmpl/old/gstfdsrc.sgml:
28729         * docs/gst/tmpl/old/gstfilesink.sgml:
28730         * docs/gst/tmpl/old/gstfilesrc.sgml:
28731         * docs/gst/tmpl/old/gsthttpsrc.sgml:
28732         * docs/gst/tmpl/old/gstidentity.sgml:
28733         * docs/gst/tmpl/old/gstindexfactory.sgml:
28734         * docs/gst/tmpl/old/gstmarshal.sgml:
28735         * docs/gst/tmpl/old/gstmd5sink.sgml:
28736         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
28737         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
28738         * docs/gst/tmpl/old/gstpadtemplate.sgml:
28739         * docs/gst/tmpl/old/gstpipefilter.sgml:
28740         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
28741         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
28742         * docs/gst/tmpl/old/gstshaper.sgml:
28743         * docs/gst/tmpl/old/gstspider.sgml:
28744         * docs/gst/tmpl/old/gstspideridentity.sgml:
28745         * docs/gst/tmpl/old/gststatistics.sgml:
28746         * docs/gst/tmpl/old/gsttee.sgml:
28747         * docs/gst/tmpl/old/gsttimecache.sgml:
28748         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
28749         * docs/gst/tmpl/old/gstxmlregistry.sgml:
28750         * docs/gst/tmpl/old/gthread-cothreads.sgml:
28751         * docs/gst/tmpl/old/types.sgml:
28752           I didn't intend to add these or check them in.
28753
28754 2005-05-19  David Schleef  <ds@schleef.org>
28755
28756         * configure.ac: Use -no-common everywhere.  In a sane world, it
28757           would be the default in libtool, because without it, you can't
28758           build DLLs on Windows.
28759         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
28760         * docs/gst/gstreamer-sections.txt:
28761         * docs/gst/tmpl/gstcpu.sgml:
28762         * docs/gst/tmpl/gstdata.sgml:
28763         * docs/gst/tmpl/gstthread.sgml:
28764
28765 2005-05-19  David Schleef  <ds@schleef.org>
28766
28767         * gst/gstminiobject.c: (gst_value_set_mini_object),
28768         (gst_value_take_mini_object), (gst_value_get_mini_object):
28769         * gst/gstminiobject.h: Add GValue set/get functions.
28770
28771 2005-05-19  Wim Taymans  <wim@fluendo.com>
28772
28773         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
28774         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
28775         (gst_subbuffer_init), (gst_buffer_is_span_fast):
28776         * gst/gstbuffer.h:
28777         * gst/gstbus.c: (gst_bus_post):
28778         * gst/gstelement.c: (gst_element_get_random_pad):
28779         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
28780         Make subbufer unref the parent in finalize.
28781         some more debugging info.
28782
28783
28784 2005-05-19  Wim Taymans  <wim@fluendo.com>
28785
28786         * gst/base/gstbasesink.c: (gst_basesink_class_init),
28787         (gst_basesink_init), (gst_basesink_finalize),
28788         (gst_basesink_activate), (gst_basesink_change_state):
28789         Don't free preroll queue too early.
28790
28791 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28792
28793         * gst/Makefile.am:
28794         * gst/ROADMAP:
28795           Hi, I'm outdated. Please shoot me.
28796
28797 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28798
28799         * gst/gstpipeline.c: (gst_pipeline_send_event):
28800           Do not access variables after they have been deleted.
28801
28802 2005-05-19  Wim Taymans  <wim@fluendo.com>
28803
28804         * tools/gst-inspect.c: (print_plugin_features):
28805         A plugin feature does unfortunatly not use the
28806         object name yet...
28807
28808 2005-05-18  Wim Taymans  <wim@fluendo.com>
28809
28810         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
28811         Port _span() functions to new subbuffers.
28812
28813 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28814
28815         * gst/gstbin.c: (gst_bin_add_func):
28816           Fix clock settery in bins when adding kids after the clock has
28817           been selected.
28818
28819 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28820
28821         * gst/elements/gstidentity.c: (gst_identity_class_init):
28822           Workaround until signals support GstMiniObject.
28823
28824 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
28825
28826         * gst/gstbuffer.c:
28827         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
28828
28829 2005-05-18  Wim Taymans  <wim@fluendo.com>
28830
28831         * gst/base/Makefile.am:
28832         * gst/base/gstadapter.c: (gst_adapter_base_init),
28833         (gst_adapter_class_init), (gst_adapter_init),
28834         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
28835         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
28836         (gst_adapter_flush), (gst_adapter_available),
28837         (gst_adapter_available_fast):
28838         * gst/base/gstadapter.h:
28839         Ported and added adapter to the base classes.
28840
28841 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
28842
28843         * gst/gst.c:
28844         * gst/gstmessage.c:
28845           Make sure the class is reffed/unreffed once before threads can be
28846           used.  Fixes #304551.
28847
28848 2005-05-17  Wim Taymans  <wim@fluendo.com>
28849
28850         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
28851         (gst_basesink_chain_unlocked), (gst_basesink_activate):
28852         * gst/gstminiobject.c: (gst_mini_object_get_type),
28853         (gst_mini_object_free):
28854         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
28855         (gst_pad_push), (gst_pad_push_event):
28856         * gst/gstqueue.c: (gst_queue_change_state):
28857         Don't queue buffers in basesink when we are flushing.
28858         Unref buffer when flushing in basesink.
28859         Flush queue when going to READY
28860         Unref buffer when _push() returns an error.
28861         Don't free MiniObject instance when refcount is incremented
28862         in _finalize() so that we can recover objects.
28863
28864 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
28865
28866         * docs/manual/advanced-schedulers.xml:
28867         * docs/manual/appendix-checklist.xml:
28868         * docs/pwg/advanced-clock.xml:
28869         * docs/pwg/advanced-interfaces.xml:
28870         * docs/pwg/advanced-request.xml:
28871         * docs/pwg/advanced-types.xml:
28872         * docs/pwg/intro-preface.xml:
28873         * examples/plugins/example.c: (gst_example_get_type),
28874         (gst_example_class_init), (gst_example_chain),
28875         (gst_example_set_property), (gst_example_get_property),
28876         (gst_example_change_state), (plugin_init):
28877         * examples/plugins/example.h:
28878           small doc fixes
28879
28880 2005-05-17  Wim Taymans  <wim@fluendo.com>
28881
28882         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
28883         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
28884         * gst/gstqueue.c: (gst_queue_change_state):
28885         Clear queue when going to READY.
28886         Remove IN_SETCAPS flag too.
28887
28888 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
28889
28890         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
28891           Remove implicit cast from gboolean to GstElementStateReturn;
28892           make sure we still return failure in paused => ready case if
28893           the parent class fails to change state and our own stop 
28894           vfunc succeeds.
28895
28896 2005-05-17  Wim Taymans  <wim@fluendo.com>
28897
28898         * tools/gst-launch.c: (event_loop):
28899         Message was unreffed too soon.
28900
28901 2005-05-16  Andy Wingo  <wingo@pobox.com>
28902
28903         * gst/gstbin.c (sink_iterator_filter): Err... um...
28904
28905         * check/gst/gstbin.c (test_ghost_pads): New test for the
28906         ghosting-if-elements-not-in-same-bin behavior.
28907
28908 2005-05-16  David Schleef  <ds@schleef.org>
28909
28910         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
28911         accessing refcount directly.
28912
28913 2005-05-15  David Schleef  <ds@schleef.org>
28914
28915         * check/Makefile.am: remove GstData checks
28916         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
28917         * gst/Makefile.am: add miniobject, remove data
28918         * gst/gst.h: add miniobject, remove data
28919         * gst/gstdata.c: remove
28920         * gst/gstdata.h: remove
28921         * gst/gstdata_private.h: remove
28922         * gst/gsttypes.h: remove GstEvent and GstMessage
28923         * gst/gstelement.c: (gst_element_post_message): fix for API changes
28924         * gst/gstmarshal.list: change BOXED -> OBJECT
28925
28926         Implement GstMiniObject.
28927         * gst/gstminiobject.c:
28928         * gst/gstminiobject.h:
28929
28930         Modify to be subclasses of GstMiniObject.
28931         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
28932         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
28933         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
28934         (gst_subbuffer_get_type), (gst_subbuffer_init),
28935         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
28936         (gst_buffer_span):
28937         * gst/gstbuffer.h:
28938         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
28939         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
28940         (_gst_event_copy), (gst_event_new):
28941         * gst/gstevent.h:
28942         * gst/gstmessage.c: (_gst_message_initialize),
28943         (gst_message_get_type), (gst_message_class_init),
28944         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
28945         (gst_message_new), (gst_message_new_error),
28946         (gst_message_new_warning), (gst_message_new_tag),
28947         (gst_message_new_state_changed), (gst_message_new_application):
28948         * gst/gstmessage.h:
28949         * gst/gstprobe.c: (gst_probe_perform),
28950         (gst_probe_dispatcher_dispatch):
28951         * gst/gstprobe.h:
28952         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
28953         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
28954         (_gst_query_copy), (gst_query_new):
28955
28956         Update elements for GstData -> GstMiniObject changes
28957         * gst/gstquery.h:
28958         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
28959         (gst_queue_chain), (gst_queue_loop):
28960         * gst/elements/gstbufferstore.c:
28961         (gst_buffer_store_add_buffer_func),
28962         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
28963         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28964         (gst_fakesink_render):
28965         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
28966         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
28967         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
28968         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
28969         (gst_filesrc_create_read):
28970         * gst/elements/gstidentity.c: (gst_identity_class_init):
28971         * gst/elements/gsttypefindelement.c:
28972         (gst_type_find_element_src_event), (free_entry_buffers),
28973         (gst_type_find_element_handle_event):
28974         * libs/gst/dataprotocol/dataprotocol.c:
28975         (gst_dp_header_from_buffer):
28976         * libs/gst/dataprotocol/dataprotocol.h:
28977         * libs/gst/dataprotocol/dp-private.h:
28978
28979 2005-05-15  David Schleef  <ds@schleef.org>
28980
28981         * gst/elements/gstelements.c: Don't include headers that were
28982         just removed.
28983
28984 2005-05-15  David Schleef  <ds@schleef.org>
28985
28986         * gst/elements/Makefile.am: Remove some elements that don't
28987         need to be in the core (or even exist at all).
28988         * gst/elements/gstaggregator.c:
28989         * gst/elements/gstaggregator.h:
28990         * gst/elements/gstmd5sink.c:
28991         * gst/elements/gstmd5sink.h:
28992         * gst/elements/gstmultifilesrc.c:
28993         * gst/elements/gstmultifilesrc.h:
28994         * gst/elements/gstpipefilter.c:
28995         * gst/elements/gstpipefilter.h:
28996         * gst/elements/gstshaper.c:
28997         * gst/elements/gstshaper.h:
28998         * gst/elements/gststatistics.c:
28999         * gst/elements/gststatistics.h:
29000         * po/POTFILES.in: Remove above files.
29001
29002 2005-05-14  Andy Wingo  <wingo@pobox.com>
29003
29004         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
29005         so as to get the refs right.
29006         (sink_iterator_filter): New function, wraps bin_element_is_sink,
29007         unreffing objects that don't pass the filter.
29008
29009         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
29010         gst_element_set_bus.
29011         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
29012         normal cases, this will destroy the bus.
29013
29014         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
29015         object.
29016
29017         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
29018         has no sinks.
29019
29020 2005-05-13  Andy Wingo  <wingo@pobox.com>
29021
29022         * gst/gstutils.c (gst_element_link_pads): Instead of calling
29023         gst_pad_link, call pad_link_maybe_ghosting,
29024         (pad_link_maybe_ghosting): Links pads, making sure that the
29025         elements being linked are in the same bin.
29026         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
29027         Helpers for pad_link_maybe_ghosting.
29028
29029 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
29030
29031         * configure.ac:
29032           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
29033
29034 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
29035
29036         * docs/design/part-element-source.txt:
29037           Mention GstPushSrc
29038
29039 2005-05-12  Wim Taymans  <wim@fluendo.com>
29040
29041         * gst/base/gstbasesink.c: (gst_basesink_init),
29042         (gst_basesink_activate):
29043         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
29044         (gst_basesrc_is_seekable):
29045         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
29046         (bin_element_is_sink), (gst_bin_change_state):
29047         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
29048         * gst/gstelement.h:
29049         Identify sinks by their flag to avoid overly complicated
29050         checks (fow now).
29051         Do state changes even for elements not reachable from the
29052         sinks.
29053         BaseSink is a sink now :)
29054         Some more debugging info in the basesrc.
29055
29056
29057 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29058
29059         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
29060           Implement _query on a bin, similar to _send_event.
29061
29062 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
29063
29064         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
29065           Discont event offset format should be GST_FORMAT_BYTES,
29066           not GST_FORMAT_TIME.
29067
29068 2005-05-12  Wim Taymans  <wim@fluendo.com>
29069
29070         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
29071         Same fix as Ronald's but without the signal. 
29072
29073 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29074
29075         * gst/gstutils.c: (gst_element_query_position):
29076           No, an element is not a pad.
29077
29078 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29079
29080         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
29081         (gst_bin_get_state):
29082           If a child is removed from a bin while we remove the child from
29083           the bin and while we're retrieving its state, signal this to the
29084           get_state function so we abort the wait (instead of waiting for
29085           a timeout) and can immediately re-iterate over all other elements.
29086
29087 2005-05-12  Wim Taymans  <wim@fluendo.com>
29088
29089         * gst/base/Makefile.am:
29090         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
29091         (gst_basesrc_start):
29092         * gst/base/gstbasesrc.h:
29093         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
29094         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
29095         (gst_pushsrc_init), (gst_pushsrc_create):
29096         * gst/base/gstpushsrc.h:
29097         Added is_seekable to BaseSrc
29098         Added simple PushSrc.
29099
29100 2005-05-11  Wim Taymans  <wim@fluendo.com>
29101
29102         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
29103         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29104         (gst_element_link_pads), (gst_element_query_position),
29105         (gst_element_query_convert), (intersect_caps_func),
29106         (gst_pad_query_position), (gst_pad_query_convert):
29107         Fix refcounting in utils function.
29108         No point in trying to activate a pad when it's added, it could
29109         be added from the state change function and then we deadlock, the
29110         element has to decide what to do.
29111
29112 2005-05-10  Andy Wingo  <wingo@pobox.com>
29113
29114         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
29115         *all* the arguments.
29116
29117         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
29118         stream lock if it's a FLUSH_DONE; normal flushes don't get the
29119         lock (according to the docs -- if this is wrong change the docs).
29120
29121         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
29122         flush messages in the NULL state.
29123
29124         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
29125         message immediately and return.
29126         (gst_bus_set_flushing): New function. If a bus is flushing, it
29127         flushes out any queued messages and immediately unrefs new
29128         messages. This is so when an element goes to NULL, all of the
29129         unhandled messages coming from it can be freed, and their
29130         references to the element dropped. In other words: message source
29131         ref considered harmful :P
29132
29133         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
29134         we're finished with it.
29135
29136         * gst/gstmessage.c (gst_message_new_state_changed): 
29137
29138 2005-05-10  Wim Taymans  <wim@fluendo.com>
29139
29140         * gst/gstvalue.c: (gst_value_compare_flags),
29141         (gst_value_serialize_flags), (gst_value_deserialize_flags),
29142         (_gst_value_initialize):
29143         Added flags serialize/deserialize/compare code.
29144
29145 2005-05-09  Andy Wingo  <wingo@pobox.com>
29146
29147         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
29148         Intersect the peer's caps with our caps.
29149
29150 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29151
29152         * gst/base/gsttypefindhelper.c: (helper_find_peek):
29153         * gst/elements/gsttypefindelement.c: (find_peek):
29154           Handle negative offsets better. Fixes decodebin.
29155
29156 2005-05-09  Wim Taymans  <wim@fluendo.com>
29157
29158         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
29159         (gst_base_transform_event):
29160         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
29161         Implement accept_caps.
29162         Fix silly lock/unlock mismatch in base class.
29163
29164 2005-05-09  Wim Taymans  <wim@fluendo.com>
29165
29166         * docs/design/draft-push-pull.txt:
29167         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
29168         * gst/elements/gstfilesink.c: (gst_filesink_init),
29169         (gst_filesink_query):
29170         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29171         (gst_type_find_handle_src_query), (find_element_get_length):
29172         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
29173         * gst/gstelement.h:
29174         * gst/gstmessage.c:
29175         * gst/gstmessage.h:
29176         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
29177         (gst_real_pad_get_caps_unlocked),
29178         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
29179         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29180         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
29181         (gst_real_pad_dispose), (gst_real_pad_finalize),
29182         (gst_pad_load_and_link), (gst_pad_save_thyself),
29183         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
29184         (gst_pad_check_pull_range), (gst_pad_pull_range),
29185         (gst_pad_template_get_type), (gst_pad_template_class_init),
29186         (gst_pad_template_init), (gst_pad_template_dispose),
29187         (name_is_valid), (gst_static_pad_template_get),
29188         (gst_pad_template_new), (gst_static_pad_template_get_caps),
29189         (gst_pad_template_get_caps), (gst_pad_set_element_private),
29190         (gst_pad_get_element_private), (gst_pad_start_task),
29191         (gst_pad_pause_task), (gst_pad_stop_task),
29192         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
29193         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
29194         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
29195         (gst_ghost_pad_new):
29196         * gst/gstpad.h:
29197         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
29198         (gst_query_new_position), (gst_query_set_position),
29199         (gst_query_parse_position), (gst_query_new_convert),
29200         (gst_query_set_convert), (gst_query_parse_convert):
29201         * gst/gstquery.h:
29202         * gst/gstqueryutils.c:
29203         * gst/gstqueryutils.h:
29204         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
29205         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
29206         (gst_queue_handle_src_query):
29207         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29208         (gst_element_query_position), (gst_element_query_convert),
29209         (intersect_caps_func), (gst_pad_query_position),
29210         (gst_pad_query_convert):
29211         * gst/gstutils.h:
29212         * tools/gst-inspect.c: (print_pad_info):
29213         * tools/gst-xmlinspect.c: (print_element_info):
29214         Remove old query functions. Ported old code.
29215         Added position/convert helper functions to gstutils.
29216         Reordered gstpad.c code, grouping relevant things.
29217         Remove gst_message_new(), always need to speficy a specific
29218         message.
29219
29220
29221 2005-05-09  Andy Wingo  <wingo@pobox.com>
29222
29223         * gst/gstiterator.h: Add some includes.
29224
29225         * gst/gstqueryutils.h: Include more headers.
29226
29227         * gst/gstpad.h:
29228         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
29229         some uses of gst_pad_query.
29230
29231         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
29232         NULL out parameters.
29233         (gst_query_new_position): New proc, allocates a new position
29234         query.
29235
29236         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
29237         gstqueryutils.c to the build.
29238
29239         * gst/gststructure.c (gst_structure_set_valist): Implement with
29240         the generic G_VALUE_COLLECT.
29241         
29242 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
29243
29244         * gst/Makefile.am: (gst_headers):
29245         Added gstqueryutils.h to the list of headers to install, that was
29246         a 'nachty' move wingo :)
29247
29248 2005-05-06  Andy Wingo  <wingo@pobox.com>
29249
29250         * gst/gstquery.h
29251         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
29252         GstData, init a memchunk.
29253         (standard_definitions): Add a few query types, deprecate a few.
29254         (gst_query_get_type): New proc.
29255         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
29256         implementation.
29257         (gst_query_new_application, gst_query_get_structure): New public
29258         procs.
29259
29260         * docs/design/draft-query.txt: Removed LINKS from the query types,
29261         because all the rest can be dispatched to other pads -- seemed
29262         ugly to have a query that couldn't be dispatched. internal_links
29263         is fine as a pad method.
29264
29265         * gst/gstpad.h: Add query2 as a pad method, add the new functions
29266         in gstpad.c, but maintain binary compatibility for the moment.
29267         Will fix before 0.9 is out.
29268
29269         * gst/gstqueryutils.c: 
29270         * gst/gstqueryutils.h: New files, implement 3 methods for each
29271         query type: parse_query, parse_response, and set. Probably need an
29272         allocator as well.
29273
29274         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
29275
29276         * gst/elements/gstfilesink.c (gst_filesink_query2):
29277         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
29278         query_types, and formats methods.
29279
29280         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
29281         (gst_pad_set_query2_function): New functions.
29282         (gst_real_pad_init): Set query2_default as the default query2
29283         function. Basically just dispatches to internally linked pads.
29284
29285         Needs review!
29286         
29287         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
29288         without using the atomic operations. Only one thread can possibly
29289         be accessing the data at this point. Changed so as to avoid
29290         gst_atomic operations.
29291
29292 2005-05-06  Wim Taymans  <wim@fluendo.com>
29293
29294         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
29295         Also set caps if we use the fallback buffer alloc.
29296
29297 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
29298
29299         * docs/gst/Makefile.am:
29300         * docs/gst/gstreamer-docs.sgml:
29301         * docs/gst/gstreamer-sections.txt:
29302         * docs/gst/tmpl/gstatomic.sgml:
29303         * docs/gst/tmpl/gstmemchunk.sgml:
29304         * testsuite/elements/struct_i386.h:
29305         * win32/GStreamer.vcproj:
29306         * win32/Makefile:
29307           Purge GstAtomic stuff from docs and win32 makefiles as well
29308
29309 2005-05-06  Wim Taymans  <wim@fluendo.com>
29310
29311         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
29312         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
29313         * gst/gstpad.c: (gst_pad_peer_get_caps):
29314         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
29315         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
29316         (gst_queue_src_activate), (gst_queue_change_state):
29317         * gst/gstqueue.h:
29318         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29319         (intersect_caps_func):
29320         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
29321         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
29322         Some fixes for the peer_get_caps() change.
29323
29324 2005-05-06  Wim Taymans  <wim@fluendo.com>
29325
29326         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29327         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
29328         (gst_basesink_activate):
29329         Actually do something with error codes returned from the push
29330         functions.
29331
29332 2005-05-06  Wim Taymans  <wim@fluendo.com>
29333
29334         * docs/design/part-element-sink.txt:
29335         * docs/design/part-element-source.txt:
29336         * gst/base/gstbasesink.c: (gst_basesink_class_init),
29337         (gst_basesink_event), (gst_basesink_activate):
29338         * gst/base/gstbasesink.h:
29339         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
29340         (gst_basesrc_activate):
29341         * gst/base/gstbasesrc.h:
29342         * gst/gstelement.c: (gst_element_pads_activate):
29343         Some more documentation.
29344         Fixed scheduling decision in _pads_activate().
29345
29346 2005-05-05  Andy Wingo  <wingo@pobox.com>
29347
29348         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
29349         the test suite.
29350
29351 2005-05-05  Wim Taymans  <wim@fluendo.com>
29352
29353         * gst/base/Makefile.am:
29354         * gst/base/gstbasesink.h:
29355         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29356         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
29357         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
29358         (gst_collectpads_class_init), (gst_collectpads_init),
29359         (gst_collectpads_finalize), (gst_collectpads_new),
29360         (gst_collectpads_set_function), (gst_collectpads_add_pad),
29361         (find_pad), (gst_collectpads_remove_pad),
29362         (gst_collectpads_is_active), (gst_collectpads_collect),
29363         (gst_collectpads_collect_range), (gst_collectpads_start),
29364         (gst_collectpads_stop), (gst_collectpads_peek),
29365         (gst_collectpads_pop), (gst_collectpads_available),
29366         (gst_collectpads_read), (gst_collectpads_flush),
29367         (gst_collectpads_chain):
29368         * gst/base/gstcollectpads.h:
29369         * gst/elements/Makefile.am:
29370         * gst/elements/gstelements.c:
29371         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29372         (gst_fakesink_get_times), (gst_fakesink_event),
29373         (gst_fakesink_preroll), (gst_fakesink_render):
29374         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
29375         (gst_filesink_init), (gst_filesink_set_location),
29376         (gst_filesink_open_file), (gst_filesink_close_file),
29377         (gst_filesink_pad_query), (gst_filesink_event),
29378         (gst_filesink_render), (gst_filesink_change_state):
29379         * gst/elements/gstfilesink.h:
29380         Added object to help in making collect pad based elements.
29381         Ported filesink.
29382         Make event function in sink baseclass return gboolean.
29383
29384 2005-05-05  Wim Taymans  <wim@fluendo.com>
29385
29386         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
29387         (gst_bin_get_by_name):
29388         * gst/gstbuffer.h:
29389         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
29390         (gst_clock_finalize):
29391         * gst/gstdata.c: (gst_data_replace):
29392         * gst/gstdata.h:
29393         * gst/gstelement.c: (gst_element_request_pad),
29394         (gst_element_pads_activate):
29395         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
29396         (gst_object_unref):
29397         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29398         (gst_pad_set_checkgetrange_function),
29399         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
29400         (gst_pad_check_pull_range), (gst_pad_pull_range),
29401         (gst_static_pad_template_get_caps), (gst_pad_start_task),
29402         (gst_pad_pause_task), (gst_pad_stop_task):
29403         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29404         (gst_element_request_pad), (gst_pad_proxy_getcaps):
29405         Fix name lookup in GstBin.
29406         Added _data_replace() function and _buffer_replace()
29407         Use finalize method to clean up clock.
29408         Fix refcounting on request pads.
29409         Fix pad schedule mode error.
29410         Some more object refcounting debug info,
29411
29412
29413 2005-05-04  Andy Wingo <wingo@pobox.com>
29414
29415         * check/Makefile.am:
29416         * docs/gst/tmpl/gstatomic.sgml:
29417         * docs/gst/tmpl/gstplugin.sgml:
29418         * gst/base/gstbasesink.c: (gst_basesink_activate):
29419         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
29420         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
29421         (gst_basesrc_query), (gst_basesrc_set_property),
29422         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
29423         (gst_basesrc_activate):
29424         * gst/base/gstbasesrc.h:
29425         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
29426         (gst_base_transform_src_activate):
29427         * gst/elements/gstelements.c:
29428         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29429         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29430         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29431         * gst/elements/gsttypefindelement.c: (find_element_get_length),
29432         (gst_type_find_element_checkgetrange),
29433         (gst_type_find_element_activate):
29434         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
29435         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
29436         (gst_caps_load_thyself):
29437         * gst/gstelement.c: (gst_element_pads_activate),
29438         (gst_element_save_thyself), (gst_element_restore_thyself):
29439         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
29440         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
29441         * gst/gstpad.h:
29442         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
29443         (gst_xml_parse_file), (gst_xml_parse_memory),
29444         (gst_xml_get_element), (gst_xml_make_element):
29445         * gst/indexers/gstfileindex.c: (gst_file_index_load),
29446         (_file_index_id_save_xml), (gst_file_index_commit):
29447         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
29448         (read_enum), (load_pad_template), (load_feature), (load_plugin),
29449         (load_paths):
29450         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
29451         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
29452         * tools/gst-complete.c: (main):
29453         * tools/gst-compprep.c: (main):
29454         * tools/gst-inspect.c: (print_element_properties_info):
29455         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
29456         * tools/gst-xmlinspect.c: (print_element_properties):
29457         GCC 4 fixen.
29458         
29459 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
29460
29461         * gst/gstplugin.c: (gst_plugin_check_module),
29462         (gst_plugin_check_file), (gst_plugin_load_file):
29463             apply patch from #172526 to make register work on MacOSX
29464
29465 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
29466
29467         * docs/gst/tmpl/gstconfig.sgml:
29468         * gst/gstconfig.h.in:
29469           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
29470         * testsuite/debug/printf_extension.c: (main):
29471           Do not use GST_PTR_FORMAT on pointers to types with
29472           sizeof < sizeof(gpointer).  Fixes test on 64-bit
29473         * testsuite/elements/property.h:
29474           use correct printf format
29475
29476 2005-05-02  Wim Taymans  <wim@fluendo.com>
29477
29478         * docs/design/draft-push-pull.txt:
29479         * docs/design/draft-query.txt:
29480         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
29481         (gst_basesrc_start):
29482         Added draft for new query API.
29483         Added draft for better selecting scheduling methods.
29484         Make basesrc ignore length if the subclass does not support
29485         it.
29486
29487 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
29488
29489         * gst/Makefile.am:
29490           possible fixes for automake-1.5 - _LIBADD is reserved
29491
29492 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
29493
29494         * docs/faq/Makefile.am:
29495         * docs/manual/Makefile.am:
29496         * docs/manuals.mak:
29497         * docs/pwg/Makefile.am:
29498         * gst/Makefile.am:
29499           possible fixes for automake-1.5
29500
29501 2005-04-28  Wim Taymans  <wim@fluendo.com>
29502
29503         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29504         (gst_basesink_pad_getcaps), (gst_basesink_init),
29505         (gst_basesink_do_sync):
29506         * gst/gstclock.c: (gst_clock_entry_new):
29507         * gst/gstevent.c: (gst_event_discont_get_value):
29508         * gst/gstpipeline.c: (pipeline_bus_handler),
29509         (gst_pipeline_change_state):
29510         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
29511         Better debugging of clocking info.
29512         Allow NULL values when getting discont values.
29513
29514 2005-04-27  Wim Taymans  <wim@fluendo.com>
29515
29516         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
29517         * check/gst/gstpad.c: (gst_pad_suite):
29518         Increase timeout for checks.
29519
29520 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
29521
29522         * check/Makefile.am:
29523           fix the broken rule for cleanup.  Apparently this rule is
29524           only needed on FC2, so maybe this warrants further autotool
29525           inspection.
29526
29527 2005-04-26  Wim Taymans  <wim@fluendo.com>
29528
29529         * gst/gsttrashstack.h:
29530         Ooohh. a nasty one! After having a failed pop() from the stack,
29531         it's possible that the stack is empty. In that case, don't
29532         follow the NULL pointer.
29533
29534 2005-04-25  Wim Taymans  <wim@fluendo.com>
29535
29536         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29537         (gst_pad_set_checkgetrange_function),
29538         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
29539         (gst_pad_check_pull_range), (gst_pad_pull_range),
29540         (gst_static_pad_template_get_caps), (gst_pad_start_task),
29541         (gst_pad_pause_task), (gst_pad_stop_task):
29542         * gst/gstplugin.c: (gst_plugin_load):
29543         * gst/gstplugin.h:
29544         Remove gst_library_load as it does more harm than good with
29545         the new g_module flags.
29546         Revert bogus caps template check in pad linking, pad caps
29547         are important when linking not the template, which is more
29548         general than the current caps.
29549
29550 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29551
29552         * gst/autoplug/.cvsignore:
29553         * gst/autoplug/Makefile.am:
29554         * gst/autoplug/gstsearchfuncs.c:
29555         * gst/autoplug/gstsearchfuncs.h:
29556         * gst/autoplug/gstspider.c:
29557         * gst/autoplug/gstspider.h:
29558         * gst/autoplug/gstspideridentity.c:
29559         * gst/autoplug/gstspideridentity.h:
29560         * gst/autoplug/spidertest.c:
29561           Die, spider, die.
29562
29563 2005-04-25  Wim Taymans  <wim@fluendo.com>
29564
29565         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29566         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
29567         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
29568         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
29569         * gst/gstpad.h:
29570         Added stubs for unimplemented functions. 
29571
29572 2005-04-24  David Schleef  <ds@schleef.org>
29573
29574         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
29575         please fix.
29576
29577 2005-04-24  David Schleef  <ds@schleef.org>
29578
29579         Convert everything from GstAtomicInt to g_atomic_int_*, and
29580         remove gstatomic.
29581         * gst/Makefile.am:
29582         * gst/gstatomic.c:
29583         * gst/gstatomic.h:
29584         * gst/gstatomic_impl.h:
29585         * gst/gstbuffer.c:
29586         * gst/gstcaps.c:
29587         * gst/gstcaps.h:
29588         * gst/gstclock.c:
29589         * gst/gstclock.h:
29590         * gst/gstdata.c:
29591         * gst/gstdata.h:
29592         * gst/gstdata_private.h:
29593         * gst/gstevent.c:
29594         * gst/gstinfo.c:
29595         * gst/gstinfo.h:
29596         * gst/gstmessage.c:
29597         * gst/gstobject.c:
29598         * gst/gstobject.h:
29599         * gst/gststructure.c:
29600         * gst/gststructure.h:
29601         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
29602         * gst/gstutils.h:
29603
29604 2005-04-24  David Schleef  <ds@schleef.org>
29605
29606         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
29607         make the regressions tests work.  Remove some code that is no
29608         longer true.
29609         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
29610         Disable warning for pads without templates.
29611
29612 2005-04-24  David Schleef  <ds@schleef.org>
29613
29614         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
29615         functions that handle filtered links.
29616         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
29617         removed functions.
29618         * gst/gstutils.c: Fix/remove utility functions that handle
29619         filtered caps.
29620         * gst/gstutils.h:
29621         * gst/gstvalue.c: Add serialization/deserialization of caps
29622         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
29623         requires fixing so that the filter caps notation creates
29624         a capsfilter element and sets the filter_caps property.  I
29625         think everyone probably wants to keep the shorthand notation.
29626         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
29627         * docs/gst/tmpl/gstpad.sgml:
29628
29629         * gst/elements/gstelements.c: Register capsfilter element.
29630         * gst/Makefile.am: fix spacing
29631         * docs/random/ds/0.9-suggested-changes: random
29632
29633 2005-04-23  David Schleef  <ds@schleef.org>
29634
29635         * gst/elements/Makefile.am:
29636         * gst/elements/gstcapsfilter.c: New element that acts like an
29637         identity, but filters caps.  Will eventually replace filtered
29638         caps in pad linking.
29639         * gst/gstutils.c: (gst_element_create_all_pads): New function
29640         to create all the ALWAYS pads that are registered with an
29641         element class.  This functionality should eventually be
29642         merged in with GstElement initialization.
29643         * gst/gstutils.h:
29644         * testsuite/trigger/README: part of trigger test code that should
29645         have been checked in a long time ago.
29646
29647 2005-04-23  David Schleef  <ds@schleef.org>
29648
29649         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
29650         needed with new versions of libtool (nobody will confirm this),
29651         and hard to carry around.
29652         * gst/autoplug/Makefile.am:
29653         * gst/base/Makefile.am:
29654         * gst/elements/Makefile.am:
29655         * gst/indexers/Makefile.am:
29656         * gst/schedulers/Makefile.am:
29657         * libs/gst/bytestream/Makefile.am:
29658         * libs/gst/control/Makefile.am:
29659         * libs/gst/dataprotocol/Makefile.am:
29660         * libs/gst/getbits/Makefile.am:
29661
29662 2005-04-21  Wim Taymans  <wim@fluendo.com>
29663
29664         * docs/design/draft-push-pull.txt:
29665         * docs/design/part-MT-refcounting.txt:
29666         * docs/design/part-TODO.txt:
29667         * docs/design/part-caps.txt:
29668         * docs/design/part-events.txt:
29669         * docs/design/part-gstbus.txt:
29670         * docs/design/part-gstpipeline.txt:
29671         * docs/design/part-messages.txt:
29672         * docs/design/part-push-pull.txt:
29673         * docs/design/part-query.txt:
29674         Some more docs.
29675
29676 2005-04-21  Wim Taymans  <wim@fluendo.com>
29677
29678         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
29679         (gst_message_new), (gst_message_new_error),
29680         (gst_message_new_warning), (gst_message_new_tag),
29681         (gst_message_new_state_changed), (gst_message_new_application),
29682         (gst_message_get_structure):
29683         * gst/gstmessage.h:
29684         * gst/gststructure.c: (gst_structure_set_parent_refcount),
29685         (gst_structure_copy_conditional):
29686         Use parent refcount in GstMessage to ensure GstStructure
29687         consistency.
29688         Cleaned up headers a bit.
29689         
29690
29691 2005-04-20  Wim Taymans  <wim@fluendo.com>
29692
29693         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29694         (gst_basesink_pad_getcaps), (gst_basesink_init),
29695         (gst_basesink_chain_unlocked):
29696         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
29697         (gst_type_find_helper):
29698         * gst/elements/gsttypefindelement.c:
29699         (gst_type_find_element_have_type), (gst_type_find_element_init),
29700         (stop_typefinding), (gst_type_find_element_handle_event),
29701         (find_suggest), (gst_type_find_element_chain),
29702         (gst_type_find_element_checkgetrange),
29703         (gst_type_find_element_getrange), (do_typefind),
29704         (gst_type_find_element_activate):
29705         * gst/gstbuffer.c: (_gst_buffer_sub_free),
29706         (gst_buffer_default_free), (gst_buffer_default_copy),
29707         (gst_buffer_set_caps):
29708         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
29709         (gst_caps_replace):
29710         * gst/gstmessage.c: (gst_message_new),
29711         (gst_message_new_state_changed):
29712         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29713         (gst_pad_set_checkgetrange_function),
29714         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
29715         (gst_pad_set_caps), (gst_pad_check_pull_range),
29716         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
29717         * gst/gstpad.h:
29718         * gst/gsttypefind.c: (gst_type_find_register):
29719         Make gst_caps_replace() work like other _replace() functions.
29720         Use _caps_replace() where possible.
29721         Make sure _message_new() initialises its field.
29722         Add gst_static_pad_template_get_caps()
29723
29724
29725 2005-04-18  Andy Wingo  <wingo@pobox.com>
29726
29727         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
29728         on the peer, not the pad. I think that was a typo. Pass an extra
29729         arg to see if random access is possible. Activate the pads as
29730         PULL_RANGE if possible.
29731
29732         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
29733
29734         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
29735         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
29736         to PROP_....
29737
29738 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29739
29740         * docs/faq/using.xml:
29741           Add note on gstreamer-properties (#154996).
29742
29743 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29744
29745         * docs/random/bbb/optional-properties:
29746           Some analysis on optional properties.
29747
29748 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29749
29750         * docs/gst/tmpl/gstelementfactory.sgml:
29751         * gst/gstelement.h:
29752         * gst/gstelementfactory.c: (gst_element_factory_init),
29753         (gst_element_factory_cleanup), (gst_element_register),
29754         (__gst_element_factory_add_static_pad_template),
29755         (gst_element_factory_get_static_pad_templates),
29756         (gst_element_factory_can_src_caps),
29757         (gst_element_factory_can_sink_caps):
29758         * gst/registries/Makefile.am:
29759         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
29760         (gst_xml_registry_class_init), (gst_xml_registry_init),
29761         (gst_xml_registry_new), (gst_xml_registry_set_property),
29762         (gst_xml_registry_get_property), (get_time), (make_dir),
29763         (gst_xml_registry_get_perms_func),
29764         (plugin_times_older_than_recurse), (plugin_times_older_than),
29765         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
29766         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
29767         (add_to_char_array), (read_string), (read_uint), (read_enum),
29768         (load_pad_template), (load_feature), (load_plugin), (load_paths),
29769         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
29770         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
29771         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
29772         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
29773         (gst_xml_registry_rebuild):
29774         * gst/registries/gstlibxmlregistry.h:
29775         * tools/gst-compprep.c: (main):
29776         * tools/gst-inspect.c: (print_pad_templates_info):
29777         * tools/gst-xmlinspect.c: (print_element_info):
29778           Use libxml2 for registry parsing, use staticpadtemplates in
29779           elementfactories. Makes gst_init() +/- 10x faster.
29780
29781 2005-04-12  Wim Taymans  <wim@fluendo.com>
29782
29783         * gst/base/Makefile.am:
29784         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29785         (gst_basesink_pad_getcaps), (gst_basesink_init),
29786         (gst_basesink_event), (gst_basesink_change_state):
29787         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29788         (gst_basesrc_init), (gst_basesrc_query),
29789         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
29790         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
29791         (gst_basesrc_check_get_range), (gst_basesrc_loop),
29792         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
29793         (gst_basesrc_stop), (gst_basesrc_activate),
29794         (gst_basesrc_change_state):
29795         * gst/base/gsttypefindhelper.c: (helper_find_peek),
29796         (helper_find_suggest), (gst_type_find_helper):
29797         * gst/base/gsttypefindhelper.h:
29798         * gst/elements/Makefile.am:
29799         * gst/elements/gstelements.c:
29800         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29801         (gst_fakesink_get_times), (gst_fakesink_event),
29802         (gst_fakesink_preroll), (gst_fakesink_render):
29803         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29804         (gst_fakesrc_init), (gst_fakesrc_event_handler),
29805         (gst_fakesrc_get_property), (gst_fakesrc_create),
29806         (gst_fakesrc_start), (gst_fakesrc_stop):
29807         * gst/elements/gstfakesrc.h:
29808         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
29809         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
29810         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
29811         (gst_filesrc_create_read), (gst_filesrc_create),
29812         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
29813         (gst_filesrc_start):
29814         * gst/elements/gsttypefindelement.c:
29815         (gst_type_find_element_have_type), (gst_type_find_element_init),
29816         (start_typefinding), (stop_typefinding), (push_buffer_store),
29817         (gst_type_find_element_handle_event),
29818         (gst_type_find_element_chain),
29819         (gst_type_find_element_checkgetrange),
29820         (gst_type_find_element_getrange), (do_typefind),
29821         (gst_type_find_element_activate),
29822         (gst_type_find_element_change_state):
29823         * gst/elements/gsttypefindelement.h:
29824         * gst/gstpipeline.c: (pipeline_bus_handler):
29825         Added typefind helper.
29826         Small preroll fix in the base sink.
29827         Disable typefind code in basesrc.
29828         Crude port of typefindelement.
29829         Fakesrc cleanups.
29830
29831
29832 2005-04-11  Wim Taymans  <wim@fluendo.com>
29833
29834         * check/gst/gstbus.c: (gstbus_suite):
29835         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
29836         * check/gstcheck.h:
29837           Fix up the timeout so that the test does not fail.
29838
29839 2005-04-06  Wim Taymans  <wim@fluendo.com>
29840
29841         * gst/base/README:
29842         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29843         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
29844         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
29845         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
29846         (gst_basesrc_check_get_range), (gst_basesrc_loop),
29847         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
29848         (gst_basesrc_stop), (gst_basesrc_activate),
29849         (gst_basesrc_change_state), (basesrc_find_peek),
29850         (basesrc_find_suggest), (gst_basesrc_type_find):
29851         * gst/base/gstbasesrc.h:
29852         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
29853         (gst_filesrc_class_init), (gst_filesrc_init),
29854         (gst_filesrc_finalize), (gst_filesrc_set_location),
29855         (gst_filesrc_set_property), (gst_filesrc_get_property),
29856         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
29857         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
29858         (gst_filesrc_create_read), (gst_filesrc_create),
29859         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
29860         * gst/elements/gstfilesrc.h:
29861         * gst/gstelement.c: (gst_element_get_state_func),
29862         (gst_element_lost_state), (gst_element_pads_activate):
29863         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29864         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
29865         (gst_pad_pull_range):
29866         * gst/gstpad.h:
29867         More work on the generic source base class, implement seeking,
29868         query.
29869         Make filesrc extend the base source class.
29870         Added gst_pad_set_checkgetrange_function to GstPad.
29871
29872 2005-04-06  Andy Wingo  <wingo@pobox.com>
29873
29874         * pkgconfig/gstreamer-base.pc.in:
29875         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
29876
29877         * pkgconfig/Makefile.am:
29878         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
29879
29880 2005-04-04  Wim Taymans  <wim@fluendo.com>
29881
29882         * gst/base/Makefile.am:
29883         * gst/base/README:
29884         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29885         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
29886         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
29887         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
29888         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29889         (gst_basesrc_base_init), (gst_basesrc_class_init),
29890         (gst_basesrc_init), (gst_basesrc_get_formats),
29891         (gst_basesrc_get_query_types), (gst_basesrc_query),
29892         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
29893         (gst_basesrc_set_property), (gst_basesrc_get_property),
29894         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
29895         (gst_basesrc_loop), (gst_basesrc_activate),
29896         (gst_basesrc_change_state):
29897         * gst/base/gstbasesrc.h:
29898         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
29899         (gst_fakesrc_class_init), (gst_fakesrc_init),
29900         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
29901         (gst_fakesrc_get_property), (gst_fakesrc_create):
29902         * gst/elements/gstfakesrc.h:
29903         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
29904         (gst_filesrc_open_file), (gst_filesrc_loop),
29905         (gst_filesrc_activate), (filesrc_find_peek),
29906         (gst_filesrc_type_find):
29907         Made base source class, make fakesrc extend it.
29908         Add comments to basesink class.
29909         Some filesrc cleanup.
29910
29911 2005-03-31  David Schleef  <ds@schleef.org>
29912
29913         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
29914         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
29915         expected to link against libgstreamer.
29916         * gst/base/Makefile.am: link against libgstreamer
29917         * gst/elements/Makefile.am: same
29918
29919 2005-03-31  Andy Wingo  <wingo@pobox.com>
29920
29921         * tests/instantiate/Makefile.am:
29922         * tests/instantiate/caps.c: Add test to test speed of caps copy
29923         and free.
29924
29925         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
29926         GMemChunk to be fair.
29927
29928         * gst/gsttrashstack.h: Remove warning about using the fallback
29929         trash stack implementation, it's still faster than malloc.
29930
29931 2005-03-30  Andy Wingo  <wingo@pobox.com>
29932
29933         * tests/complexity.c: Add a copyright.
29934
29935 2005-03-31  Wim Taymans  <wim@fluendo.com>
29936
29937         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
29938         (gst_base_transform_class_init), (gst_base_transform_init),
29939         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
29940         (gst_base_transform_get_property),
29941         (gst_base_transform_sink_activate),
29942         (gst_base_transform_src_activate),
29943         (gst_base_transform_change_state):
29944         * gst/base/gstbasetransform.h:
29945         * gst/elements/gstidentity.c: (gst_identity_class_init),
29946         (gst_identity_event), (gst_identity_check_perfect),
29947         (gst_identity_transform), (gst_identity_start),
29948         (gst_identity_stop):
29949         Added start/stop methods to transform base class so subclasses 
29950         don't need to deal with state changes even.
29951
29952 2005-03-31  Wim Taymans  <wim@fluendo.com>
29953
29954         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
29955         (gst_event_new_discontinuous), (gst_event_discont_get_value):
29956         * gst/gstevent.h:
29957         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29958         (gst_pad_pull_range):
29959         Added rate to the discont event to prepare for variable speed
29960         and reverse playback.
29961
29962 2005-03-29  David Schleef  <ds@schleef.org>
29963
29964         * configure.ac:
29965         * testsuite/trigger/Makefile.am:
29966         * testsuite/trigger/trigger.c: A little example program to show
29967         how trigger-based elements can work.
29968
29969 2005-03-29  Wim Taymans  <wim@fluendo.com>
29970
29971         * gst/base/Makefile.am:
29972         * gst/base/README:
29973         * gst/base/gstbasesink.c: (gst_basesink_get_type),
29974         (gst_basesink_base_init), (gst_basesink_class_init),
29975         (gst_basesink_pad_getcaps), (gst_basesink_init),
29976         (gst_basesink_activate), (gst_basesink_change_state):
29977         * gst/base/gstbasesink.h:
29978         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
29979         (gst_base_transform_base_init), (gst_base_transform_finalize),
29980         (gst_base_transform_class_init), (gst_base_transform_init),
29981         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
29982         (gst_base_transform_event), (gst_base_transform_getrange),
29983         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
29984         (gst_base_transform_set_property),
29985         (gst_base_transform_get_property),
29986         (gst_base_transform_sink_activate),
29987         (gst_base_transform_src_activate),
29988         (gst_base_transform_change_state):
29989         * gst/base/gstbasetransform.h:
29990         * gst/elements/gstidentity.c: (gst_identity_finalize),
29991         (gst_identity_class_init), (gst_identity_init),
29992         (gst_identity_event), (gst_identity_check_perfect),
29993         (gst_identity_transform), (gst_identity_set_property),
29994         (gst_identity_get_property), (gst_identity_change_state):
29995         * gst/elements/gstidentity.h:
29996         * gst/gstelement.c: (gst_element_get_state_func),
29997         (gst_element_lost_state), (gst_element_pads_activate):
29998         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29999         (gst_pad_check_pull_range), (gst_pad_pull_range):
30000         * gst/gstpad.h:
30001         Simplify pad activation.
30002         Added function to check if pull_range can be performed.
30003         Error out when pulling inactive or flushing pads.
30004         Removed const from refcounted types as it does not make sense.
30005         Simplify pad templates in basesink
30006         Added base class for simple 1-to-1 transforms.
30007         Make identity subclass the base transform.
30008
30009 2005-03-29  Andy Wingo  <wingo@pobox.com>
30010
30011         * docs/libs/gstreamer-libs-overrides.txt: 
30012         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
30013         really don't understand what's going on, but like whatever. I want
30014         green buildbot!
30015
30016         * docs/gst/Makefile.am:
30017         * docs/libs/Makefile.am: Dist the overrides files.
30018
30019         * check/Makefile.am (clean-local): Remove .libs directories.
30020
30021         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
30022         elements to EXTRA_DIST, so po/ files are happy.
30023
30024         * po/POTFILES.in: Er, remove it here.
30025
30026         * po/POTFILES: Remove gstspider.c.
30027
30028         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
30029
30030         * docs/libs/gstreamer-libs-docs.sgml: 
30031         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
30032         bytestream.
30033
30034         * tests/complexity.c (main): Set the length of the preroll queue
30035         on the sinks to prevent a lockup.
30036
30037         * libs/gst/dataprotocol/Makefile.am: 
30038         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
30039         the same as the one in check/gst-libs/gdp.c.
30040
30041         * po/, docs/gst/: Commit automatic changes to docs and po files.
30042
30043         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
30044         the versioned libgstbase.
30045
30046         * check/Makefile.am: Depend on an unversioned gst-register, seems
30047         to make autoconf happier.
30048
30049         * gst/base/Makefile.am: Make libgstbase a versioned lib.
30050
30051 2005-03-28  Wim Taymans  <wim@fluendo.com>
30052
30053         * configure.ac:
30054         * docs/design/part-gstelement.txt:
30055         * docs/design/part-negotiation.txt:
30056         * docs/design/part-preroll.txt:
30057         * docs/design/part-scheduling.txt:
30058         * docs/design/part-states.txt:
30059         * gst/Makefile.am:
30060         * gst/base/Makefile.am:
30061         * gst/base/README:
30062         * gst/base/gstbasesink.c: (gst_basesink_get_template),
30063         (gst_basesink_base_init), (gst_basesink_class_init),
30064         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30065         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30066         (gst_basesink_set_pad_functions),
30067         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
30068         (gst_basesink_set_property), (gst_basesink_get_property),
30069         (gst_base_sink_get_template), (gst_base_sink_get_caps),
30070         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
30071         (gst_basesink_preroll_queue_push),
30072         (gst_basesink_preroll_queue_empty),
30073         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
30074         (gst_basesink_event), (gst_basesink_get_times),
30075         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
30076         (gst_basesink_chain_unlocked), (gst_basesink_chain),
30077         (gst_basesink_loop), (gst_basesink_activate),
30078         (gst_basesink_change_state):
30079         * gst/base/gstbasesink.h:
30080         * gst/elements/Makefile.am:
30081         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
30082         (gst_fakesink_class_init), (gst_fakesink_init),
30083         (gst_fakesink_set_property), (gst_fakesink_get_property),
30084         (gst_fakesink_get_times), (gst_fakesink_event),
30085         (gst_fakesink_preroll), (gst_fakesink_render),
30086         (gst_fakesink_change_state):
30087         * gst/elements/gstfakesink.h:
30088         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
30089         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
30090         * gst/gstelement.c: (gst_element_add_pad),
30091         (gst_element_get_state_func), (gst_element_abort_state),
30092         (gst_element_commit_state), (gst_element_lost_state),
30093         (gst_element_set_state), (gst_element_pads_activate):
30094         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
30095         * gst/gstpipeline.c: (gst_pipeline_send_event),
30096         (gst_pipeline_change_state):
30097         Added state change code.
30098         Added/updated docs.
30099         Added sink base class, make fakesink extend the base class.
30100         Small cleanups in GstPipeline.
30101
30102 2005-03-26  David Schleef  <ds@schleef.org>
30103
30104         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
30105         is broken and should be implemented in a different library.
30106         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
30107         * gst/gst.h: remove gstcpu.h
30108         * gst/gstcpu.c: remove
30109         * gst/gstcpu.h: remove
30110         * gst/Makefile.am.future: Remove this file.  It's ancient.
30111
30112 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30113
30114         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
30115         (gst_bin_send_event):
30116           Add default event/set_manager handlers. The set_manager handler
30117           takes care that the manager is distributed over kids that were
30118           already in the bin before the manager was set. The event handler
30119           is a utility virtual function that sends the event over all sinks,
30120           so that gst_element_send_event (bin, event); has the expected
30121           behaviour.
30122         * gst/gstpad.c: (gst_pad_event_default):
30123           Re-install default event handling for discontinuities, so that
30124           seeking works without requiring hacks in applications or extra
30125           code in sinks.
30126         * gst/gstpipeline.c: (gst_pipeline_class_init),
30127         (gst_pipeline_send_event):
30128           Half hack, half utility: set a pipeline to PAUSED for seek events,
30129           since that is the only way we can guarantee a/v sync. Means that
30130           you can do gst_element_seek (pipeline, method, pos); on a pipeline
30131           and it "just works".
30132
30133 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30134
30135         * gst/gstpipeline.c: (gst_pipeline_use_clock):
30136           Lock/unlock mismatch.
30137
30138 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
30139
30140         * docs/faq/gst-uninstalled:
30141           add gst-plugins-base
30142         * docs/gst/Makefile.am:
30143           don't error out until docs are fixed
30144         * docs/gst/gstreamer.types:
30145           remove thread
30146
30147 2005-03-22  Wim Taymans  <wim@fluendo.com>
30148
30149         * check/Makefile.am:
30150         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
30151         * gst/gststructure.c: (gst_structure_set_valist),
30152         (gst_structure_copy_conditional):
30153         Activated more tests.
30154         Added message test.
30155         Added G_TYPE_POINTER to GstStructure.
30156         
30157
30158 2005-03-22  Wim Taymans  <wim@fluendo.com>
30159
30160         * docs/design/part-TODO.txt:
30161         * docs/design/part-events.txt:
30162         * docs/design/part-gstbin.txt:
30163         * docs/design/part-gstbus.txt:
30164         * docs/design/part-gstpipeline.txt:
30165         * docs/design/part-messages.txt:
30166         * gst/gstbus.c:
30167         * gst/gstmessage.c:
30168         Docs updates
30169
30170 2005-03-21  Wim Taymans  <wim@fluendo.com>
30171
30172         * gst/gstbus.c: (gst_bus_post):
30173         Fix copy-and-paste error.
30174
30175 2005-03-21  Wim Taymans  <wim@fluendo.com>
30176
30177         * check/Makefile.am:
30178         * gst/Makefile.am:
30179         * gst/elements/Makefile.am:
30180         * gst/elements/gstelements.c:
30181         * gst/elements/gstfakesink.c: (gst_fakesink_init),
30182         (gst_fakesink_event), (gst_fakesink_chain):
30183         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30184         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
30185         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
30186         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
30187         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
30188         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
30189         (gst_fakesrc_loop), (gst_fakesrc_activate),
30190         (gst_fakesrc_change_state):
30191         * gst/elements/gstfakesrc.h:
30192         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
30193         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
30194         (gst_filesrc_open_file), (gst_filesrc_loop),
30195         (gst_filesrc_activate), (gst_filesrc_change_state),
30196         (filesrc_find_peek), (filesrc_find_suggest),
30197         (gst_filesrc_type_find):
30198         * gst/elements/gstidentity.c: (gst_identity_finalize),
30199         (gst_identity_class_init), (gst_identity_init),
30200         (gst_identity_proxy_getcaps), (identity_queue_push),
30201         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
30202         (gst_identity_getrange), (gst_identity_chain),
30203         (gst_identity_sink_loop), (gst_identity_src_loop),
30204         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
30205         (gst_identity_set_property), (gst_identity_get_property),
30206         (gst_identity_change_state):
30207         * gst/elements/gstidentity.h:
30208         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
30209         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
30210         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
30211         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
30212         (gst_tee_sink_activate):
30213         * gst/elements/gsttee.h:
30214         * gst/gst.c: (gst_register_core_elements), (init_post):
30215         * gst/gst.h:
30216         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
30217         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
30218         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
30219         (gst_bin_change_state):
30220         * gst/gstbin.h:
30221         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
30222         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
30223         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
30224         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
30225         (gst_bus_set_sync_handler), (gst_bus_create_watch),
30226         (bus_watch_callback), (bus_watch_destroy),
30227         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
30228         (poll_timeout), (gst_bus_poll):
30229         * gst/gstbus.h:
30230         * gst/gstcaps.h:
30231         * gst/gstdata.h:
30232         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
30233         (gst_element_post_message), (gst_element_message_full),
30234         (gst_element_get_state_func), (gst_element_get_state),
30235         (gst_element_abort_state), (gst_element_commit_state),
30236         (gst_element_lost_state), (gst_element_set_state),
30237         (gst_element_pads_activate), (gst_element_change_state),
30238         (gst_element_dispose), (gst_element_set_manager_func),
30239         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
30240         (gst_element_set_manager), (gst_element_get_manager),
30241         (gst_element_set_bus), (gst_element_get_bus),
30242         (gst_element_set_scheduler), (gst_element_get_scheduler):
30243         * gst/gstelement.h:
30244         * gst/gstevent.c: (gst_event_new_segment_seek),
30245         (gst_event_new_flush):
30246         * gst/gstevent.h:
30247         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
30248         (_gst_message_free), (gst_message_get_type), (gst_message_new),
30249         (gst_message_new_eos), (gst_message_new_error),
30250         (gst_message_new_warning), (gst_message_new_tag),
30251         (gst_message_new_state_changed), (gst_message_new_application),
30252         (gst_message_get_structure), (gst_message_parse_tag),
30253         (gst_message_parse_state_changed), (gst_message_parse_error),
30254         (gst_message_parse_warning):
30255         * gst/gstmessage.h:
30256         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
30257         (gst_real_pad_set_property), (gst_pad_set_active),
30258         (gst_pad_is_active), (gst_pad_set_blocked_async),
30259         (gst_pad_set_blocked), (gst_pad_is_blocked),
30260         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
30261         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
30262         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
30263         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
30264         (gst_pad_link_filtered), (gst_pad_relink_filtered),
30265         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
30266         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
30267         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
30268         (gst_pad_set_caps), (gst_pad_configure_sink),
30269         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
30270         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
30271         (gst_real_pad_dispose), (gst_real_pad_finalize),
30272         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
30273         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30274         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
30275         * gst/gstpad.h:
30276         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
30277         (pipeline_bus_handler), (gst_pipeline_change_state),
30278         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
30279         * gst/gstpipeline.h:
30280         * gst/gstprobe.h:
30281         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
30282         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
30283         (gst_queue_link_src), (gst_queue_bufferalloc),
30284         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
30285         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
30286         (gst_queue_loop), (gst_queue_handle_src_event),
30287         (gst_queue_handle_src_query), (gst_queue_src_activate),
30288         (gst_queue_change_state):
30289         * gst/gstqueue.h:
30290         * gst/gstscheduler.c: (gst_scheduler_init),
30291         (gst_scheduler_dispose), (gst_scheduler_create_task),
30292         (gst_scheduler_factory_create):
30293         * gst/gstscheduler.h:
30294         * gst/gststructure.c: (gst_structure_get_type),
30295         (gst_structure_copy_conditional):
30296         * gst/gststructure.h:
30297         * gst/gsttaginterface.h:
30298         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
30299         (gst_task_init), (gst_task_dispose), (gst_task_create),
30300         (gst_task_get_state), (gst_task_start), (gst_task_stop),
30301         (gst_task_pause):
30302         * gst/gsttask.h:
30303         * gst/gstthread.c:
30304         * gst/gstthread.h:
30305         * gst/gsttypes.h:
30306         * gst/schedulers/Makefile.am:
30307         * gst/schedulers/cothreads_compat.h:
30308         * gst/schedulers/entryscheduler.c:
30309         * gst/schedulers/faircothreads.c:
30310         * gst/schedulers/faircothreads.h:
30311         * gst/schedulers/fairscheduler.c:
30312         * gst/schedulers/gstbasicscheduler.c:
30313         * gst/schedulers/gstoptimalscheduler.c:
30314         * gst/schedulers/gthread-cothreads.h:
30315         * gst/schedulers/threadscheduler.c:
30316         (gst_thread_scheduler_task_get_type),
30317         (gst_thread_scheduler_task_class_init),
30318         (gst_thread_scheduler_task_init),
30319         (gst_thread_scheduler_task_start),
30320         (gst_thread_scheduler_task_stop),
30321         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
30322         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
30323         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
30324         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
30325         (plugin_init):
30326         * libs/gst/Makefile.am:
30327         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
30328         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
30329         (gst_file_pad_parent_set):
30330         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
30331         (gst_dp_event_from_packet):
30332         * tests/complexity.c: (main):
30333         * tests/mass_elements.c: (main):
30334         * testsuite/states/locked.c: (message_received), (main):
30335         * testsuite/states/parent.c: (main):
30336         * tools/gst-inspect.c: (print_element_flag_info),
30337         (print_implementation_info), (print_pad_info):
30338         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
30339         (main):
30340         * tools/gst-md5sum.c: (event_loop), (main):
30341         * tools/gst-typefind.c: (main):
30342         * tools/gst-xmlinspect.c: (print_element_info):
30343         Next big merge.
30344         Added GstBus for mainloop integration.
30345         Added GstMessage for sending notifications on the bus.
30346         Added GstTask as an abstraction for pipeline entry points.
30347         Removed GstThread.
30348         Removed Schedulers.
30349         Simplified GstQueue for multithreaded core.
30350         Made _link threadsafe, removed old capsnego.
30351         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
30352         Added pad blocking functions.
30353         Reworked scheduling functions in GstPad to prepare for
30354         scheduling updates soon.
30355         Moved events out of data stream.
30356         Simplified GstEvent types.
30357         Added return values to push/pull.
30358         Removed clocking from GstElement.
30359         Added prototypes for state change function for next merge.
30360         Removed iterate from bins and state change management.
30361         Fixed some elements, disabled others for now.
30362         Fixed -inspect and -launch.
30363         Added check for GstBus.
30364
30365 2005-03-10  Wim Taymans  <wim@fluendo.com>
30366
30367         * docs/design/part-MT-refcounting.txt:
30368         * docs/design/part-clocks.txt:
30369         * docs/design/part-gstelement.txt:
30370         * docs/design/part-gstobject.txt:
30371         * docs/design/part-standards.txt:
30372         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30373         (gst_bin_remove_func), (gst_bin_remove):
30374         * gst/gstbin.h:
30375         * gst/gstbuffer.c:
30376         * gst/gstcaps.h:
30377         * testsuite/clock/clock1.c: (main):
30378         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
30379         (main):
30380         * testsuite/dlopen/loadgst.c: (do_test):
30381         * testsuite/refcounting/bin.c: (add_remove_test1),
30382         (add_remove_test2), (main):
30383         * testsuite/refcounting/element.c: (main):
30384         * testsuite/refcounting/element_pad.c: (main):
30385         * testsuite/refcounting/pad.c: (main):
30386         * tools/gst-launch.c: (sigint_handler_sighandler):
30387         * tools/gst-typefind.c: (main):
30388         Doc updates.
30389         Added doc about clock.
30390         removed gst_bin_iterate_recurse_up(), marked methods
30391         for removal.
30392         Fix more testsuites.
30393
30394 2005-03-09  Wim Taymans  <wim@fluendo.com>
30395
30396         * gst/gstpad.c: (gst_pad_get_direction),
30397         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
30398         (gst_pad_collect_valist):
30399         * testsuite/bins/interface.c: (main):
30400         * testsuite/caps/audioscale.c: (test_caps):
30401         * testsuite/caps/caps.c: (test1), (test2), (test3):
30402         * testsuite/caps/deserialize.c: (main):
30403         * testsuite/caps/enumcaps.c: (main):
30404         * testsuite/caps/filtercaps.c: (main):
30405         * testsuite/caps/intersect2.c: (main):
30406         * testsuite/caps/random.c: (main):
30407         * testsuite/caps/renegotiate.c: (my_fixate), (main):
30408         * testsuite/caps/sets.c: (check_caps):
30409         * testsuite/caps/simplify.c: (check_caps), (main):
30410         * testsuite/caps/subtract.c: (check_caps):
30411         Fix _pad_get_direction wrt ghostpads.
30412         Fix caps testsuite.
30413
30414 2005-03-09  Wim Taymans  <wim@fluendo.com>
30415
30416         * check/Makefile.am:
30417         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
30418         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
30419         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
30420         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
30421         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
30422         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
30423         (gst_bin_remove), (gst_bin_iterate_recurse_up),
30424         (bin_element_is_sink), (gst_bin_iterate_sinks),
30425         (gst_bin_iterate_all_by_interface):
30426         * gst/gstbin.h:
30427         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
30428         (gst_element_change_state), (gst_element_dispose),
30429         (gst_element_finalize), (gst_element_set_loop_function):
30430         * gst/gstelement.h:
30431         * gst/gstiterator.c: (find_custom_fold_func):
30432         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
30433         (gst_pad_collectv), (gst_pad_collect_valist),
30434         (gst_pad_template_new):
30435         * gst/gstpipeline.c: (gst_pipeline_class_init),
30436         (gst_pipeline_dispose), (gst_pipeline_set_property),
30437         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
30438         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
30439         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
30440         * gst/gstutils.h:
30441         * gst/schedulers/entryscheduler.c:
30442         * gst/schedulers/gstbasicscheduler.c:
30443         (gst_basic_scheduler_cothreaded_chain),
30444         (gst_basic_scheduler_chain_add_element):
30445         * testsuite/bins/interface.c: (main):
30446         Added GstBin test.
30447         Added GstSystemClock test.
30448         Implemented clock distribution code in GstBin.
30449         Implemented iterate sinks method for future use.
30450         Rearranged gstelement.h
30451         Fix GstIterator comparison bug.
30452         Moved some code to GstPipeline, mostly clocking related.
30453
30454 2005-03-09  Wim Taymans  <wim@fluendo.com>
30455
30456         * configure.ac:
30457         * gst/gst_private.h:
30458         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30459         (gst_bin_remove_func), (gst_bin_remove),
30460         (gst_bin_get_by_name_recurse_up):
30461         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
30462         (gst_clock_id_compare_func), (gst_clock_id_wait),
30463         (gst_clock_id_wait_async), (gst_clock_init),
30464         (gst_clock_adjust_unlocked), (gst_clock_get_time):
30465         * gst/gstelement.h:
30466         * gst/gstinfo.c: (_gst_debug_init):
30467         * gst/gstobject.h:
30468         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
30469         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
30470         * gst/gstpad.h:
30471         Bump version number, we're now 0.9.0
30472         Add future debugging category.
30473         Fix NULL _unref() in _get_by_name_recurse_up
30474         Rearrange gstpad.h.
30475         Update some docs.
30476
30477 2005-03-08  Wim Taymans  <wim@fluendo.com>
30478
30479         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
30480         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
30481         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30482         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
30483         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
30484         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
30485         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
30486         * gst/elements/gstidentity.c: (gst_identity_class_init):
30487         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
30488         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
30489         * gst/elements/gstshaper.c: (gst_shaper_class_init):
30490         * gst/elements/gststatistics.c: (gst_statistics_class_init):
30491         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
30492         (gst_tee_link):
30493         * gst/gstelement.c: (gst_element_class_init),
30494         (gst_element_base_class_init), (gst_element_init),
30495         (gst_element_get_random_pad), (gst_element_wait_state_change),
30496         (gst_element_change_state), (gst_element_dispose),
30497         (gst_element_finalize), (gst_element_set_loop_function):
30498         * gst/gstelement.h:
30499         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
30500         * gst/gstthread.c: (gst_thread_class_init),
30501         (gst_thread_release_children_locks), (gst_thread_change_state):
30502         * gst/schedulers/gstbasicscheduler.c:
30503         (gst_basic_scheduler_loopfunc_wrapper),
30504         (gst_basic_scheduler_chain_wrapper),
30505         (gst_basic_scheduler_src_wrapper),
30506         (gst_basic_scheduler_remove_element):
30507         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
30508         Remove threadsafe properties. Fix elements because GObject
30509         complains when installing a property before declaring a
30510         set/get_property handler.
30511         Rearrange gstelement.h file, use STATE macros for state locks.
30512         Free mutexes in the finalize method instead of dispose.
30513
30514 2005-03-08  Wim Taymans  <wim@fluendo.com>
30515
30516         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30517         * gst/gstthread.c: (gst_thread_release_children_locks):
30518         Added parentage check.
30519         Fix build og GstThread again.
30520
30521 2005-03-08  Wim Taymans  <wim@fluendo.com>
30522
30523         * docs/design/part-MT-refcounting.txt:
30524         * docs/design/part-conventions.txt:
30525         * docs/design/part-gstobject.txt:
30526         * docs/design/part-relations.txt:
30527         * docs/design/part-standards.txt:
30528         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30529         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
30530         (gst_bin_get_by_name), (gst_bin_get_by_interface),
30531         (gst_bin_iterate_all_by_interface):
30532         * gst/gstbuffer.h:
30533         * gst/gstclock.h:
30534         * gst/gstelement.c: (gst_element_class_init),
30535         (gst_element_change_state), (gst_element_set_loop_function):
30536         * gst/gstelement.h:
30537         * gst/gstiterator.c:
30538         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
30539         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
30540         (gst_object_dispatch_properties_changed), (gst_object_set_name),
30541         (gst_object_set_parent), (gst_object_unparent),
30542         (gst_object_check_uniqueness):
30543         * gst/gstobject.h:
30544         Docs updates, clean up some headers.
30545
30546 2005-03-07  Wim Taymans  <wim@fluendo.com>
30547
30548         * check/.cvsignore:
30549         * check/Makefile.am:
30550         * check/gst-libs/.cvsignore:
30551         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
30552         * check/gst/.cvsignore:
30553         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
30554         (START_TEST), (gstbus_suite), (main):
30555         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
30556         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
30557         (gst_data_suite), (main):
30558         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
30559         (add_fold_func), (gstiterator_suite), (main):
30560         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
30561         (thread_name_object), (thread_name_object_default),
30562         (gst_object_name_compare), (gst_object_suite), (main):
30563         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
30564         (gst_pad_suite), (main):
30565         * check/gstcheck.c: (gst_check_log_message_func),
30566         (gst_check_log_critical_func), (gst_check_init):
30567         * check/gstcheck.h:
30568         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
30569         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
30570         Added checks.
30571
30572 2005-03-07  Wim Taymans  <wim@fluendo.com>
30573
30574         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
30575         (gst_list_iterator_next), (gst_list_iterator_resync),
30576         (gst_list_iterator_free), (gst_iterator_new_list),
30577         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
30578         (gst_iterator_free), (gst_iterator_push), (filter_next),
30579         (filter_resync), (filter_uninit), (filter_free),
30580         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
30581         (gst_iterator_foreach), (find_custom_fold_func),
30582         (gst_iterator_find_custom):
30583         * gst/gstiterator.h:
30584         Added missing files.
30585
30586 2005-03-07  Wim Taymans  <wim@fluendo.com>
30587
30588         * Makefile.am:
30589         * configure.ac:
30590         * docs/design/part-MT-refcounting.txt:
30591         * docs/design/part-conventions.txt:
30592         * docs/design/part-gstobject.txt:
30593         * docs/design/part-relations.txt:
30594         * examples/mixer/mixer.c: (main):
30595         * examples/thread/thread.c: (eos), (main):
30596         * gst/Makefile.am:
30597         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
30598         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
30599         (gst_spider_plug_from_srcpad):
30600         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
30601         (gst_spider_identity_change_state),
30602         (gst_spider_identity_sink_loop_type_finding):
30603         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
30604         * gst/elements/gstidentity.c: (gst_identity_init):
30605         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
30606         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
30607         * gst/elements/gsttypefindelement.c: (free_entry):
30608         * gst/gst.c:
30609         * gst/gst.h:
30610         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
30611         (gst_bin_set_clock_func), (gst_bin_auto_clock),
30612         (gst_bin_set_index), (gst_bin_set_element_sched),
30613         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
30614         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
30615         (gst_bin_iterate_elements), (iterate_child_recurse),
30616         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
30617         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
30618         (compare_interface), (gst_bin_get_by_interface),
30619         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
30620         * gst/gstbin.h:
30621         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
30622         (gst_buffer_default_free), (gst_buffer_default_copy),
30623         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
30624         (gst_buffer_create_sub):
30625         * gst/gstbuffer.h:
30626         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
30627         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
30628         (gst_caps_unref), (gst_static_caps_get),
30629         (gst_caps_remove_and_get_structure), (gst_caps_append),
30630         (gst_caps_append_structure), (gst_caps_remove_structure),
30631         (gst_caps_copy_nth), (gst_caps_set_simple),
30632         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
30633         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
30634         (gst_caps_structure_intersect_field), (gst_caps_intersect),
30635         (gst_caps_structure_subtract_field), (gst_caps_subtract),
30636         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
30637         (gst_caps_structure_figure_out_union),
30638         (gst_caps_switch_structures), (gst_caps_do_simplify),
30639         (gst_caps_replace), (gst_caps_from_string),
30640         (gst_caps_copy_conditional):
30641         * gst/gstcaps.h:
30642         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
30643         (_gst_clock_id_free), (gst_clock_id_unref),
30644         (gst_clock_id_compare_func), (gst_clock_id_wait),
30645         (gst_clock_id_wait_async), (gst_clock_class_init),
30646         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
30647         (gst_clock_get_time), (gst_clock_set_time_adjust),
30648         (gst_clock_set_property), (gst_clock_get_property):
30649         * gst/gstclock.h:
30650         * gst/gstcompat.h:
30651         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
30652         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
30653         * gst/gstdata.h:
30654         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
30655         (gst_element_requires_clock), (gst_element_provides_clock),
30656         (gst_element_set_clock), (gst_element_clock_wait),
30657         (gst_element_wait), (gst_element_set_time_delay),
30658         (gst_element_is_indexable), (gst_element_add_pad),
30659         (gst_element_add_ghost_pad), (gst_element_remove_pad),
30660         (pad_compare_name), (gst_element_get_static_pad),
30661         (gst_element_request_pad), (gst_element_get_request_pad),
30662         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
30663         (gst_element_class_get_pad_template_list),
30664         (gst_element_class_get_pad_template), (gst_element_error_func),
30665         (gst_element_get_random_pad), (gst_element_get_event_masks),
30666         (gst_element_send_event), (gst_element_seek),
30667         (gst_element_get_query_types), (gst_element_query),
30668         (gst_element_get_formats), (gst_element_convert),
30669         (gst_element_is_locked_state), (gst_element_set_locked_state),
30670         (gst_element_sync_state_with_parent), (gst_element_change_state),
30671         (gst_element_finalize), (gst_element_yield),
30672         (gst_element_interrupt), (gst_element_set_scheduler),
30673         (gst_element_get_scheduler), (gst_element_set_loop_function):
30674         * gst/gstelement.h:
30675         * gst/gstevent.h:
30676         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
30677         (gst_format_get_by_nick), (gst_format_get_details),
30678         (gst_format_iterate_definitions):
30679         * gst/gstformat.h:
30680         * gst/gstindex.c: (gst_index_gtype_resolver):
30681         * gst/gstinfo.c:
30682         * gst/gstinfo.h:
30683         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
30684         (gst_mem_chunk_free):
30685         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
30686         (gst_object_ref), (gst_object_unref), (gst_object_sink),
30687         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
30688         (gst_object_dispatch_properties_changed),
30689         (gst_object_set_name_default), (gst_object_set_name),
30690         (gst_object_get_name), (gst_object_set_name_prefix),
30691         (gst_object_get_name_prefix), (gst_object_set_parent),
30692         (gst_object_get_parent), (gst_object_unparent),
30693         (gst_object_check_uniqueness), (gst_object_save_thyself),
30694         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
30695         (gst_object_set_property), (gst_object_get_property),
30696         (gst_object_get_path_string):
30697         * gst/gstobject.h:
30698         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
30699         (gst_real_pad_init), (gst_real_pad_get_property),
30700         (gst_pad_custom_new), (gst_pad_get_direction),
30701         (gst_pad_set_active), (gst_pad_is_active),
30702         (gst_pad_set_event_function), (gst_pad_is_linked),
30703         (gst_pad_link_free), (gst_pad_link_intersect),
30704         (gst_pad_link_fixate), (gst_pad_set_caps),
30705         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
30706         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
30707         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
30708         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
30709         (gst_pad_get_caps), (gst_pad_peer_get_caps),
30710         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
30711         (gst_pad_realize), (gst_pad_get_allowed_caps),
30712         (gst_real_pad_dispose), (gst_real_pad_finalize),
30713         (gst_pad_collectv), (gst_pad_collect_valist),
30714         (gst_pad_template_dispose), (gst_pad_template_new),
30715         (gst_pad_get_internal_links):
30716         * gst/gstpad.h:
30717         * gst/gstpipeline.c: (gst_pipeline_dispose),
30718         (gst_pipeline_change_state):
30719         * gst/gstpipeline.h:
30720         * gst/gstplugin.c:
30721         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
30722         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
30723         * gst/gstpluginfeature.h:
30724         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
30725         * gst/gstquery.c: (_gst_query_type_initialize),
30726         (gst_query_type_register), (gst_query_type_get_by_nick),
30727         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
30728         * gst/gstquery.h:
30729         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
30730         * gst/gstscheduler.c: (gst_scheduler_add_element),
30731         (gst_scheduler_factory_create):
30732         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30733         (gst_structure_free), (gst_structure_set_name),
30734         (gst_structure_id_set_value), (gst_structure_set_value),
30735         (gst_structure_set_valist), (gst_structure_remove_field),
30736         (gst_structure_remove_fields),
30737         (gst_structure_remove_fields_valist),
30738         (gst_structure_remove_all_fields), (gst_structure_foreach),
30739         (gst_structure_map_in_place),
30740         (gst_caps_structure_fixate_field_nearest_int),
30741         (gst_caps_structure_fixate_field_nearest_double):
30742         * gst/gststructure.h:
30743         * gst/gstsystemclock.c: (gst_system_clock_class_init),
30744         (gst_system_clock_init), (gst_system_clock_dispose),
30745         (gst_system_clock_async_thread),
30746         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
30747         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
30748         * gst/gstsystemclock.h:
30749         * gst/gsttag.c: (gst_tag_list_add_value_internal),
30750         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
30751         * gst/gsttaginterface.c:
30752         * gst/gstthread.c: (gst_thread_dispose),
30753         (gst_thread_release_children_locks), (gst_thread_change_state),
30754         (gst_thread_main_loop):
30755         * gst/gsttrashstack.h:
30756         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
30757         * gst/gsttypes.h:
30758         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30759         (gst_element_request_pad), (gst_element_get_pad_from_template),
30760         (gst_element_request_compatible_pad),
30761         (gst_element_get_compatible_pad_filtered),
30762         (gst_element_get_compatible_pad), (gst_element_state_get_name),
30763         (gst_element_link_pads_filtered), (gst_element_link_filtered),
30764         (gst_element_link_many), (gst_element_link),
30765         (gst_element_link_pads), (gst_element_unlink_pads),
30766         (gst_element_unlink_many), (gst_element_unlink),
30767         (gst_pad_can_link_filtered), (gst_pad_can_link),
30768         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
30769         (gst_object_default_error), (gst_bin_add_many),
30770         (gst_bin_remove_many), (gst_element_populate_std_props),
30771         (gst_element_class_install_std_props), (gst_buffer_merge),
30772         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
30773         (link_fold_func), (gst_pad_proxy_setcaps):
30774         * gst/gstutils.h:
30775         * gst/gstvalue.c: (gst_value_deserialize_string):
30776         * gst/parse/grammar.y:
30777         * gst/schedulers/gstbasicscheduler.c:
30778         (gst_basic_scheduler_cothreaded_chain),
30779         (gst_basic_scheduler_chain_recursive_add),
30780         (gst_basic_scheduler_pad_link):
30781         * gst/schedulers/gstoptimalscheduler.c:
30782         (get_group_schedule_function),
30783         (gst_opt_scheduler_state_transition),
30784         (gst_opt_scheduler_add_element), (element_get_reachables_func):
30785         * libs/gst/bytestream/bytestream.c:
30786         * libs/gst/dataprotocol/dataprotocol.c:
30787         (gst_dp_header_from_buffer):
30788         * po/nb.po:
30789         * po/ru.po:
30790         * tests/threadstate/threadstate2.c: (eos):
30791         * tools/gst-compprep.c: (main):
30792         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
30793         (print_pad_info), (print_children_info):
30794         * tools/gst-launch.c: (idle_func), (main):
30795         * tools/gst-md5sum.c: (idle_func), (main):
30796         * tools/gst-xmlinspect.c: (print_element_info):
30797         First THREADED backport attempt, focusing on adding locks and
30798         making sure the API is threadsafe. Needs more work. More docs
30799         follow this week.
30800
30801 2005-02-24  Andy Wingo  <wingo@pobox.com>
30802
30803         * tests/bench-complexity.scm:
30804         * tests/complexity.gnuplot: New files, good for running complexity
30805         benchmarks.
30806
30807         * tests/Makefile.am:
30808         * tests/complexity.c: New test, sets up N elements, at each level
30809         teeing into M streams per element. Eeeenteresting.
30810
30811         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
30812         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
30813         running bench-mass_elements.scm.
30814
30815         * tests/bench-mass_elements.scm: New script, runs mass_elements
30816         for various numbers of identities, outputting the results to a
30817         file. Requires guile 1.6. Just for testing.
30818
30819 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
30820
30821         * gst/schedulers/fairscheduler.c:
30822           compile with debug disabled
30823
30824 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
30825
30826         * configure.ac:
30827           hunting season on 0.9 is now OPEN