po/POTFILES.in: queue has moved, update
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * po/POTFILES.in:
4           queue has moved, update
5
6 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7
8         * docs/gst/gstreamer-sections.txt:
9           remove double entries from the docs
10         * gst/gst_private.h:
11         * gst/gstinfo.c: (_gst_debug_init):
12           remove the THREAD debug category
13         * gst/Makefile.am:
14         * gst/gstqueue.c:
15         * gst/gstqueue.h:
16         * docs/gst/gstreamer.types:
17         * plugins/elements/gstqueue.c: (gst_queue_get_type),
18         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19           completely move queue and fix up debugging categories
20
21 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
22
23         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
24           make initialization portable, using LL is not
25
26 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
27
28         * win32/common/gstconfig.h:
29           add large padding
30
31 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
32
33         * win32/common/libgstreamer.def:
34           rename symbols; sort base section
35
36 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
37
38         * gst/gstclock.c: (do_linear_regression):
39           remove crack non-portable handrolled DEBUG macro
40
41 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
42
43         * docs/random/release:
44           update notes
45         * win32/common/gstenumtypes.c: (register_gst_object_flags),
46         (gst_object_flags_get_type), (register_gst_bin_flags),
47         (gst_bin_flags_get_type), (register_gst_buffer_flag),
48         (gst_buffer_flag_get_type), (register_gst_bus_flags),
49         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
50         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
51         (gst_caps_flags_get_type), (register_gst_clock_return),
52         (gst_clock_return_get_type), (register_gst_clock_entry_type),
53         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
54         (gst_clock_flags_get_type), (register_gst_state),
55         (gst_state_get_type), (register_gst_state_change_return),
56         (gst_state_change_return_get_type), (register_gst_state_change),
57         (gst_state_change_get_type), (register_gst_element_flags),
58         (gst_element_flags_get_type), (register_gst_core_error),
59         (gst_core_error_get_type), (register_gst_library_error),
60         (gst_library_error_get_type), (register_gst_resource_error),
61         (gst_resource_error_get_type), (register_gst_stream_error),
62         (gst_stream_error_get_type), (register_gst_event_type_flags),
63         (gst_event_type_flags_get_type), (register_gst_event_type),
64         (gst_event_type_get_type), (register_gst_seek_type),
65         (gst_seek_type_get_type), (register_gst_seek_flags),
66         (gst_seek_flags_get_type), (register_gst_format),
67         (gst_format_get_type), (register_gst_index_certainty),
68         (gst_index_certainty_get_type), (register_gst_index_entry_type),
69         (gst_index_entry_type_get_type),
70         (register_gst_index_lookup_method),
71         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
72         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
73         (gst_index_resolver_method_get_type), (register_gst_index_flags),
74         (gst_index_flags_get_type), (register_gst_debug_level),
75         (gst_debug_level_get_type), (register_gst_debug_color_flags),
76         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
77         (gst_iterator_result_get_type), (register_gst_iterator_item),
78         (gst_iterator_item_get_type), (register_gst_message_type),
79         (gst_message_type_get_type), (register_gst_mini_object_flags),
80         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
81         (gst_pad_link_return_get_type), (register_gst_flow_return),
82         (gst_flow_return_get_type), (register_gst_activate_mode),
83         (gst_activate_mode_get_type), (register_gst_pad_direction),
84         (gst_pad_direction_get_type), (register_gst_pad_flags),
85         (gst_pad_flags_get_type), (register_gst_pad_presence),
86         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
87         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
88         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
89         (gst_plugin_error_get_type), (register_gst_plugin_flags),
90         (gst_plugin_flags_get_type), (register_gst_rank),
91         (gst_rank_get_type), (register_gst_query_type),
92         (gst_query_type_get_type), (register_gst_tag_merge_mode),
93         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
94         (gst_tag_flag_get_type), (register_gst_task_state),
95         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
96         (gst_alloc_trace_flags_get_type),
97         (register_gst_type_find_probability),
98         (gst_type_find_probability_get_type), (register_gst_uri_type),
99         (gst_uri_type_get_type), (register_gst_parse_error),
100         (gst_parse_error_get_type):
101         * win32/common/gstenumtypes.h:
102         * win32/common/gstversion.h:
103           update visual studio generated files
104
105 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
106
107         * win32/vs6/libgstbase.dsp:
108         * win32/vs6/libgstelements.dsp:
109           update project files for new locations
110
111 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
112
113         * Makefile.am:
114           remove some files
115         * README:
116           reinstate and update
117         * DEVEL:
118         * REQUIREMENTS:
119           removed
120         * LICENSE:
121         * docs/random/LICENSE:
122           moved to random
123
124 2005-11-30  Edward Hervey  <edward@fluendo.com>
125
126         * gst/gsttypefind.c: (gst_type_find_register):
127         * gst/gsttypefind.h:
128         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
129         (gst_type_find_factory_dispose):
130         * gst/gsttypefindfactory.h:
131         Fix memory leak in GstTypeFindFactory.
132
133 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
134
135         * gst/gst.c:
136         * plugins/elements/Makefile.am:
137         * plugins/elements/gstelements.c:
138         * plugins/elements/gstqueue.c:
139           move queue from core to the elements plugin
140
141 2005-11-29  Andy Wingo  <wingo@pobox.com>
142
143         * libs/gst/base/gstbasetransform.h: 
144         * libs/gst/base/gstbasesrc.h: 
145         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
146
147         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
148         of pointers by which to pad very extensible base classes (like the
149         ones in libs/gst/base).
150
151 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
152
153         * docs/gst/gstreamer-docs.sgml:
154         * docs/gst/gstreamer-sections.txt:
155         * docs/libs/gstreamer-libs-docs.sgml:
156         * docs/libs/gstreamer-libs-sections.txt:
157           moving documentation from core to lib
158
159 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
160
161         * check/Makefile.am:
162         * configure.ac:
163         * docs/gst/Makefile.am:
164         * gst/Makefile.am:
165         * gst/base/.cvsignore:
166         * gst/base/Makefile.am:
167         * gst/base/README:
168         * gst/base/gstadapter.c:
169         * gst/base/gstadapter.h:
170         * gst/base/gstbasesink.c:
171         * gst/base/gstbasesink.h:
172         * gst/base/gstbasesrc.c:
173         * gst/base/gstbasesrc.h:
174         * gst/base/gstbasetransform.c:
175         * gst/base/gstbasetransform.h:
176         * gst/base/gstcollectpads.c:
177         * gst/base/gstcollectpads.h:
178         * gst/base/gstpushsrc.c:
179         * gst/base/gstpushsrc.h:
180         * gst/base/gsttypefindhelper.c:
181         * gst/base/gsttypefindhelper.h:
182         * gst/check/Makefile.am:
183         * gst/check/gstcheck.c:
184         * gst/check/gstcheck.h:
185         * gst/net/Makefile.am:
186         * gst/net/gstnet.h:
187         * gst/net/gstnetclientclock.c:
188         * gst/net/gstnetclientclock.h:
189         * gst/net/gstnettimepacket.c:
190         * gst/net/gstnettimepacket.h:
191         * gst/net/gstnettimeprovider.c:
192         * gst/net/gstnettimeprovider.h:
193         * libs/gst/Makefile.am:
194         * libs/gst/base/Makefile.am:
195         * libs/gst/base/gstbasetransform.c:
196         * libs/gst/check/Makefile.am:
197         * plugins/elements/Makefile.am:
198         * po/POTFILES.in:
199           CVS surgery + support to move base, check, and net out of gst
200           and into libs/gst
201
202 2005-11-29  Andy Wingo  <wingo@pobox.com>
203
204         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
205
206         * gst/gststructure.h (struct _GstStructure): Only one pointer of
207         padding.
208
209         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
210
211         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
212
213         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
214
215         * gst/gstobject.h: (struct _GstObject): Only one pointer of
216         padding; reduces object size by about 30%. We don't expect
217         anything else to go into gstobject.
218
219         * gst/gstminiobject.h (struct _GstMiniObject)
220         (struct _GstMiniObjectClass): Only one pointer of padding; the
221         payload is only a pointer and two ints anyway. For the class there
222         are only two methods as well.
223         
224         * gst/gstelement.h (struct _GstElementClass): Removed
225         the state_changed signal callback, it is not used.
226
227 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
228
229         * docs/gst/gstreamer.types:
230           fix includes, though they are a little dinky
231
232 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
233
234         * check/Makefile.am:
235           look in the right place for elements, a lot more chance of
236           success
237         * gst/Makefile.am:
238           remove indexers and elements subdirs
239         * plugins/Makefile.am:
240           make indexers conditional
241
242 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
243
244         * Makefile.am:
245         * configure.ac:
246         * plugins/elements/Makefile.am:
247         * plugins/elements/gstcapsfilter.c:
248         * plugins/elements/gstfilesink.c:
249         * plugins/elements/gstfilesrc.c:
250         * plugins/elements/gstidentity.c:
251         * plugins/indexers/Makefile.am:
252           do CVS surgery and related build fixery to move elements
253           and indexers in a new gstreamer/plugins directory, out of the
254           gst/ directory
255
256 2005-11-29  Andy Wingo  <wingo@pobox.com>
257
258         * check/Makefile.am:
259         * pkgconfig/gstreamer-net-uninstalled.pc.in:
260         * pkgconfig/gstreamer-net.pc.in:
261         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
262         #322257.
263
264 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
265
266         * tools/Makefile.am:
267         * tools/gst-complete.1.in:
268         * tools/gst-complete.c:
269         * tools/gst-compprep.1.in:
270         * tools/gst-compprep.c:
271           removing -compprep and -complete
272
273 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
274
275         * gst/gstevent.c: (gst_event_new_new_segment),
276         (gst_event_parse_new_segment):
277         * gst/gstevent.h:
278           fix #320529 - clean up new_segment API and structure.
279           Let's hope everyone was using the methods, and not the structure.
280
281 2005-11-29  Edward Hervey  <edward@fluendo.com>
282
283         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
284         (gst_base_sink_event), (gst_base_sink_do_sync),
285         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
286         Properly handle non GST_FORMAT_TIME segment
287         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
288         Properly handle non GST_FORMAT_TIME segment
289         * gst/gstsegment.c:
290         This function is valid if the accumulator is 0 and the format
291         is different from the requested format.
292         
293 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
294
295         * docs/gst/gstreamer-sections.txt:
296         Add gst_query_new_seeking and gst_query_parse_seeking to the
297         docs.
298
299 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
300
301         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
302           Treat a pad alloc with new caps the same as if we were not
303           negotiated, in order to allow a changing upstream output
304           to produce a new format of data.
305
306 2005-11-29  Edward Hervey  <edward@fluendo.com>
307
308         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
309         (gst_base_transform_event), (gst_base_transform_eventfunc):
310         The event virtual method is now properly implemented, with a default
311         handler
312         Sub classes should call the parent_class event method. They should
313         return FALSE if they had a problem handling the given event, or don't
314         want GstBaseTransform to send that even downstream
315         * gst/elements/gstidentity.c: (gst_identity_class_init),
316         (gst_identity_init), (gst_identity_event),
317         (gst_identity_transform_ip), (gst_identity_set_property),
318         (gst_identity_get_property):
319         * gst/elements/gstidentity.h:
320         Added the single-segment boolean property.
321         If set to TRUE, it will output a single segment of data, starting from
322         0, will eat up all incoming newsegment, and modify the timestamp of the
323         buffers accordingly
324
325 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
326
327         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
328           Don't ref NULL target pad (#322751). Improve docs.
329
330 2005-11-29  Michael Smith  <msmith@fluendo.com>
331
332         * gst/gstregistryxml.c: (load_plugin):
333           Don't crash if we failed to load a feature from a plugin. 
334
335 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
336
337         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
338         (GST_START_TEST):
339           use more check API and less GLib API
340
341 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
342
343         * Makefile.am:
344           don't run checks if we don't have check
345         * common/check.mak:
346           remove the registry when running make torture
347         * docs/gst/gstreamer-sections.txt:
348           remove second multiply
349         * gst/gstqueue.c: (gst_queue_loop):
350           fix a compile warning when disabling debug
351
352 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
353
354         * gst/gstinfo.h:
355         Hey! Let's print the pad name if the pointer != NULL instead
356         of when it == NULL :-)
357
358 2005-11-28  Wim Taymans  <wim@fluendo.com>
359
360         * check/gst/gstutils.c: (GST_START_TEST):
361         Updated check, add some scaling accuracy checking code.
362
363         * gst/gstutils.c: (gst_util_div128_64),
364         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
365         (gst_util_uint64_scale_int):
366         Fix 6 times faster division code. Optimize for common 
367         1/1 and less common X/1 cases.
368
369 2005-11-28  Wim Taymans  <wim@fluendo.com>
370
371         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
372         More checks.
373
374         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
375         (do_linear_regression), (gst_clock_add_observation):
376         Cleanups.
377         Release lock when the clock cannot be slaved.
378         Catch the case where the regression returned an invalid denominator.
379
380         * gst/gstutils.c: (gst_util_div128_64_iterate),
381         (gst_util_div128_64), (gst_util_uint64_scale_int64),
382         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
383         Add protentially more performant non-iterative 128/64 divide function
384         that unfortunatly does not work yet.
385         Shortcut the trivial 0/X = 0 case.
386         Remove the warnings on overflow.
387
388 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
389
390         * gst/gstplugin.c: (gst_plugin_register_func):
391           everything causing a plugin not to load should be at least a WARNING
392
393 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
394
395         * docs/random/ensonic/dparams.txt:
396           some TODOs for the next dev cycle
397         * libs/gst/controller/gstcontroller.c:
398         (gst_controlled_property_set_interpolation_mode),
399         (gst_controlled_property_new):
400         * libs/gst/controller/gstcontroller.h:
401           use base type to assign acccessor functions
402
403 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
404
405         * check/Makefile.am:
406         Oops, that should have been top_srcdir
407
408 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
409
410         * check/Makefile.am:
411         * check/elements/fdsrc.c: (GST_START_TEST):
412         Use a cmdline define to specify the location of a file to use for
413         testing, to avoid breaking distcheck.
414
415 2005-11-28  Andy Wingo  <wingo@pobox.com>
416
417         * gst/gstpad.c (fixate_value): Use array functions for arrays.
418
419 2005-11-28  Edward Hervey  <edward@fluendo.com>
420
421         * tools/gst-launch.c: (main):
422         Clarify the output strings, makes it easier to translate.
423         Fixes #322626
424
425 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
426
427         * gst/Makefile.am:
428           don't try and build net if we don't even have <sys/socket.h>
429
430 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
431
432         * check/Makefile.am:
433         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
434         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
435           Add tests for fdsrc seekability
436
437         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
438         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
439         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
440         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
441         * gst/elements/gstfdsrc.h:
442           fdsrc should not be a 'live' source.
443           Implement seeking on seekable fd's.
444
445         * gst/gstquery.c: (gst_query_new_seeking),
446         (gst_query_parse_seeking):
447         * gst/gstquery.h:
448           Implement SEEKING query functions: 
449             *_new_seeking and *_parse_seeking
450
451 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
452
453         * gst/gstelement.c: (gst_element_dispose):
454           don't loop forever
455
456         * gst/gstiterator.c:
457         * gst/gststructure.c:
458           doc fixes
459
460         * libs/gst/controller/gstcontroller.c:
461         (gst_controlled_property_set_interpolation_mode):
462         * libs/gst/controller/gstcontroller.h:
463         * libs/gst/controller/gstinterpolation.c:
464         (interpolate_none_get_enum_value_array):
465           support controlling enums
466
467 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
468
469         * gst/gstvalue.c:
470           Improve documentation for gst_value_union().
471
472         * gst/gstvalue.h:
473           Change return value for union, intersect and subtract functions
474           from gint to gboolean.
475
476 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
477
478         * gst/gstvalue.c: (gst_value_serialize_any_list),
479         (gst_value_transform_any_list_string),
480         (gst_value_deserialize_list), (gst_value_deserialize_array),
481         (gst_value_set_int_range), (gst_value_deserialize_int_range),
482         (gst_value_set_double_range), (gst_value_deserialize_double_range),
483         (gst_value_set_fraction_range_full),
484         (gst_value_deserialize_fraction_range),
485         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
486         (gst_value_deserialize_boolean),
487         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
488         (gst_value_serialize_float), (gst_value_deserialize_float),
489         (gst_string_wrap), (gst_value_deserialize_string),
490         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
491         (gst_value_union_int_range_int_range),
492         (gst_value_intersect_int_range_int_range),
493         (gst_value_intersect_double_range_double_range),
494         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
495         (gst_value_subtract_int_range_int_range),
496         (gst_value_subtract_double_double_range),
497         (gst_value_subtract_double_range_double_range),
498         (gst_value_deserialize_fraction):
499         * gst/gstvalue.h:
500           Use gint, gdouble and gchar in our API instead of int, double and
501           char (and make usage in gstvalue.c more consistent).
502
503 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
504
505         * check/Makefile.am:
506         * libs/gst/controller/Makefile.am:
507         * libs/gst/dataprotocol/Makefile.am:
508           fix up Makefile.am and remove GST_ENABLE_NEW
509
510 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
511
512         * configure.ac:
513         * gst/Makefile.am:
514         * gst/base/Makefile.am:
515         * gst/check/Makefile.am:
516         * gst/elements/Makefile.am:
517         * gst/net/Makefile.am:
518           update LDFLAGS use some more
519
520 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
521
522         * common/m4/gst-doc.m4:
523           Fixes #312589
524
525 2005-11-26  Edward Hervey  <edward@fluendo.com>
526
527         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
528         This shouldn't issue a g_warning since it returns NULL if it
529         couldn't find the plugin, and all functions using this behave
530         properly on a NULL return. Switching to a GST_WARNING.
531
532 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
533
534         * gst/gstbin.c: (gst_bin_handle_message_func):
535         Don't leak clock messages.
536
537 2005-11-25  Wim Taymans  <wim@fluendo.com>
538
539         * gst/gstutils.c: (gst_util_uint64_scale_int64),
540         (gst_util_uint64_scale_int):
541         Optimisations, remove unneeded vars.
542
543 2005-11-25  Wim Taymans  <wim@fluendo.com>
544
545         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
546         Added more checks for the high precision uint64 cases.
547
548         * gst/gstutils.c: (gst_util_uint64_scale_int64),
549         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
550         Implement high precission (guint64 * guint64) / guint64.
551
552 2005-11-24  Wim Taymans  <wim@fluendo.com>
553
554         * gst/base/gstbasesrc.c: (gst_base_src_query):
555         Fix wrong percentage query.
556
557         * gst/gstutils.c: (gst_util_uint64_scale),
558         (gst_util_uint64_scale_int):
559         Add some more common cases that can be handled 
560         efficiently to _scale.
561
562 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
563
564         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
565         (gst_mini_object_suite):
566           don't use check calls from threads; check probably isn't
567           threadsafe and using a lock to make it threadsafe would
568           defeat the purpose of this check
569         * gst/check/gstcheck.c:
570         * gst/check/gstcheck.h:
571           use GST_DEBUG some more
572
573 2005-11-24  Wim Taymans  <wim@fluendo.com>
574
575         * gst/gstutils.c: (gst_util_uint64_scale),
576         (gst_util_uint64_scale_int):
577         Chain trivial case to _scale_int.
578
579 2005-11-24  Wim Taymans  <wim@fluendo.com>
580
581         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
582         Added test for scaling.
583
584         * gst/gstclock.h:
585         Small doc fix.
586
587         * gst/gstutils.c: (gst_util_uint64_scale_int):
588         Implemented high precision scaling code.
589
590 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
591
592         * gst/gstinfo.h:
593           do not crash on pad==NULL
594
595 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
596
597         Patch by: Stefan Kost
598
599         * common/gtk-doc.mak:
600         * docs/gst/Makefile.am:
601         * docs/libs/Makefile.am:
602           Fix distcheck issues for the libraries docs build
603           Closes #319599.
604
605 2005-11-24  Michael Smith <msmith@fluendo.com>
606
607         * docs/manual/basics-helloworld.xml:
608           Fix bug #315027: memory leak in example code in docs.
609
610 2005-11-24  Michael Smith <msmith@fluendo.com>
611
612         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
613           Unlock the PREROLL_LOCK in a failure case.
614
615 2005-11-24  Wim Taymans  <wim@fluendo.com>
616
617         * docs/gst/gstreamer-sections.txt:
618         * gst/base/gstadapter.h:
619         * gst/base/gstbasesink.h:
620         * gst/base/gstbasesrc.h:
621         * gst/base/gstbasetransform.h:
622         * gst/base/gstpushsrc.h:
623         * gst/elements/gstfakesink.h:
624         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
625         * gst/elements/gstfakesrc.h:
626         * gst/elements/gstfilesink.h:
627         * gst/elements/gstfilesrc.h:
628         * gst/gst.c:
629         * gst/gstbin.c:
630         * gst/gstbuffer.c: (_gst_buffer_copy):
631         * gst/gstbus.h:
632         * gst/gstcaps.c:
633         * gst/gstchildproxy.c:
634         * gst/gstclock.c:
635         * gst/gstelement.c:
636         * gst/gstelementfactory.c:
637         * gst/gstelementfactory.h:
638         * gst/gstevent.c:
639         * gst/gstghostpad.h:
640         * gst/gstindex.h:
641         * gst/gstinterface.h:
642         * gst/gstminiobject.c:
643         * gst/gstminiobject.h:
644         * gst/gstpad.c:
645         * gst/gstpad.h:
646         * gst/gstpadtemplate.h:
647         * gst/gstpipeline.h:
648         * gst/gstpluginfeature.h:
649         * gst/gstquery.h:
650         * gst/gstqueue.h:
651         * gst/gsttaglist.c:
652         * gst/gsttaglist.h:
653         * gst/gsttagsetter.c:
654         * gst/gsttagsetter.h:
655         * gst/gsttrace.c:
656         * gst/gsttrace.h:
657         * gst/gsttypefind.h:
658         * gst/gsturi.h:
659         * gst/gstvalue.c:
660         * gst/net/gstnetclientclock.c:
661         * gst/net/gstnetclientclock.h:
662         * gst/net/gstnettimepacket.c:
663         * gst/net/gstnettimeprovider.c:
664         * gst/net/gstnettimeprovider.h:
665         Doc fixes.
666
667 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
668
669         * configure.ac: back to HEAD
670
671 === release 0.9.6 ===
672
673 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
674
675         * configure.ac:
676           releasing 0.9.6, "Always On Time"
677
678 2005-11-23  Wim Taymans  <wim@fluendo.com>
679
680         * docs/gst/gstreamer-sections.txt:
681         * gst/glib-compat.c:
682         * gst/gsttagsetter.c:
683         * gst/gstvalue.c:
684         * gst/net/gstnetclientclock.c:
685         * gst/net/gstnettimepacket.h:
686         Doc updates.
687
688 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
689
690         * docs/faq/using.xml:
691         * docs/libs/tmpl/gstcontrol.sgml:
692         * docs/manual/advanced-dparams.xml:
693         * docs/manual/appendix-checklist.xml:
694         * docs/manual/basics-elements.xml:
695         * docs/pwg/other-source.xml:
696         * docs/random/moving-plugins:
697         * gst/gstpad.c:
698         * tools/gst-launch.1.in:
699           remove mentions of sinesrc
700
701 2005-11-23  Michael Smith <msmith@fluendo.com>
702
703         * docs/gst/gstreamer-sections.txt:
704           Update for new API and API changes.
705         * gst/gstobject.h:
706           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
707         * gst/gstvalue.c:
708           Documentation typo fix.
709         * gst/net/gstnettimepacket.c:
710           Documentation fixes for arguments.
711
712 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
713
714         * gst/gststructure.c: (gst_structure_get_fraction),
715         (gst_structure_parse_value),
716         (gst_structure_fixate_field_nearest_fraction):
717         * gst/gststructure.h:
718         * gst/gstutils.c: (gst_util_uint64_scale_int):
719         * gst/gstutils.h:
720         * scripts/update-funcnames:
721         API Changes. 
722         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
723         Make gst_structure_fixate_field_nearest_fraction take a numerator
724         and denominator argument instead of a GValue
725         add gst_structure_get_fraction helper function.
726
727 2005-11-23  Wim Taymans  <wim@fluendo.com>
728
729         * docs/design/part-TODO.txt:
730         Update TODO.
731
732         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
733         * gst/net/gstnetclientclock.h:
734         Use parent fields for timeout and window_size.
735
736 2005-11-23  Andy Wingo  <wingo@pobox.com>
737
738         * check/net/gstnetclientclock.c (test_functioning): Adjust to
739         rate_num/rate_denom change.
740
741         * gst/net/gstnetclientclock.c
742         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
743         OBJECT_LOCK. Don't call add_observation with the lock.
744
745         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
746         fraction.
747         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
748         rate fraction.
749         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
750         deal with rate as a fraction whose numerator and denominator are
751         GstClockTime values.
752         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
753         master; the other fields are protected by the SLAVE_LOCK.
754         (do_linear_regression): Note that this must be called with the
755         SLAVE_LOCK.
756         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
757         OBJECT_LOCK. Call set_calibration instead of touching the
758         variables directly.
759         (gst_clock_set_property, gst_clock_get_property): Protect
760         master/slave parameters with the SLAVE_LOCK.
761
762         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
763         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
764         note that all of the instance variables that add_observation and
765         the set_master functions use are protected by that lock and not
766         the OBJECT_LOCK.
767         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
768
769         * gst/gstclock.c (gst_clock_add_observation): No longer requires
770         the caller to take the object lock.
771
772 2005-11-23  Wim Taymans  <wim@fluendo.com>
773
774         * gst/gsterror.c: (_gst_core_errors_init):
775         * gst/gsterror.h:
776         Add error for clock stuff.
777
778         * gst/gstpipeline.c: (gst_pipeline_change_state),
779         (gst_pipeline_set_clock):
780         Post clock error when clock cannot be used in a pipeline.
781
782 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
783
784         * docs/gst/gstreamer-sections.txt:
785           make two symbols from gstinfo private for the docs
786         * gst/base/gstcollectpads.h:
787         * gst/gstutils.c:
788           fix doc typos, update docs
789
790 2005-11-22  Wim Taymans  <wim@fluendo.com>
791
792         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
793         (gst_base_sink_wait), (gst_base_sink_do_sync),
794         (gst_base_sink_handle_event):
795         * gst/base/gstbasesink.h:
796         No need to store the clock, the parent element class already
797         has it.
798
799         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
800         Updates for clock_set returning a gboolean
801
802         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
803         (gst_clock_id_wait_async), (gst_clock_class_init),
804         (gst_clock_init), (gst_clock_finalize),
805         (gst_clock_get_internal_time), (gst_clock_get_time),
806         (gst_clock_slave_callback), (gst_clock_set_master),
807         (gst_clock_get_master), (do_linear_regression),
808         (gst_clock_add_observation), (gst_clock_set_property),
809         (gst_clock_get_property):
810         * gst/gstclock.h:
811         Implement master/slave. When setting a clock as a slave, a
812         periodic timeout is scheduled to sample master and slave times.
813         Then the slave clock is recalibrated to match offset and rate
814         of the master clock.
815         Update logging a bit.
816         Add flag so that a clock can state that is cannot be slaved to
817         another clock.
818
819         * gst/gstelement.c: (gst_element_set_clock):
820         * gst/gstelement.h:
821         The set clock returns a gboolean for when an element cannot
822         deal with the selected clock in the pipeline. 
823
824         * gst/gstpipeline.c: (gst_pipeline_change_state),
825         (gst_pipeline_set_clock):
826         * gst/gstpipeline.h:
827         Handle the case where the selected clock cannot be set on
828         the pipeline.
829
830         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
831         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
832         (gst_net_client_clock_set_property),
833         (gst_net_client_clock_get_property),
834         (gst_net_client_clock_observe_times):
835         * gst/net/gstnetclientclock.h:
836         Use regression code in GstClock parent, remove duplicated
837         functionality.
838
839 2005-11-22  Michael Smith <msmith@fluendo.com>
840
841         * gst/gstutils.c: (gst_util_clock_time_scale):
842         * gst/gstutils.h:
843         * docs/gst/gstreamer-sections.txt:
844           Rename method to have extra underscore.
845
846 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
847
848         * gst/elements/Makefile.am:
849         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
850         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
851         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
852         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
853         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
854         * gst/elements/gstfakesrc.h:
855         * gst/gstqueue.c: (queue_leaky_get_type):
856           correctly fix GEnumValues so that nick is the short lowercase
857           dashed tag
858         * tools/gst-inspect.c: (print_element_properties_info):
859           also show the nick, since it's useful to use from parse_launch
860           syntax
861           Fixes #322139
862
863 2005-11-22  Michael Smith <msmith@fluendo.com>
864
865         * gst/gstutils.c: (gst_util_clocktime_scale):
866         * gst/gstutils.h:
867         * docs/gst/gstreamer-sections.txt:
868           Add util method for scaling a clocktime by a fraction. Useful 
869           implementation is left as an exercise for the reader.
870
871 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
872
873         * gst/gstvalue.c: (gst_value_collect_fraction_range):
874         If needed, allocate storage in the destination value during
875         collection.
876
877 2005-11-22  Edward Hervey  <edward@fluendo.com>
878
879         * docs/gst/gstreamer-sections.txt:
880         * gst/Makefile.am:
881         * gst/gst.h:
882         * gst/gsturitype.c:
883         * gst/gsturitype.h:
884         * gst/gstutils.c: (gst_util_set_object_arg):
885         * tools/gst-compprep.c: (main):
886         * tools/gst-inspect.c: (print_element_properties_info):
887         Removed GstURI, closes bug #321061
888
889 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
890
891         * check/gst/gststructure.c: (GST_START_TEST):
892         * gst/gststructure.c: (gst_structure_parse_value):
893           Oops, broke automatic string type parsing.
894           Add a test to catch it in future.
895
896 2005-11-22  Andy Wingo  <wingo@pobox.com>
897
898         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
899         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
900         Actually rename the function implementations. Grr.
901
902 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
903
904         * check/gst/capslist.h:
905           Comment test cases
906         * check/gst/gststructure.c: (GST_START_TEST),
907         (gst_structure_suite):
908           Test automatic value type detection in gst_structure_from_string.
909         * gst/gststructure.c: (gst_structure_parse_value):
910           Add fraction as a type we try and guess automatically in
911           caps/structure strings.
912
913 2005-11-22  Andy Wingo  <wingo@pobox.com>
914
915         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
916
917         * gst/gsttagsetter.h:
918         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
919         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
920         (gst_tag_setter_add_tag_valist)
921         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
922         _add_values, _add_valist, and _add_valist_values. Since this is an
923         interface the function suffixes should be more explicit so
924         language binding don't end up with element.add_valist ->
925         gst_tag_setter_add_valist, for example. Fixes #322069.
926
927 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
928
929         * check/gst/gstcaps.c: (GST_START_TEST):
930           Extend caps string tests to check that a caps to string
931           conversion is reversible and produces the same caps.
932
933         * gst/gststructure.c: (gst_structure_value_get_generic_type):
934           Output "fraction" as the generic type fraction range, so caps
935           serialisation and deserialisation works.
936         * check/gst/capslist.h:
937         * gst/gstvalue.c: (gst_value_deserialize_fraction):
938           Support 'MIN' and 'MAX' for deserialising fractions.
939
940 2005-11-22  Andy Wingo  <wingo@pobox.com>
941
942         * gst/gstevent.h (gst_event_new_new_segment)
943         (gst_event_parse_new_segment, gst_event_new_buffer_size)
944         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
945         Renamed from *_newsegment, *_buffersize, *_notarget.
946
947         * scripts/update-funcnames: New script, performs the changes
948         listed above.
949
950 2005-11-22  Wim Taymans  <wim@fluendo.com>
951
952         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
953         Make sure the GstFlowReturn is returned.
954
955         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
956         (gst_bus_add_signal_watch):
957         * gst/gstbus.h:
958         add gst_bus_add_signal_watch_full.
959
960         * gst/gstplugin.c: (gst_plugin_load_file):
961         Small style cleanup.
962
963 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
964
965         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
966           Block the fakesrc srcpad when we send an event, to avoid
967           contention on the stream_lock causing random test failures.
968
969 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
970
971         * check/gst/gstvalue.c: (GST_START_TEST):
972         * gst/gstvalue.c: (gst_value_fraction_subtract):
973           Fix subtraction.
974
975 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
976
977         * gst/gst.h:
978           include "gstchildproxy.h"
979         * gst/gstchildproxy.h:
980         * libs/gst/controller/gstcontroller.h:
981           use G_GNUC_NULL_TERMINATED
982
983 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
984
985         * check/gst/capslist.h:
986         * check/gst/gstcaps.c: (GST_START_TEST):
987         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
988         * gst/gststructure.c: (gst_structure_parse_range),
989         (gst_structure_fixate_field_nearest_fraction):
990         * gst/gststructure.h:
991         * gst/gstvalue.c: (gst_value_init_fraction_range),
992         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
993         (gst_value_collect_fraction_range),
994         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
995         (gst_value_set_fraction_range_full),
996         (gst_value_get_fraction_range_min),
997         (gst_value_get_fraction_range_max),
998         (gst_value_serialize_fraction_range),
999         (gst_value_transform_fraction_range_string),
1000         (gst_value_compare_fraction_range),
1001         (gst_value_deserialize_fraction_range),
1002         (gst_value_intersect_fraction_fraction_range),
1003         (gst_value_intersect_fraction_range_fraction_range),
1004         (gst_value_subtract_fraction_fraction_range),
1005         (gst_value_subtract_fraction_range_fraction),
1006         (gst_value_subtract_fraction_range_fraction_range),
1007         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1008         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1009         (gst_value_transform_string_fraction), (_gst_value_initialize):
1010         * gst/gstvalue.h:
1011           Implement fraction ranges and extend GstFraction to support
1012           arithmetic subtraction, as well as deserialization from integer
1013           strings such as "100"
1014           Add a testsuite as for int and double range set operations
1015
1016 2005-11-21  Andy Wingo  <wingo@pobox.com>
1017
1018         * gst/gsttaglist.h: 
1019         * gst/gstcaps.h: 
1020         * gst/gststructure.h: Add glib-compat.h.
1021
1022 2005-11-21  Wim Taymans  <wim@fluendo.com>
1023
1024         * gst/gstbin.c: (gst_bin_change_state_func):
1025         Fix for #321595
1026
1027 2005-11-21  Wim Taymans  <wim@fluendo.com>
1028
1029         * gst/gstsegment.h:
1030         And add a nice define too.
1031
1032 2005-11-21  Wim Taymans  <wim@fluendo.com>
1033
1034         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1035         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1036         (gst_segment_set_duration), (gst_segment_set_last_stop),
1037         (gst_segment_set_seek), (gst_segment_set_newsegment),
1038         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1039         (gst_segment_clip):
1040         * gst/gstsegment.h:
1041         Make binding friendly.
1042
1043 2005-11-21  Andy Wingo  <wingo@pobox.com>
1044
1045         * gst/gsttagsetter.h: 
1046         * gst/gsttaglist.h: 
1047         * gst/gststructure.h: 
1048         * gst/gstcaps.h: 
1049         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1050         #319940.
1051
1052         * gst/gsterror.c (_gst_core_errors_init):
1053         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1054         category.
1055
1056         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1057         (noinst_HEADERS): noinst the -private.
1058
1059 2005-11-21  Michael Smith <msmith@fluendo.com>
1060
1061         * gst/gstplugin.h:
1062         * gst/gstregistry.h:
1063           Remove unimplemented declarations for which we can see no sensible
1064           use.
1065
1066 2005-11-21  Andy Wingo  <wingo@pobox.com>
1067
1068         * gst/gst.h: Include glib-compat.h.
1069
1070         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1071
1072         * gst/glib-compat.c: Include the public and the private header.
1073
1074         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1075
1076         * gst/gstvalue.c: 
1077         * gst/gstpad.c: 
1078         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1079
1080         * check/gst/gstevent.c (create_custom_events): Check that
1081         FLUSH_STOP is serialized.
1082
1083         * check/elements/identity.c (event_func): 
1084         * check/elements/fakesrc.c (event_func): No stream lock, the core
1085         takes it.
1086
1087         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1088         stream lock taking, yay.
1089
1090         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1091         ensure that core takes the stream lock.
1092
1093         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1094         lock name change.
1095
1096         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1097         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1098         it already. For the flush start we do take it though so we get the
1099         right preroll state change messages.
1100
1101         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1102         the stream lock here, the core does it for us.
1103
1104         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1105         GST_STREAM_GET_LOCK.
1106         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1107         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1108         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1109         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1110         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1111         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1112
1113         * gst/gstpad.c: Update for stream lock name change.
1114
1115         * gst/base/gstbasesink.c: Update for preroll lock name change.
1116
1117 2005-11-21  Wim Taymans  <wim@fluendo.com>
1118
1119         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1120         (gst_clock_get_master):
1121         * gst/gstclock.h:
1122         * gst/gstsystemclock.c: (gst_system_clock_init):
1123         Convert Clock flags to object flags.
1124         Added methods to manage master/slave clocks.
1125
1126 2005-11-21  Wim Taymans  <wim@fluendo.com>
1127
1128         * check/gst/gstsegment.c: (GST_START_TEST):
1129         * docs/design/part-TODO.txt:
1130         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1131         (gst_base_sink_event), (gst_base_sink_do_sync),
1132         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1133         (gst_base_sink_query), (gst_base_sink_change_state):
1134         * gst/base/gstbasesink.h:
1135         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1136         (gst_base_src_default_newsegment),
1137         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1138         (gst_base_src_get_range), (gst_base_src_loop),
1139         (gst_base_src_change_state):
1140         * gst/base/gstbasesrc.h:
1141         * gst/base/gstbasetransform.c:
1142         (gst_base_transform_prepare_output_buf),
1143         (gst_base_transform_event), (gst_base_transform_change_state):
1144         * gst/base/gstbasetransform.h:
1145         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1146         (gst_collect_pads_event):
1147         * gst/base/gstcollectpads.h:
1148         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1149         (gst_fake_src_create):
1150         * gst/elements/gstfakesrc.h:
1151         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1152         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1153         (gst_segment_set_last_stop), (gst_segment_set_seek),
1154         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1155         (gst_segment_to_running_time), (gst_segment_clip):
1156         * gst/gstsegment.h:
1157         More segment updates, replace code in plugins with segment
1158         helper functions.
1159
1160 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1161
1162         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1163         Don't ignore sscanf results
1164
1165 2005-11-21  Andy Wingo  <wingo@pobox.com>
1166
1167         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1168
1169         * *.h:
1170         * *.c: Ran scripts/update-macros. Oh yes.
1171
1172         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1173         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1174         GST_GET_LOCK, etc.
1175
1176         * scripts/update-macros: New script. Run it on your files to
1177         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1178         well.
1179
1180 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1181
1182         * docs/gst/Makefile.am:
1183         * docs/gst/gstreamer-docs.sgml:
1184         * docs/gst/gstreamer-sections.txt:
1185         * docs/gst/gstreamer.types:
1186         * gst/gstinfo.h:
1187           more docs fixes, add new api to the docs
1188
1189 2005-11-21  Andy Wingo  <wingo@pobox.com>
1190
1191         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1192         state_broadcast call.
1193
1194         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1195
1196 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1197
1198         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1199         function calls for arrays.
1200
1201 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1202
1203         * docs/random/ensonic/media-device-daemon.txt:
1204           wild idea, can this be done?
1205         * docs/gst/gstreamer-sections.txt:
1206         * gst/gsterror.h:
1207         * gst/gstfilter.c:
1208         * gst/gstfilter.h:
1209         * gst/gstplugin.h:
1210         * gst/gstpluginfeature.c:
1211         * gst/gsttrace.c:
1212         * gst/gstvalue.c:
1213         * gst/gstvalue.h:
1214           doc fixes and additions
1215
1216 2005-11-21  Andy Wingo  <wingo@pobox.com>
1217
1218         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1219         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1220         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1221         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1222         private to the basesrc implementation.
1223
1224         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1225         behalf of event function if necessary. It should no longer be
1226         necessary to take the stream lock in pad's event functions. Fixes
1227         #320299.
1228
1229 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1230         * docs/gst/gstreamer-sections.txt:
1231         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1232         (gst_structure_fixate_field_nearest_double),
1233         (gst_structure_fixate_field_boolean):
1234         * gst/gststructure.h:
1235         * win32/common/libgstreamer.def:
1236         * win32/gstreamer.def:
1237
1238         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1239         (#322027)
1240
1241 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1242
1243         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1244         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1245         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1246         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1247         (gst_fdsrc_uri_handler_init):
1248         * gst/elements/gstfdsrc.h:
1249           Port fd:// URI handler from 0.8 to fdsrc
1250
1251 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1252
1253         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1254         (gst_value_serialize_fourcc):
1255         * gst/gstvalue.h:
1256           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1257           consistent with our other format defines (#320324).
1258
1259 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1260
1261         * gst/gstvalue.c: (gst_value_is_fixed):
1262           Revert previous commit. Value lists are by definition
1263           not fixed, as they are a list of possible values.
1264
1265 2005-11-21  Andy Wingo  <wingo@pobox.com>
1266
1267         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1268         during the stable series if we need it. Fixes #319178.
1269
1270         * gst/gstevent.c (gst_event_new_filler): Removed.
1271
1272         * check/gst/gstevent.c: Update comment about filler events.
1273
1274 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1275
1276         * gst/gstvalue.c: (gst_value_is_fixed):
1277           Should handle both value arrays and value lists.
1278
1279 2005-11-21  Andy Wingo  <wingo@pobox.com>
1280
1281         patch by: Alessandro Dessina <alessandro nnva org>
1282
1283         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1284         functions to access arrays. Fixes #321962.
1285
1286 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1287
1288         * docs/gst/gstreamer.types:
1289           gst_collectpads_get_type => gst_collect_pads_get_type.
1290           
1291         * gst/base/gstbasetransform.c:
1292           Remove unused SIGNAL_HANDOFF enum.
1293
1294 2005-11-21  Andy Wingo  <wingo@pobox.com>
1295
1296         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1297         the event type (upstream, downstream, serialized). Renamed
1298         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1299         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1300         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1301
1302         * gst/gstevent.c: Update for new CUSTOM event names.
1303
1304         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1305
1306         * gst/gstevent.h:
1307         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1308         bug #319392.
1309
1310 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1311
1312         * docs/gst/gstreamer-sections.txt:
1313         * win32/common/libgstbase.def:
1314         * win32/libgstbase.def:
1315         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1316         (gst_collect_pads_class_init), (gst_collect_pads_init),
1317         (gst_collect_pads_finalize), (gst_collect_pads_new),
1318         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1319         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1320         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1321         (gst_collect_pads_start), (gst_collect_pads_stop),
1322         (gst_collect_pads_peek), (gst_collect_pads_pop),
1323         (gst_collect_pads_available), (gst_collect_pads_read),
1324         (gst_collect_pads_flush), (gst_collect_pads_event),
1325         (gst_collect_pads_chain):
1326         * gst/base/gstcollectpads.h:
1327           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1328           unimplemented functions as unimplemented. Add padding to
1329           GstCollectData. (#320766, #320423)
1330
1331 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1332
1333         * gst/gstmessage.c:
1334           Improve docs for DURATION message (usage of duration parameter)
1335           (#320113)
1336
1337 2005-11-20  Wim Taymans  <wim@fluendo.com>
1338
1339         * check/Makefile.am:
1340         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1341         (main):
1342         * gst/Makefile.am:
1343         * gst/gst.h:
1344         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1345         (gst_segment_set_seek), (gst_segment_set_newsegment),
1346         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1347         (gst_segment_clip):
1348         * gst/gstsegment.h:
1349         Added segment helper structure and methods. Not fully implemented
1350         yet.
1351         Added segment check.
1352
1353 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1354
1355         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1356           Add a deserialisation test for fractions
1357         * examples/metadata/read-metadata.c: (message_loop),
1358         (make_pipeline), (main):
1359           Fix up metadata reading sample.
1360         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1361           Debug format fix
1362         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1363           Don't try and fixate empty caps
1364         * gst/gst_private.h:
1365           Wrap in G_BEGIN_DECLS/G_END_DECLS
1366         * gst/gstvalue.c: (gst_value_collect_fraction),
1367         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1368         (gst_value_transform_string_fraction),
1369         (gst_value_compare_fraction):
1370           Add some extra guards to ensure that we don't end up 
1371           with an invalid denominator of 0 in a gstfraction and
1372           that fractions always get reduced.
1373
1374 2005-11-20  Wim Taymans  <wim@fluendo.com>
1375
1376         * docs/gst/gstreamer-sections.txt:
1377         * gst/gstbuffer.h:
1378         * gst/gstelement.c:
1379         * gst/gstformat.c:
1380         * gst/gstformat.h:
1381         * gst/gstindex.h:
1382         * gst/gstquery.c:
1383         * gst/gstquery.h:
1384         * gst/gstvalue.c:
1385         Doc fixes.
1386
1387 2005-11-20  Wim Taymans  <wim@fluendo.com>
1388
1389         * docs/design/part-TODO.txt:
1390         * gst/gstcaps.h:
1391         Make a proper enum of the flag.
1392
1393 2005-11-19  Wim Taymans  <wim@fluendo.com>
1394
1395         * docs/design/part-TODO.txt:
1396         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1397         (gst_format_to_quark), (gst_format_register):
1398         * gst/gstformat.h:
1399         * gst/gstquery.c: (_gst_query_initialize),
1400         (gst_query_type_get_name), (gst_query_type_to_quark),
1401         (gst_query_type_register):
1402         * gst/gstquery.h:
1403         Add type to quark and type to string conversions.
1404
1405 2005-11-19  Andy Wingo  <wingo@pobox.com>
1406
1407         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1408         #320097.
1409
1410 2005-11-19  Wim Taymans  <wim@fluendo.com>
1411
1412         * docs/design/part-TODO.txt:
1413         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1414         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1415         (gst_bin_handle_message_func):
1416         * gst/gstbin.h:
1417         Make message handling overridable.
1418
1419 2005-11-19  Andy Wingo  <wingo@pobox.com>
1420
1421         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1422
1423         * gst/gstclock.h:
1424         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1425         be a GstClockTime.
1426         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1427         is a GstClockTime. Fixes #321710.
1428
1429         * gst/gstclock.h (GstClock): Remove offset property. Add
1430         internal_calibration and external_calibration. Fix padding. Pad
1431         also by GstClockTime so we don't run into problems.
1432
1433         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1434         (gst_clock_get_rate_offset): Remove.
1435         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1436
1437         * gst/gstutils.h:
1438         * gst/gstutils.c (g_static_rec_cond_wait)
1439         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1440
1441         * gst/gstbin.c: Remove terrible continue_state prototype.
1442
1443         * gst/gstelement.h (gst_element_continue_state): Make public.
1444
1445         * gst/gstelement.h:
1446         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1447         by continue_state. Fixes #319389.
1448
1449         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1450         Really fixes #168438. However I don't see anywhere where the
1451         filter function is called... stupid GStreamer...
1452         
1453         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1454         don't have a dispose function, so it won't get called when the
1455         object is unreffed, but oh well!
1456
1457         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1458         allows a destroy function to be set so user_data can be freed.
1459         Fixes #168438.
1460         (gst_index_set_filter): Call gst_index_set_filter_full.
1461
1462         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1463
1464         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1465         string should produce an error, given the lack of a way to
1466         represent NULL strings. Fixes #165650.
1467         
1468         * gst/gstvalue.h: 
1469         * gst/gstvalue.c (gst_value_array_append_value) 
1470         (gst_value_array_prepend_value, gst_value_array_get_size) 
1471         (gst_value_array_get_value): New API, copied from
1472         gst_value_list_*, only operates on arrays.
1473         (gst_value_list_append_value, gst_value_list_prepend_value) 
1474         (gst_value_list_concat, gst_value_list_get_size) 
1475         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1476
1477         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1478         init_list, because it works on both.
1479         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1480         (gst_value_copy_list_or_array): Renamed from copy_list.
1481         (gst_value_free_list_or_array): Renamed from free_list.
1482         (gst_value_collect_list_or_array): Renamed from collect_list.
1483         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1484         (gst_value_list_or_array_peek_pointer): Renamed from
1485         list_peek_pointer.
1486         (_gst_value_array_value_table, _gst_value_list_value_table):
1487         Update value table functions.
1488         (gst_value_compare_list_or_array): Renamed from compare_list.
1489
1490         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1491         some constness.
1492
1493         * gst/gsttaglist.c:
1494         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1495         GstTagList*. Fixes #143472.
1496
1497         * gst/gststructure.h: Clarify what the foreach/map functions can
1498         or can't do to their arguments.
1499
1500 2005-11-18  Wim Taymans  <wim@fluendo.com>
1501
1502         * gst/gstclock.c: (gst_clock_set_calibration),
1503         (gst_clock_get_calibration):
1504         Doc and API fixes.
1505         Calibration can be set with internal time equal to current
1506         internal time too.
1507
1508 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1509
1510         * gst/gsterror.c:
1511         * gst/gsterror.h:
1512           document
1513
1514 2005-11-18  Andy Wingo  <wingo@pobox.com>
1515
1516         * configure.ac: 
1517         * pkgconfig/gstreamer-net.pc.in:
1518         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1519         * pkgconfig/Makefile.am: Add net pkgconfig files.
1520
1521 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1522
1523         * gst/gstcaps.c:
1524         * gst/gstghostpad.c:
1525         * gst/gsttrace.c:
1526         * gst/gstvalue.c:
1527         * gst/gstvalue.h:
1528           docs fixes
1529
1530 2005-11-18  Andy Wingo  <wingo@pobox.com>
1531
1532         * gst/net/gstnetclientclock.c: Turn off debugging.
1533
1534         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1535         times connverge somewhat. Can't make a real test.
1536
1537         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1538         integer arithmetic. Return the minimum of the domain, which can be
1539         set as "internal" for gst_clock_set_calibration.
1540         (gst_net_client_clock_observe_times): Call _set_calibration.
1541         (gst_net_client_clock_new): Call _set_calibration instead of
1542         rate_offset.
1543
1544         * check/net/gstnetclientclock.c (test_functioning): Use the right
1545         adjustment api.
1546
1547         * gst/gstclock.h:
1548         * gst/gstclock.c (gst_clock_get_calibration) 
1549         (gst_clock_set_calibration): New functions, obsolete the ones I
1550         added yesterday. Doh. Precision issues mean we have to extrapolate
1551         from a point in the more recent past than 1970.
1552         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1553         obsolete.
1554         (gst_clock_adjust_unlocked): Use the right calibration data.
1555
1556 2005-11-18  Edward Hervey  <edward@fluendo.com>
1557
1558         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1559         Also reset the ->current_* values in READY->PAUSED
1560
1561 2005-11-18  Andy Wingo  <wingo@pobox.com>
1562
1563         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1564         Whoops, check the right fd. Also add some debugging.
1565         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1566         (do_linear_regression): Add a crapload of debugging. Subtract off
1567         the minimum values from the input series to discard unneeded bits.
1568         Use only int arithmetic. There is still double arithmetic when
1569         calculating the intercept that needs fixing. Return boolean to
1570         indicate success; FALSE would mean the domain or range is too
1571         great. Still needs fixes.
1572
1573 2005-11-18  Wim Taymans  <wim@fluendo.com>
1574
1575         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1576         For the current position in stream time, we need to subtract
1577         accumulated time.
1578         
1579         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1580         Release lock before calling the callback function of async
1581         entries.
1582
1583 2005-11-18  Andy Wingo  <wingo@pobox.com>
1584
1585         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1586         Port goes all the way to MAXUINT16.
1587
1588         * gst/net/gstnettimeprovider.c: Make the port range the same as
1589         for the kernel: 0 assigns, otherwise ports are less than
1590         MAXUINT16.
1591
1592         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1593         port change.
1594
1595         * check/net/gstnetclientclock.c (test_functioning): Add the start
1596         of another test. 
1597
1598 2005-11-18  Wim Taymans  <wim@fluendo.com>
1599
1600         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1601         (gst_bin_remove_func), (bin_bus_handler):
1602         * gst/gstbin.h:
1603         Removing a clock provider from a bin, triggers a clock lost message
1604         so that a new clock will be selected.
1605         Adding a clock to a bin triggers a clock provider message.
1606         Make sure we reselect a clock when we received a clock lost message.
1607         Keep a reference to the element that provided the clock.
1608
1609 2005-11-18  Andy Wingo  <wingo@pobox.com>
1610
1611         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1612         the clock initially so it produces values around the base time.
1613         (gst_net_client_clock_class_init): Typo fix.
1614         (gst_net_client_clock_thread): Add note on when the socket gets
1615         closed.
1616
1617 2005-11-17  Wim Taymans  <wim@fluendo.com>
1618
1619         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1620         Free remote and local time arrays.
1621
1622 2005-11-17  Wim Taymans  <wim@fluendo.com>
1623
1624         * gst/net/gstnetclientclock.c: (do_linear_regression),
1625         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1626         Fix compilation, uninitialized vars and a forgotten continue.
1627
1628 2005-11-17  Andy Wingo  <wingo@pobox.com>
1629
1630         * check/Makefile.am (check_PROGRAMS): 
1631         * check/net/gstnetclientclock.c: Add a most minimal test for the
1632         net client clock. More to come later.
1633
1634         * gst/net/gstnet.h: 
1635         * gst/net/Makefile.am: Add netclientclock.
1636
1637         * gst/net/gstnetclientclock.h:
1638         * gst/net/gstnetclientclock.c: New files, implement an untested
1639         GstClock that takes its time from a network time provider.
1640         Implements the algorithm in network-clock.scm.
1641
1642         * tests/network-clock.scm (*window-size*): Rename from
1643         *queue-length*.
1644         * tests/network-clock.scm (network-time): 
1645         * tests/network-clock-utils.scm (q-push): Update callers.
1646
1647 2005-11-17  Wim Taymans  <wim@fluendo.com>
1648
1649         * gst/gstbin.c: (gst_bin_provide_clock_func),
1650         (gst_bin_sort_iterator_new):
1651         And unref the child too..
1652
1653 2005-11-17  Wim Taymans  <wim@fluendo.com>
1654
1655         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1656         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1657         Refactor the sort iterator so it can be used while holding the
1658         LOCK too.
1659         Make clock selection select a clock closest to the source.
1660
1661 2005-11-17  Michael Smith <msmith@fluendo.com>
1662
1663         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1664         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1665         * gst/gstclock.h:
1666           Anonymous structs are a gcc (and some other compilers) extension, so
1667           don't use them. Since this is only for ABI-compatibility, and our
1668           API/ABI freeze is over in a few days, this whole thing will only
1669           last a few days, so don't bother trying to think up a meaningful
1670           name for the struct.
1671
1672 2005-11-17  Andy Wingo  <wingo@pobox.com>
1673
1674         * gst/gstclock.h (GstClock): Add rate and offset properties,
1675         preserving ABI stability. Add rate/offset accessors. Will file bug
1676         for the freeze break.
1677
1678         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1679         and offset, trying to keep precision and avoiding
1680         underflow/overflow.
1681         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1682         functions. Make gst_clock_set_time_adjust obsolete.
1683         (gst_clock_set_time_adjust): Note that this function is obsolete.
1684         Will file bug soon.
1685
1686         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1687         greppable by using GST_PADDING-1+1.
1688
1689 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1690
1691         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1692
1693         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1694           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1695
1696         * gst/gstpadtemplate.h:
1697         * gst/gstpluginfeature.h:
1698           Don't use c++ style comments in headers (#321638).
1699
1700 2005-11-16  Andy Wingo  <wingo@pobox.com>
1701
1702         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1703         buffer.
1704
1705         * check/net/gstnettimeprovider.c: Check to see that the time
1706         provider actually provides times. Works, yo!
1707
1708 2005-11-16  Wim Taymans  <wim@fluendo.com>
1709
1710         * check/Makefile.am:
1711         Enable more tests.
1712
1713         * check/elements/fakesrc.c: (GST_START_TEST):
1714         Set element to NULL before disposing it.
1715
1716 2005-11-16  Andy Wingo  <wingo@pobox.com>
1717
1718         * gst/net/Makefile.am:
1719         * gst/net/gstnet.h:
1720         * gst/net/gstnettimeprovider.c: 
1721         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1722         provider, include it from gstnet.h, and add it to the build.
1723
1724         * gst/net/gstnettimepacket.h: 
1725         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1726         sending and receiving.
1727
1728 2005-11-16  Wim Taymans  <wim@fluendo.com>
1729
1730         * check/Makefile.am:
1731         Enable valgrind check.
1732
1733         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1734         (gst_fake_src_alloc_buffer):
1735         Fix memleak.
1736
1737 2005-11-16  Wim Taymans  <wim@fluendo.com>
1738
1739         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1740         Call parent finalize too.
1741
1742 2005-11-16  Wim Taymans  <wim@fluendo.com>
1743
1744         * check/Makefile.am:
1745         Enable valgrind check that should work fine now.
1746
1747         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1748         * gst/gstqueue.c: (gst_queue_init):
1749         Fix memleaks in pad allocation.
1750
1751 2005-11-16  Andy Wingo  <wingo@pobox.com>
1752
1753         * gst/net/Makefile.am:
1754         * gst/net/gstnet.h: New part of core to hold network elements and
1755         objects. Put in core because it exposes API that applications want
1756         to use. The library is named libgstnet-tempname right now because
1757         of the existing libgstnet in gst-plugins-base. Solution is
1758         probably to rename the one in plugins-base; will file a bug for
1759         the freeze break.
1760
1761         * gst/net/gstnettimeprovider.c: 
1762         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1763         get_time call over the network.
1764
1765         * configure.ac: 
1766         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1767
1768         * check/Makefile.am:
1769         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1770         get additions shortly.
1771
1772 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1773
1774         * gst/gstpad.c: (gst_pad_new_from_static_template):
1775         * gst/gstpad.h:
1776           add gst_pad_new_from_static_template functions
1777         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1778         (gst_check_setup_sink_pad):
1779         * gst/elements/gsttee.c: (gst_tee_init):
1780           and use them
1781
1782 2005-11-16  Wim Taymans  <wim@fluendo.com>
1783
1784         * gst/gstpad.c: (gst_pad_pause_task):
1785         Removed warning, it's not really an error either.
1786
1787 2005-11-16  Wim Taymans  <wim@fluendo.com>
1788
1789         * gst/base/gstbasetransform.c:
1790         (gst_base_transform_prepare_output_buf),
1791         (gst_base_transform_event):
1792         Check if the caps are NULL, this can happen if the element
1793         is shutting down and the pad caps are set to NULL.
1794
1795 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1796
1797         * gst/elements/gsttee.c: (gst_tee_init):
1798           fix pad template leak in tee
1799
1800 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1801
1802         * gst/glib-compat.c: (g_value_dup_gst_object):
1803         * gst/glib-compat.h:
1804         * gst/gstpad.c: (gst_pad_set_property):
1805           use gst_object_ref when setting the pad template; this will
1806           trigger the pad template leaks on GLib 2.6 and the slaves
1807
1808 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1809
1810         * gst/glib-compat.c: (gst_flags_get_first_value):
1811         * gst/glib-compat.h:
1812         * gst/gstregistryxml.c:
1813           remove functions copied from GLib 2.6
1814
1815 2005-11-16  Michael Smith <msmith@fluendo.com>
1816
1817         * gst/Makefile.am:
1818           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1819           do, but only breaks with newer valgrind versions. We're not a
1820           valgrind tool, we have no link-time dependencies on libcoregrind.
1821
1822 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1823
1824         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1825           some debug changes
1826         * gst/gstmessage.h:
1827           typo fixes
1828
1829 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1830
1831         * gst/base/gstbasesrc.c: (gst_base_src_init):
1832         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1833         * gst/gstqueue.c: (gst_queue_init):
1834         * gst/gstregistryxml.c: (load_feature):
1835           Revert all these unrefs, they don't even pass make check !
1836
1837 2005-11-15  Johan Dahlin  <johan@gnome.org>
1838
1839         * gst/base/gstbasesrc.c: (gst_base_src_init):
1840         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1841         * gst/gstqueue.c: (gst_queue_init): 
1842         Free pad templates, fixes a couple of leaks.
1843
1844 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1845
1846         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1847
1848         * gst/gstpad.c: (gst_pad_get_property):
1849           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1850           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1851           (#321452)
1852
1853 2005-11-15  Wim Taymans  <wim@fluendo.com>
1854
1855         * gst/gstevent.c:
1856         Small doc update.
1857
1858 2005-11-15  Andy Wingo  <wingo@pobox.com>
1859
1860         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1861
1862         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1863         using GST_CLOCK_TIME_NONE to disable base time management.
1864         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1865         time if it was NONE before.
1866         (gst_pipeline_change_state): Only munge the base time if
1867         stream_time != GST_CLOCK_TIME_NONE.
1868
1869         * check/gst/gstpipeline.c (test_base_time): Punt around the
1870         problem of the probe not being called, because that's not the
1871         issue I'm looking at. Add a check that setting stream_time to NONE
1872         disables base time management.
1873         
1874 2005-11-15  Wim Taymans  <wim@fluendo.com>
1875
1876         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1877         segment_stop == -1 at startup.
1878
1879         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1880         (gst_base_transform_change_state):
1881         Init segment values at start.
1882
1883 2005-11-15  Wim Taymans  <wim@fluendo.com>
1884
1885         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1886         0 segment values are 0 in any format.
1887
1888         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1889         * gst/base/gstbasetransform.h:
1890         Parse newsegment correctly in basetransform
1891
1892         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1893         Sync to clock using updated segment values.
1894
1895 2005-11-15  Andy Wingo  <wingo@pobox.com>
1896
1897         * check/gst/gstpipeline.c (test_base_time): Add check that the
1898         base time and stream time are reset correctly.
1899
1900 2005-11-15  Wim Taymans  <wim@fluendo.com>
1901
1902         * docs/design/part-TODO.txt:
1903         Some more TODO items.
1904
1905 2005-11-15  Andy Wingo  <wingo@pobox.com>
1906
1907         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1908         error if the user selected "no clock" as the clocking method.
1909
1910         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1911         timestamps with live capture.
1912
1913         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1914         is 0 but we are a live source, timestamp the buffers using the
1915         element's clock.
1916
1917 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1918
1919         * docs/gst/gstreamer-sections.txt:
1920         * gst/gsterror.c:
1921         * gst/gstghostpad.c:
1922         * gst/gstobject.h:
1923         * gst/gstxml.c:
1924           more section docs
1925
1926 2005-11-14  Wim Taymans  <wim@fluendo.com>
1927
1928         * common/gst.supp:
1929           add suppressions from Wim's Debian machine
1930
1931 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1932
1933         * common/gst.supp:
1934           add suppressions from Andy's AMD64 Ubuntu machine
1935
1936 2005-11-14  Andy Wingo  <wingo@pobox.com>
1937
1938         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1939         STATE_LOCK not necessary. Fixes #311489.
1940
1941         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1942         #305291.
1943
1944         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1945         this function is not implemented.
1946
1947 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1948
1949         * gst/base/gstbasetransform.c:
1950         (gst_base_transform_prepare_output_buf):
1951         Ref the source pad caps while we need them.
1952         Fixes (#321386)
1953
1954 2005-11-11  Wim Taymans  <wim@fluendo.com>
1955
1956         * docs/gst/gstreamer-sections.txt:
1957         Added some docs for GstCollectData.
1958
1959         * gst/base/gstadapter.c:
1960         Some small code example fix.
1961
1962         * gst/base/gstcollectpads.c:
1963         * gst/base/gstcollectpads.h:
1964         Document some more.
1965
1966 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1967
1968         * configure.ac: back to HEAD
1969
1970 === release 0.9.5 ===
1971
1972 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1973
1974         * configure.ac:
1975           releasing 0.9.5, "Bike Lunch Day"
1976
1977 2005-11-11  Wim Taymans  <wim@fluendo.com>
1978
1979         * gst/gstbuffer.c: (_gst_buffer_copy):
1980         Copy more flags.
1981
1982         * gst/gstcaps.c: (gst_caps_is_equal):
1983         Fix some docs.
1984         Make _is_equal fast in the trivial cases.
1985
1986         * gst/gstminiobject.c:
1987         * gst/gstminiobject.h:
1988         More docs. Spifify .h file.
1989
1990         * gst/gstutils.c:
1991         Small doc update.
1992
1993 2005-11-11  Wim Taymans  <wim@fluendo.com>
1994
1995         * gst/base/gstbasetransform.c:
1996         (gst_base_transform_prepare_output_buf),
1997         (gst_base_transform_handle_buffer):
1998         Small cleanups.
1999         If we're processing a buffer and need to allocate an output
2000         buffer, we cannot accept a format change. If we did get a 
2001         format change, we have to alloc a buffer ourselves of the 
2002         right size.
2003
2004 2005-11-11  Wim Taymans  <wim@fluendo.com>
2005
2006         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2007         While checking the flag for reentrancy in the gstcaps function
2008         is nice to detect recursive invocations, it also makes it 
2009         impossible to call getcaps from multiple threads, which must be
2010         possible. So, checking for recursive calls has to go.
2011
2012 2005-11-11  Michael Smith <msmith@fluendo.com>
2013
2014         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2015           Don't sync on buffers that fall partially outside our current
2016           segment. Prevents an assertion failure/abort playing some files.
2017
2018 2005-11-10  Andy Wingo  <wingo@pobox.com>
2019
2020         * check/gst/gstbin.c (test_message_state_changed_children): Style
2021         fix..
2022
2023         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2024         gst_bus_poll with the signal watch. Ensures that poll and a signal
2025         watch see the same messages.
2026
2027         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2028         a poll and a watch at the same time get the same messages.
2029
2030 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2031
2032         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2033         * gst/gstcaps.c: (gst_caps_intersect):
2034           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2035           and it's not needed.
2036
2037 2005-11-10  Wim Taymans  <wim@fluendo.com>
2038
2039         * docs/design/part-TODO.txt:
2040         Updated todo.
2041
2042 2005-11-10  Wim Taymans  <wim@fluendo.com>
2043
2044         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2045         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2046         (gst_base_src_do_sync), (gst_base_src_get_range):
2047         Implement clock sync in base class.
2048
2049 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2050
2051         patch by: Tim-Philipp Müller <tim at centricular dot net>
2052
2053         * gst/gststructure.c: (gst_structure_parse_field),
2054         (gst_structure_from_string):
2055           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2056           so that gst_parse_launch() can deal with spaces in filtered link
2057           caps (fixes #164479)
2058         * check/gst/capslist.h:
2059         * check/gst/gststructure.c: (GST_START_TEST):
2060           add unit tests for this change
2061
2062 2005-11-10  Wim Taymans  <wim@fluendo.com>
2063
2064         * docs/gst/gstreamer-sections.txt:
2065         * gst/gstelement.c:
2066         * gst/gstelement.h:
2067         Fix docs, move some STATE macros to private.
2068
2069 2005-11-10  Wim Taymans  <wim@fluendo.com>
2070
2071         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2072         Added check for bug #317341
2073
2074         * gst/gstbuffer.c:
2075         * gst/gstbuffer.h:
2076         Some more spiffifying.
2077
2078         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2079         Call peer linkfunction if we are a source pad. Totally fixes
2080         #317341
2081
2082         * gst/gstpad.c:
2083         Update docs, source pads should call the peer linkfunction
2084         so they can atomically perform the pad link.
2085
2086 2005-11-09  Wim Taymans  <wim@fluendo.com>
2087
2088         * gst/gstbuffer.c:
2089         * gst/gstbuffer.h:
2090         Uber-spiffy-spiffify some more.
2091
2092 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2093
2094         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2095         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2096         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2097         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2098         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2099         * gst/gstpad.c: (gst_pad_init):
2100           Use GST_DEBUG_FUNCPTR() more extensively.
2101
2102 2005-11-09  Wim Taymans  <wim@fluendo.com>
2103
2104         * gst/gstobject.c: (gst_object_class_init):
2105         * gst/gstobject.h:
2106         Documentation fixes.
2107
2108 2005-11-09  Edward Hervey  <edward@fluendo.com>
2109
2110         * gst/gsttypefindfactory.c:
2111         Fix docs.
2112         
2113 2005-11-09  Edward Hervey  <edward@fluendo.com>
2114
2115         * gst/base/gsttypefindhelper.c:
2116         * gst/gsttypefind.c:
2117         * gst/gsttypefind.h:
2118         Fix docs.
2119
2120 2005-11-09  Wim Taymans  <wim@fluendo.com>
2121
2122         * gst/gstiterator.c:
2123         Fix revision data.
2124
2125         * gst/gsttask.c:
2126         * gst/gsttask.h:
2127         Fix docs.
2128
2129 2005-11-09  Wim Taymans  <wim@fluendo.com>
2130
2131         * gst/gstevent.h:
2132         * gst/gsturi.h:
2133         Fix docs.
2134
2135 2005-11-09  Wim Taymans  <wim@fluendo.com>
2136
2137         * docs/gst/gstreamer-sections.txt:
2138         Moved the message async delivery private lock and cond
2139         to the private section.
2140
2141         * gst/gstmessage.c:
2142         * gst/gstmessage.h:
2143         Fixed docs.
2144
2145 2005-11-09  Edward Hervey  <edward@fluendo.com>
2146
2147         * docs/gst/gstreamer-sections.txt:
2148         * gst/gsturi.c:
2149         * gst/gsturi.h:
2150         Document GstURIHandler
2151
2152 2005-11-09  Wim Taymans  <wim@fluendo.com>
2153
2154         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2155         (gst_iterator_find_custom):
2156         * gst/gstiterator.h:
2157         Fix iterator docs.
2158
2159 2005-11-09  Wim Taymans  <wim@fluendo.com>
2160
2161         * gst/gstbin.h:
2162         Document another field.
2163
2164         * gst/gststructure.c:
2165         * gst/gststructure.h:
2166         Document.
2167
2168 2005-11-09  Wim Taymans  <wim@fluendo.com>
2169
2170         * gst/gstbin.h:
2171         Documented structs.
2172
2173 2005-11-09  Wim Taymans  <wim@fluendo.com>
2174
2175         * docs/gst/gstreamer-sections.txt:
2176         Added some new macros.
2177
2178         * gst/gstclock.c:
2179         * gst/gstclock.h:
2180         * gst/gstobject.h:
2181         Docs updates.
2182
2183 2005-11-09  Wim Taymans  <wim@fluendo.com>
2184
2185         * docs/design/part-TODO.txt:
2186         Some more items for the TODO
2187
2188         * gst/gstcaps.c:
2189         * gst/gstcaps.h:
2190         Document GstCaps.
2191
2192 2005-11-09  Andy Wingo  <wingo@pobox.com>
2193
2194         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2195         to work on something else now tho...
2196
2197         * gst/base/gstadapter.c: More adapter docs.
2198
2199         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2200         (gst_file_sink_stop): New functions, replace the state change
2201         handler.
2202         (gst_file_sink_class_init): Hook up the start and stop functions.
2203         (gst_file_sink_base_init): Don't set the state change handler any
2204         more. It was a bit ugly too, being set from here...
2205         (gst_file_sink_get_property, gst_file_sink_set_property):
2206         Cleanups...
2207         (gst_file_sink_set_location): More robust check that doesn't call
2208         GST_STATE. Ugggggg.
2209
2210 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2211
2212         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2213           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2214
2215 2005-11-08  Wim Taymans  <wim@fluendo.com>
2216
2217         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2218         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2219         (gst_base_sink_chain), (gst_base_sink_change_state):
2220         * gst/base/gstbasesink.h:
2221         * gst/base/gstbasesrc.h:
2222         * gst/gstelement.h:
2223         * gst/gstevent.h:
2224         Avoid excessive typechecking in macros.
2225
2226         * gst/gstminiobject.c: (gst_mini_object_get_type),
2227         (gst_mini_object_init), (gst_mini_object_new),
2228         (gst_mini_object_free):
2229         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2230         (gst_object_finalize):
2231         Remove cruft code, optimize alloc_trace.
2232
2233 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2234
2235         * docs/faq/gst-uninstalled:
2236           fix up PS1 for systems that try to reset it
2237
2238 2005-11-07  Wim Taymans  <wim@fluendo.com>
2239
2240         * gst/base/gstbasesrc.c: (gst_base_src_init),
2241         (gst_base_src_get_range):
2242         Set the segment_end to -1 initially. Fixed typefind.
2243
2244 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2245
2246         * gst/base/gstadapter.c:
2247           Debug category should be 'adapter', not 'GstAdapter'.
2248           
2249         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2250         (gst_collectpads_class_init), (gst_collectpads_init),
2251         (gst_collectpads_peek), (gst_collectpads_pop),
2252         (gst_collectpads_event), (gst_collectpads_chain):
2253           Add debug category and some debugging output. Use boilerplate
2254           macros. Remove some extraneous words from docs.
2255
2256 2005-11-05  Andy Wingo  <wingo@pobox.com>
2257
2258         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2259         macro.
2260
2261 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2262
2263         * docs/gst/gstreamer-sections.txt:
2264         * gst/gstcaps.h:
2265         * gst/gstinfo.c:
2266         * gst/gstminiobject.h:
2267         * gst/gstobject.h:
2268         * gst/gstutils.h:
2269           more docs added
2270
2271 2005-11-04  Wim Taymans  <wim@fluendo.com>
2272
2273         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2274         Small update to stop at the configured segment_end
2275         position.
2276
2277 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2278
2279         * gst/gstregistry.c:
2280         * gst/gstregistry.h:
2281           added missing docs
2282
2283 2005-11-04  Edward Hervey  <edward@fluendo.com>
2284
2285         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2286         Check if we are doing a segment seek and have arrived at the
2287         end of that segment.
2288
2289 2005-11-04  Wim Taymans  <wim@fluendo.com>
2290
2291         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2292         Don't leak a mutex unlock in case of an error.
2293
2294         * gst/gstbus.h:
2295         Doc fixes.
2296
2297 2005-11-04  Wim Taymans  <wim@fluendo.com>
2298
2299         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2300         (gst_bus_post):
2301         Get the context to wake up only once.
2302
2303 2005-11-03  Wim Taymans  <wim@fluendo.com>
2304
2305         * check/states/sinks.c: (GST_START_TEST):
2306         Uncomment fixed check.
2307
2308         * docs/design/part-TODO.txt:
2309         Updated TODO.
2310
2311         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2312         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2313         (gst_base_sink_get_position):
2314         If we are going to PLAYING, post the right pending state
2315         when we post the intermediate paused message.
2316
2317         * gst/gstelement.c: (gst_element_continue_state),
2318         (gst_element_set_state_func), (gst_element_change_state):
2319         Don't post state changes that were between the same state
2320         and were not ASYNC.
2321
2322 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2323
2324         * docs/gst/gstreamer-sections.txt:
2325         * gst/gstcaps.h:
2326         * gst/gstinfo.c:
2327         * gst/gstminiobject.h:
2328         * gst/gstobject.h:
2329         * gst/gstutils.h:
2330           more docs and doc style fixes
2331
2332 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2333
2334         * docs/gst/gstreamer-sections.txt:
2335         * gst/gstelement.c:
2336         * gst/gstminiobject.c:
2337         doc fixes
2338
2339 2005-11-03  Andy Wingo  <wingo@pobox.com>
2340
2341         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2342         state-changed messages actually have the right order and the right
2343         values.
2344
2345 2005-11-03  Wim Taymans  <wim@fluendo.com>
2346
2347         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2348         Added some more checks. Specifically the case where NO_PREROLL
2349         elements are in the pipeline.
2350
2351         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2352         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2353         (gst_base_sink_get_position):
2354         Post READY->PAUSED state change messages too.
2355         Fix bug where VOID was posted as pending state...
2356
2357         * gst/gstbin.c: (gst_bin_recalc_state):
2358         use _element_continue_state() to continue the state change.
2359
2360         * gst/gstelement.c: (gst_element_continue_state),
2361         (gst_element_commit_state), (gst_element_set_state_func),
2362         (gst_element_change_state), (gst_element_change_state_func):
2363         Lots of state change cleanups, assign the STATE_RETURN in
2364         a new continue_state() function that also propagates the
2365         last return value from a state change to the app.
2366         Update some debug statements with proper category.
2367
2368 2005-11-03  Wim Taymans  <wim@fluendo.com>
2369
2370         * docs/design/part-events.txt:
2371         * docs/design/part-gstpipeline.txt:
2372         * docs/design/part-messages.txt:
2373         * docs/design/part-overview.txt:
2374         * docs/design/part-seeking.txt:
2375         * docs/design/part-states.txt:
2376         * docs/design/part-trickmodes.txt:
2377         * docs/manual/advanced-position.xml:
2378         Small docs updates.
2379
2380         * gst/gstobject.h:
2381         People think !! is ugly, this looks better.
2382
2383         * gst/gstpad.c: (gst_pad_set_blocked_async):
2384         Remove !! since it's fixed elsewhere now.
2385
2386 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2387
2388         * gst/gstminiobject.h:
2389         * gst/gstobject.h:
2390           Add !! to _FLAG_IS_SET macros to make the result boolean.
2391
2392 2005-11-03  Edward Hervey  <edward@fluendo.com>
2393
2394         * gst/gstpad.c: (gst_pad_set_blocked_async):
2395         comparing a flag and a gboolean rarely returns coherent results...
2396         Added two characters (!!) to make that work correctly.
2397         
2398 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2399
2400         * gst/gstbus.c: (gst_bus_class_init):
2401           Fix some typos.
2402           
2403         * gst/gstqueue.c: (gst_queue_loop):
2404           Don't assume a miniobject that isn't a buffer is an
2405           event (it could be that there is a refcounting
2406           problem somewhere and the pointer is stale and
2407           refers to an already destroyed miniobject).
2408
2409 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2410
2411         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2412
2413 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2414
2415         * docs/manual/advanced-position.xml:
2416           Update seek example and explanations to current 0.9 API.
2417
2418         * gst/elements/gsttypefindelement.c:
2419         (gst_type_find_element_activate):
2420           Remove FIXME comment now that the found caps
2421           are unreffed.
2422
2423 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2424
2425         * gst/gstregistryxml.c: (load_feature):
2426           Add another GST_STR_NULL instance
2427
2428 2005-11-02  Edward Hervey  <edward@fluendo.com>
2429
2430         * gst/gstpad.c: (handle_pad_block):
2431         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2432         
2433 2005-11-02  Wim Taymans  <wim@fluendo.com>
2434
2435         * gst/gstbin.c:
2436         Fix typo in docs.
2437
2438         * gst/gstelement.c: (gst_element_commit_state):
2439         Remove unused value.
2440
2441         * gst/gstiterator.c:
2442         Mention that the returned element is reffed in the docs.
2443
2444 2005-11-02  Wim Taymans  <wim@fluendo.com>
2445
2446         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2447         (gst_pad_push), (gst_pad_push_event):
2448         Unlock blocked pads when they are flushed.
2449
2450 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2451
2452         * docs/README:
2453         * docs/gst/gstreamer-sections.txt:
2454         * gst/gstbin.c:
2455           doc updates
2456         * gst/gstregistry.c: (gst_registry_scan_path_level):
2457           fix for a nasty little missed situation where an installed plug-in
2458           which was in the cache did not get overridden by an uninstalled one
2459           which was earlier in the plugin path because the newly created plugin
2460           for the uninstalled one (not in the registry) didn't get its
2461           ->registered set to TRUE
2462
2463 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2464
2465         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2466         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2467         (gst_collectpads_is_active), (gst_collectpads_collect),
2468         (gst_collectpads_collect_range), (gst_collectpads_start),
2469         (gst_collectpads_stop), (gst_collectpads_peek),
2470         (gst_collectpads_pop), (gst_collectpads_available),
2471         (gst_collectpads_read), (gst_collectpads_flush):
2472           Guard public API with assertions.
2473         
2474         * gst/gstpad.c:
2475           Fix docs for gst_pad_set_link_function().
2476
2477 2005-11-02  Johan Dahlin  <johan@gnome.org>
2478
2479         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2480         Unref found_caps after we used it.
2481
2482 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2483
2484         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2485           Don't try to ref NULL.
2486
2487 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2488
2489         * win32/common/config.h.in:
2490           provide a GST_FUNCTION that just gives a string for now
2491
2492 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2493
2494         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2495         (gst_object_flags_get_type), (register_gst_bin_flags),
2496         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2497         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2498         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2499         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2500         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2501         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2502         (gst_clock_flags_get_type), (register_gst_state),
2503         (gst_state_get_type), (register_gst_state_change_return),
2504         (gst_state_change_return_get_type), (register_gst_state_change),
2505         (gst_state_change_get_type), (register_gst_element_flags),
2506         (gst_element_flags_get_type), (register_gst_core_error),
2507         (gst_core_error_get_type), (register_gst_library_error),
2508         (gst_library_error_get_type), (register_gst_resource_error),
2509         (gst_resource_error_get_type), (register_gst_stream_error),
2510         (gst_stream_error_get_type), (register_gst_event_type),
2511         (gst_event_type_get_type), (register_gst_seek_type),
2512         (gst_seek_type_get_type), (register_gst_seek_flags),
2513         (gst_seek_flags_get_type), (register_gst_format),
2514         (gst_format_get_type), (register_gst_index_certainty),
2515         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2516         (gst_index_entry_type_get_type),
2517         (register_gst_index_lookup_method),
2518         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2519         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2520         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2521         (gst_index_flags_get_type), (register_gst_debug_level),
2522         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2523         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2524         (gst_iterator_result_get_type), (register_gst_iterator_item),
2525         (gst_iterator_item_get_type), (register_gst_message_type),
2526         (gst_message_type_get_type), (register_gst_mini_object_flags),
2527         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2528         (gst_pad_link_return_get_type), (register_gst_flow_return),
2529         (gst_flow_return_get_type), (register_gst_activate_mode),
2530         (gst_activate_mode_get_type), (register_gst_pad_direction),
2531         (gst_pad_direction_get_type), (register_gst_pad_flags),
2532         (gst_pad_flags_get_type), (register_gst_pad_presence),
2533         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2534         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2535         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2536         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2537         (gst_plugin_flags_get_type), (register_gst_rank),
2538         (gst_rank_get_type), (register_gst_query_type),
2539         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2540         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2541         (gst_tag_flag_get_type), (register_gst_task_state),
2542         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2543         (gst_alloc_trace_flags_get_type),
2544         (register_gst_type_find_probability),
2545         (gst_type_find_probability_get_type), (register_gst_uri_type),
2546         (gst_uri_type_get_type), (register_gst_parse_error),
2547         (gst_parse_error_get_type):
2548         * win32/common/gstversion.h:
2549           update win32 copies
2550
2551 2005-11-01  Luca Ognibene  <luogni@tin.it>
2552
2553         * gst/gst.c:
2554           fix docs. popt is dead, long live GOption.
2555
2556 2005-10-31  Wim Taymans  <wim@fluendo.com>
2557
2558         * gst/gstbuffer.h:
2559         Small doc fix.
2560
2561 2005-10-31  Andy Wingo  <wingo@pobox.com>
2562
2563         * Boo!
2564
2565         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2566
2567         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2568         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2569         the possibility of deadlocks here if code calling notify() or
2570         set() has a lock that can be taken in another notify handler (ABBA
2571         with class lock and e.g. python GIL state lock).
2572
2573 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2574
2575         * gst/gstbus.c: Doc updates.
2576
2577 2005-10-28  Wim Taymans  <wim@fluendo.com>
2578
2579         * docs/design/part-TODO.txt:
2580         * gst/gstiterator.c:
2581         * gst/gstsystemclock.c:
2582         * gst/gstsystemclock.h:
2583         Doc updates.
2584
2585 2005-10-28  Edward Hervey  <edward@fluendo.com>
2586
2587         * docs/gst/gstreamer-docs.sgml:
2588         * docs/gst/gstreamer-sections.txt:
2589         the GstURIType documentation page is private, it only defines GstURIType
2590         which should be defined in the GstURIHandler page
2591         
2592 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2593
2594         * gst/gstbin.c: (gst_bin_class_init):
2595         * gst/gstbin.h:
2596         * gst/gstutils.c:
2597         Documentation updates.
2598
2599 2005-10-28  Wim Taymans  <wim@fluendo.com>
2600
2601         * docs/gst/gstreamer-sections.txt:
2602         * gst/gstclock.c:
2603         * gst/gstclock.h:
2604         Documented the clocks.
2605
2606 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2607
2608         * docs/gst/gstreamer-sections.txt:
2609           move some macros to private sections
2610         * gst/gstminiobject.c:
2611         * gst/gstminiobject.h:
2612           add descriptions provided by ds and some more
2613         * gst/gstpad.h:
2614           mark macro as to be removed
2615
2616 2005-10-28  Wim Taymans  <wim@fluendo.com>
2617
2618         * docs/design/part-TODO.txt:
2619         Add an item to TODO.
2620
2621         * gst/gstiterator.c: (gst_iterator_fold),
2622         (gst_iterator_find_custom):
2623         * gst/gstiterator.h:
2624         Add iterator docs.
2625
2626 2005-10-28  Wim Taymans  <wim@fluendo.com>
2627
2628         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2629         (gst_base_transform_init):
2630         Don't leak class.
2631
2632         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2633         An EOS event marks the queue as completely filled.
2634
2635 2005-10-27  Wim Taymans  <wim@fluendo.com>
2636
2637         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2638         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2639         Some more debugging.
2640
2641         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2642         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2643         (gst_base_transform_event), (gst_base_transform_getrange),
2644         (gst_base_transform_chain):
2645         * gst/base/gstbasetransform.h:
2646         Fix debugging,
2647         Protect transform and concurrent buffer alloc with a new lock.
2648         Try not to break ABI/API.
2649
2650 2005-10-27  Wim Taymans  <wim@fluendo.com>
2651
2652         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2653         (gst_base_src_init), (gst_base_src_query),
2654         (gst_base_src_default_newsegment),
2655         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2656         (gst_base_src_send_event), (gst_base_src_event_handler),
2657         (gst_base_src_pad_get_range), (gst_base_src_loop),
2658         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2659         (gst_base_src_start), (gst_base_src_deactivate),
2660         (gst_base_src_activate_push), (gst_base_src_change_state):
2661         Move some stuff around and cleanup things.
2662
2663 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2664
2665         * gst/base/gstbasesrc.c: (gst_base_src_query):
2666           Add missing break statements.
2667
2668 2005-10-27  Wim Taymans  <wim@fluendo.com>
2669
2670         * check/gst/gstbin.c: (GST_START_TEST):
2671         An extra refcount is taken in basesrc.
2672
2673         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2674         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2675         (gst_base_src_loop):
2676         Small cleanups, check for flushing after being unlocked from the 
2677         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2678         Don't send out EOS when going to READY.
2679
2680 2005-10-27  Wim Taymans  <wim@fluendo.com>
2681
2682         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2683         (gst_base_sink_get_position):
2684         Some more debug.
2685
2686         * gst/gstbin.c: (message_check), (bin_replace_message),
2687         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2688         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2689         (bin_query_duration_init), (bin_query_duration_fold),
2690         (bin_query_duration_done), (bin_query_generic_fold),
2691         (gst_bin_query):
2692         * tools/gst-launch.c: (main):
2693         Remove old option.
2694
2695 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2696
2697         * examples/controller/audio-example.c: (main):
2698         * examples/queue/queue.c: (event_loop):
2699         * gst/base/gstbasetransform.h:
2700         * gst/gstelement.c: (gst_element_send_event):
2701         * gst/gstevent.h:
2702         * gst/gstpad.c: (gst_pad_send_event):
2703           fixing examples
2704           fixing docs typos
2705           changing log priority in error situations
2706
2707 2005-10-25  Wim Taymans  <wim@fluendo.com>
2708
2709         * gst/gstbin.c: (message_check), (bin_replace_message),
2710         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2711         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2712         (bin_query_duration_init), (bin_query_duration_fold),
2713         (bin_query_duration_done), (bin_query_generic_fold),
2714         (gst_bin_query):
2715         Some doc and debug updates.
2716         Cache previously requested query DURATION for speed. invalidate
2717         cached duration if element posts a DURATION message.
2718
2719 2005-10-25  Wim Taymans  <wim@fluendo.com>
2720
2721         * docs/design/part-TODO.txt:
2722         Update TODO.
2723
2724         * gst/gstbin.c: (message_check), (bin_replace_message),
2725         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2726         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2727         (bin_query_duration_init), (bin_query_duration_fold),
2728         (bin_query_duration_done), (bin_query_generic_fold),
2729         (gst_bin_query):
2730         Handle SEGMENT_START/DONE messages correctly.
2731         More evolved query algorithm that handles duration queries
2732         correctly.
2733
2734         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2735         (gst_element_get_state_func), (gst_element_abort_state),
2736         (gst_element_commit_state), (gst_element_lost_state):
2737         Some more debugging.
2738
2739         * gst/gstmessage.h:
2740         Added doc.
2741
2742 2005-10-25  Wim Taymans  <wim@fluendo.com>
2743
2744         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2745         Don't use invalid stream_time.
2746
2747         * gst/gstevent.c: (gst_event_new_newsegment):
2748         stream_time in newsegment cannot be undefined.
2749
2750 2005-10-24  Wim Taymans  <wim@fluendo.com>
2751
2752         * gst/gstbus.c:
2753         Doc fix.
2754
2755         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2756         (gst_queue_loop):
2757         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2758
2759 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2760
2761         * docs/libs/tmpl/gstdparam.sgml:
2762         * docs/libs/tmpl/gstdplinint.sgml:
2763         * docs/libs/tmpl/gstdpman.sgml:
2764         * docs/libs/tmpl/gstdpsmooth.sgml:
2765         * docs/libs/tmpl/gstunitconvert.sgml:
2766           these are obsolete
2767
2768 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2769
2770         * configure.ac:
2771           back to HEAD
2772
2773 === release 0.9.4 ===
2774
2775 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2776
2777         * configure.ac:
2778           releasing 0.9.4, "Tyrannosaurus Rex"
2779
2780 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2781
2782         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2783         (gst_file_sink_get_current_offset):
2784           Use fseeko() and ftello() if available. When falling back on
2785           lseek() to get the current offset, fflush() first to make sure
2786           everything is up-to-date and we get the right offset.
2787
2788 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2789
2790         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2791         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2792         * gst/gsterror.c: (_gst_stream_errors_init):
2793         * gst/gsterror.h:
2794         * gst/gstqueue.c: (gst_queue_loop):
2795         * po/POTFILES.in:
2796           remove prematurely added error category and clean up the instances
2797
2798 2005-10-21  Wim Taymans  <wim@fluendo.com>
2799
2800         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2801         (gst_base_sink_get_position), (gst_base_sink_query),
2802         (gst_base_sink_change_state):
2803         Simply set the right flag when going to playing, that's all
2804         we need to do instead of calling a function inside the object
2805         lock (that could take the lock as well and deadlock)
2806
2807 2005-10-21  Wim Taymans  <wim@fluendo.com>
2808
2809         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2810         (gst_base_src_loop):
2811         Don't warn, the peer element knows what to do best when
2812         the seek failed, it might try something else.
2813
2814 2005-10-21  Wim Taymans  <wim@fluendo.com>
2815
2816         * gst/base/gstbasesrc.c: (gst_base_src_init),
2817         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2818         Fix seeking.
2819
2820 2005-10-21  Wim Taymans  <wim@fluendo.com>
2821
2822         * docs/design/part-segments.txt:
2823         More docs.
2824
2825         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2826         Correctly set caps, even on the subbufer.
2827
2828 2005-10-21  Wim Taymans  <wim@fluendo.com>
2829
2830         * docs/gst/gstreamer-docs.sgml:
2831         * docs/gst/gstreamer-sections.txt:
2832         * gst/gstelement.h:
2833         * gst/gstevent.c:
2834         * gst/gstevent.h:
2835         * gst/gstmessage.h:
2836         * gst/gstpad.h:
2837         * gst/gstparse.h:
2838         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2839         * gst/gsttask.h:
2840         * gst/gstutils.c:
2841         * gst/gstutils.h:
2842         And 2% more doc coverage.
2843
2844 2005-10-21  Andy Wingo  <wingo@pobox.com>
2845
2846         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2847         position reporting.
2848
2849 2005-10-20  Wim Taymans  <wim@fluendo.com>
2850
2851         * gst/gsterror.c: (gst_error_get_message):
2852         * gst/gstparse.h:
2853         * gst/gstquery.h:
2854         * gst/gststructure.c:
2855         * gst/gsttrace.c:
2856         * gst/gstutils.c:
2857         More docs.
2858
2859 2005-10-20  Wim Taymans  <wim@fluendo.com>
2860
2861         * gst/gstbuffer.h:
2862         * gst/gstpad.c:
2863         * gst/gstparse.c:
2864         Another 1% more coverage.
2865
2866 2005-10-20  Wim Taymans  <wim@fluendo.com>
2867
2868         * docs/gst/gstreamer-sections.txt:
2869         * gst/gstelement.c: (gst_element_get_state_func),
2870         (gst_element_abort_state), (gst_element_commit_state),
2871         (gst_element_lost_state):
2872         * gst/gstevent.h:
2873         * gst/gstquery.c: (gst_query_set_position),
2874         (gst_query_parse_position), (gst_query_set_duration),
2875         (gst_query_parse_duration), (gst_query_new_convert):
2876         * gst/gstutils.c:
2877         Yay! 1% more docs coverage.
2878
2879 2005-10-20  Wim Taymans  <wim@fluendo.com>
2880
2881         * gst/gstpad.h:
2882         * gst/gstquery.c: (gst_query_set_position),
2883         (gst_query_parse_position), (gst_query_set_duration),
2884         (gst_query_parse_duration), (gst_query_new_convert):
2885         * gst/gstquery.h:
2886         * gst/gstutils.c: (gst_element_query_convert):
2887         * gst/gstutils.h:
2888         Docs and consistency fixes.
2889
2890 2005-10-20  Wim Taymans  <wim@fluendo.com>
2891
2892         * gst/gsttask.c:
2893         * gst/gsttask.h:
2894         More docs.
2895
2896 2005-10-20  Wim Taymans  <wim@fluendo.com>
2897
2898         * gst/gstbin.c: (message_check), (bin_replace_message),
2899         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2900         (update_degree), (gst_bin_sort_iterator_next),
2901         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2902         Reworked the message handling a bit, cache the messages instead of
2903         only the senders. alows us to do more in the future.
2904
2905 2005-10-20  Wim Taymans  <wim@fluendo.com>
2906
2907         * docs/design/part-TODO.txt:
2908         Update TODO
2909
2910         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2911         (gst_base_sink_query):
2912         Don't use clock time to report position when in EOS.
2913
2914 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2915
2916         * tools/gst-inspect.c: (print_interfaces),
2917         (print_element_properties_info), (print_element_info):
2918           Fix interface output with gst-inspect -a; don't print
2919           newlines after double/float properties.
2920
2921 2005-10-20  Wim Taymans  <wim@fluendo.com>
2922
2923         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2924         (gst_base_sink_query):
2925         Speed up current position calculation.
2926
2927         * gst/base/gstbasesrc.c: (gst_base_src_query),
2928         (gst_base_src_default_newsegment):
2929         Correctly set stream position in newsegment.
2930
2931         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2932         (update_degree), (gst_bin_sort_iterator_next),
2933         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2934         * gst/gstmessage.c: (gst_message_new_custom):
2935         Clean up debugging info
2936
2937         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2938         (gst_queue_loop), (gst_queue_handle_src_query):
2939         Pause task faster.
2940
2941 2005-10-19  Wim Taymans  <wim@fluendo.com>
2942
2943         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2944         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2945         Fix query handling again.
2946
2947 2005-10-19  Wim Taymans  <wim@fluendo.com>
2948
2949         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2950         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2951         * gst/base/gstbasesrc.c: (gst_base_src_query):
2952         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2953         * gst/elements/gsttypefindelement.c:
2954         (gst_type_find_handle_src_query), (find_element_get_length),
2955         (gst_type_find_element_activate):
2956         API change fix.
2957
2958         * gst/gstquery.c: (gst_query_new_position),
2959         (gst_query_set_position), (gst_query_parse_position),
2960         (gst_query_new_duration), (gst_query_set_duration),
2961         (gst_query_parse_duration), (gst_query_set_segment),
2962         (gst_query_parse_segment):
2963         * gst/gstquery.h:
2964         Bundling query position/duration is not a good idea since duration
2965         does not change much and we don't want to recalculate it for every
2966         position query, so they are separated again..
2967         Base value in segment query is not needed.
2968
2969         * gst/gstqueue.c: (gst_queue_handle_src_query):
2970         * gst/gstutils.c: (gst_element_query_position),
2971         (gst_element_query_duration), (gst_pad_query_position),
2972         (gst_pad_query_duration):
2973         * gst/gstutils.h:
2974         Updates for query API change.
2975         Added some docs here and there.
2976
2977 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2978
2979         * check/gst/gstbin.c: (GST_START_TEST):
2980         * check/gst/gstghostpad.c: (GST_START_TEST):
2981         * check/pipelines/cleanup.c: (GST_START_TEST):
2982           wait on thread to die so we can check refcount correctly
2983
2984 2005-10-18  Wim Taymans  <wim@fluendo.com>
2985
2986         * check/pipelines/stress.c: (GST_START_TEST):
2987         Make check a little more time consuming.
2988
2989 2005-10-18  Wim Taymans  <wim@fluendo.com>
2990
2991         * check/Makefile.am:
2992         * check/pipelines/stress.c: (GST_START_TEST),
2993         (simple_launch_lines_suite), (main):
2994         Small state change torture test.
2995
2996         * docs/design/part-states.txt:
2997         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2998         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2999         (gst_base_sink_change_state):
3000         Never take state lock from streaming thread, clean up ugly
3001         hacks. Unfortunatly core does not yet support nice ways to
3002         async commit state.
3003         
3004         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3005         (bin_bus_handler):
3006         Start state recalc if a STATE_DIRTY message is posted, but only
3007         on the toplevel bin.
3008
3009         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3010         (gst_element_get_state_func), (gst_element_abort_state),
3011         (gst_element_commit_state), (gst_element_lost_state),
3012         (gst_element_set_state_func), (gst_element_change_state):
3013         * gst/gstelement.h:
3014         State variables are now protected with the LOCK, the state
3015         lock is only used to serialize _set_state().
3016
3017 2005-10-18  Wim Taymans  <wim@fluendo.com>
3018
3019         * check/gst/gstbin.c: (GST_START_TEST):
3020         * check/gst/gstmessage.c: (GST_START_TEST):
3021         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3022         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3023         (bin_bus_handler):
3024         * gst/gstelement.c: (gst_element_abort_state),
3025         (gst_element_commit_state), (gst_element_lost_state):
3026         * gst/gstmessage.c: (gst_message_new_state_changed),
3027         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3028         (gst_message_new_segment_done), (gst_message_new_duration),
3029         (gst_message_parse_state_changed),
3030         (gst_message_parse_segment_start),
3031         (gst_message_parse_segment_done), (gst_message_parse_duration):
3032         * gst/gstmessage.h:
3033         * tools/gst-launch.c: (event_loop):
3034         Seriously, this is better than a previous commit as we only need
3035         to notify the fact that an element changed state in a streaming
3036         thread, marking the state of the parents dirty, hence the 
3037         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3038         message.
3039
3040 2005-10-18  Wim Taymans  <wim@fluendo.com>
3041
3042         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3043         (gst_bin_recalc_func):
3044         * gst/gstelement.c: (gst_element_set_clock),
3045         (gst_element_abort_state), (gst_element_lost_state):
3046         Cleanups, prepare for state change fixes.
3047
3048 2005-10-18  Wim Taymans  <wim@fluendo.com>
3049
3050         * gst/gstbin.h:
3051         * gst/gstelement.c: (gst_element_class_init),
3052         (gst_element_set_state), (gst_element_set_state_func):
3053         * gst/gstelement.h:
3054         Pending ABI changes.
3055         GThreadPool in GstBinClass to monitor async state changes.
3056         state_cookie in GstElement to detect concurrent gst/set state.
3057         set_state is now virtual too in case a very complicated element
3058         has to be constructed.
3059
3060 2005-10-18  Wim Taymans  <wim@fluendo.com>
3061
3062         * check/gst/gstbin.c: (GST_START_TEST):
3063         * check/gst/gstmessage.c: (GST_START_TEST):
3064         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3065         * gst/gstbin.c: (bin_bus_handler):
3066         * gst/gstelement.c: (gst_element_commit_state),
3067         (gst_element_lost_state):
3068         * gst/gstmessage.c: (gst_message_new_state_changed),
3069         (gst_message_new_segment_start), (gst_message_new_segment_done),
3070         (gst_message_new_duration), (gst_message_parse_state_changed),
3071         (gst_message_parse_segment_start),
3072         (gst_message_parse_segment_done), (gst_message_parse_duration):
3073         * gst/gstmessage.h:
3074         * tools/gst-launch.c: (event_loop):
3075         Make messages future proof.
3076         state-change gets a flag if it was a message comming from the
3077         streaming thread.
3078         segment-start/stop can also be specified in other formats.
3079         A message to notify an app that a pipeline changed playback 
3080         duration.
3081         Also fix a GstMessage leak in -launch
3082
3083 2005-10-18  Andy Wingo  <wingo@pobox.com>
3084
3085         * gst/gstelement.c (gst_element_dispose): More helpful message.
3086
3087 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3088
3089         reviewed by: <delete if not using a buddy>
3090
3091         * common/gtk-doc.mak:
3092
3093 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3094
3095         * gst/gstregistry.c: (gst_registry_scan_path_level):
3096           unref a plug-in we get that was already initialized
3097
3098 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3099
3100         * docs/gst/gstreamer-sections.txt:
3101         * docs/libs/gstreamer-libs-sections.txt:
3102         * gst/gstelement.h:
3103           add new api entries
3104           hide internal macro
3105
3106 2005-10-17  Andy Wingo  <wingo@pobox.com>
3107
3108         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3109         cleanup.
3110
3111         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3112
3113         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3114
3115         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3116         (gst_element_get_state_func): Better debug message.
3117         (gst_element_commit_state): s/INFO/DEBUG/.
3118         (gst_element_lost_state, gst_element_change_state): 
3119
3120         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3121         (gst_message_new_custom): s/INFO/LOG/.
3122
3123 2005-10-17  Michael Smith <msmith@fluendo.com>
3124
3125         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3126           Check if end time is valid using end time, not start time.
3127
3128 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3129
3130         * check/gst-libs/controller.c: (GST_START_TEST),
3131         (gst_controller_suite):
3132         * libs/gst/controller/gstcontroller.c:
3133         (gst_controlled_property_set_interpolation_mode):
3134         * libs/gst/controller/gstcontroller.h:
3135         * libs/gst/controller/gstinterpolation.c:
3136         * testsuite/controller/.cvsignore:
3137         * testsuite/controller/Makefile.am:
3138         * testsuite/controller/interpolator.c:
3139           merge controller testsuites
3140           fix broken tests
3141           remove mem-chunk from docs
3142
3143 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3144
3145         * gst/gstmemchunk.c:
3146         * gst/gstmemchunk.h:
3147         * gst/gsttrashstack.c:
3148         * gst/gsttrashstack.h:
3149           out.  get out.  you're fired.  to the Attic !
3150
3151 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3152
3153         * gst/gstcaps.c: (gst_caps_intersect):
3154           fix signedness issues in a (hopefully) correct way
3155         * gst/gstelement.c: (gst_element_pads_activate):
3156           some debugging
3157         * gst/gstobject.c: (gst_object_set_parent):
3158           some debugging
3159
3160 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3161
3162         * gst/gstvalue.h: Fix prototypes.
3163
3164 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3165
3166         * docs/gst/gstreamer-sections.txt:
3167         * gst/gst.c: (gst_version_string):
3168         * gst/gst.h:
3169         * gst/gstversion.h.in:
3170         * win32/common/libgstreamer.def:
3171           add gst_version_string ()
3172
3173 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3174
3175         * configure.ac:
3176           clean up further
3177         * gst/gst.c: (init_post):
3178         * win32/common/config.h.in:
3179           it's PLUGINDIR now
3180         * gst/gstcaps.c: (gst_caps_intersect):
3181           use gint64, the range could be bigger than a guint
3182
3183 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3184
3185         * gst/gstclock.h:
3186           document potential problem in 2038
3187
3188 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3189
3190         * gst/gstcaps.c: (gst_caps_intersect):
3191           Fix guint j diving under 0
3192
3193 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3194
3195         * configure.ac:
3196         * win32/common/config.h:
3197         * win32/common/config.h.in:
3198           check for process.h, declares getpid() on Windows
3199         * gst/gstinfo.c:
3200           include process.h if we have it
3201         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3202         * gst/gstmemchunk.h:
3203           fix signedness issues
3204         * win32/common/libgstreamer.def:
3205           fix get_type's
3206
3207 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3208
3209         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3210         fix. Because of unsigned ints, caps intersection was going nuts and
3211         trying to access structures with G_MAXUINT index. That fixes
3212         videotestsrc ! ffmpegcolorspace ! fakesink
3213         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3214         consistency.
3215
3216 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3217
3218         * configure.ac:
3219           use the gettext macro
3220         * gst/elements/gstelements.c:
3221         * gst/gst.c:
3222         * gst/indexers/gstindexers.c:
3223           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3224         * win32/common/config.h:
3225           updated config.h
3226         * win32/common/config.h.in:
3227           add the template to generate config.h
3228         * win32/common/gstenumtypes.c:
3229         * win32/common/gstversion.h:
3230           updated copies
3231
3232 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3233
3234         * gst/gst.c: (gst_version):
3235         * gst/gstversion.h.in:
3236           add the nano
3237
3238 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3239
3240         * gst/gstevent.h:
3241           Oops, add missing closing bracket.
3242
3243 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3244
3245         * configure.ac:
3246           use common m4's for argument checking
3247
3248 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3249
3250         * docs/gst/gstreamer-sections.txt:
3251         * gst/gstevent.h:
3252           Add GST_EVENT_TYPE_NAME() macro.
3253
3254 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3255
3256         * gst/gstinfo.c:
3257         * gst/gstpluginfeature.c:
3258         * gst/gsttask.c:
3259           privatize more symbols
3260
3261 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3262
3263         * configure.ac:
3264           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3265           everything that uses GStreamer API should have the includes
3266
3267 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3268
3269         * docs/gst/gstreamer-sections.txt:
3270         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3271         * gst/gstvalue.h:
3272           give each value a _get_type, removes the DATA exports
3273
3274 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3275
3276         * gst/gst.c:
3277         * gst/gst.h:
3278           remove _gst_registry_auto_load, not used anymore
3279         * gst/gstbin.c: (gst_bin_get_type):
3280         * gst/gstbin.h:
3281         * gst/gstelement.c: (gst_element_get_type):
3282         * gst/gstelement.h:
3283         * gst/gstobject.c: (gst_object_get_type):
3284         * gst/gstobject.h:
3285         * gst/gstpad.c: (gst_pad_get_type):
3286         * gst/gstpad.h:
3287           make _get_type functions similar, fixes data export from library
3288
3289 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3290
3291         * configure.ac:
3292           correctly make conditionals
3293         * gst/elements/Makefile.am:
3294         * gst/elements/gstelements.c:
3295           fix typo causing fdsrc not to build
3296
3297 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3298
3299         * testsuite/Makefile.am:
3300         * testsuite/bytestream/.cvsignore:
3301         * testsuite/bytestream/Makefile.am:
3302         * testsuite/bytestream/filepadsink.c:
3303         * testsuite/bytestream/gstbstest.c:
3304         * testsuite/bytestream/test1.c:
3305         * testsuite/bytestream/testfile1:
3306         * testsuite/caps/normalisation.c:
3307         * testsuite/caps/random.c: (main):
3308         * testsuite/cleanup/.cvsignore:
3309         * testsuite/cleanup/Makefile.am:
3310         * testsuite/cleanup/cleanup1.c:
3311         * testsuite/cleanup/cleanup2.c:
3312         * testsuite/cleanup/cleanup3.c:
3313         * testsuite/cleanup/cleanup4.c:
3314         * testsuite/cleanup/cleanup5.c:
3315         * testsuite/controller/interpolator.c:
3316         * testsuite/debug/printf_extension.c: (main):
3317         * testsuite/elements/tee.c:
3318         * testsuite/negotiation/.cvsignore:
3319         * testsuite/negotiation/Makefile.am:
3320         * testsuite/negotiation/pad_link.c:
3321         * testsuite/pad/Makefile.am:
3322         * testsuite/pad/chainnopull.c:
3323         * testsuite/pad/getnopush.c:
3324         * testsuite/pad/link.c:
3325         * testsuite/refcounting/sched.c: (create_pipeline):
3326         * testsuite/registry/Makefile.am:
3327         * testsuite/registry/gst-print-formats.c:
3328         * testsuite/schedulers/.cvsignore:
3329         * testsuite/schedulers/142183-2.c:
3330         * testsuite/schedulers/142183.c:
3331         * testsuite/schedulers/143777-2.c:
3332         * testsuite/schedulers/143777.c:
3333         * testsuite/schedulers/147713.c:
3334         * testsuite/schedulers/147819.c:
3335         * testsuite/schedulers/147894-2.c:
3336         * testsuite/schedulers/147894.c:
3337         * testsuite/schedulers/Makefile.am:
3338         * testsuite/schedulers/group_link.c:
3339         * testsuite/schedulers/queue_link.c:
3340         * testsuite/schedulers/relink.c:
3341         * testsuite/schedulers/unlink.c:
3342         * testsuite/schedulers/unref.c:
3343         * testsuite/schedulers/useless_iteration.c:
3344         * testsuite/states/bin.c:
3345           clean out/remove some stuff from the testsuite directories
3346
3347 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3348
3349         * configure.ac:
3350           check for some headers
3351         * gst/elements/Makefile.am:
3352         * gst/elements/gstelements.c:
3353           don't compile fdsrc without sys/socket.h
3354         * gst/indexers/Makefile.am:
3355         * gst/indexers/gstindexers.c: (plugin_init):
3356           don't compile fileindex without mmap
3357
3358 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3359
3360         * configure.ac:
3361           reorganize
3362           clean up
3363           document more
3364           remove cruft
3365         * check/Makefile.am:
3366         * docs/gst/Makefile.am:
3367         * examples/helloworld/Makefile.am:
3368         * gst/Makefile.am:
3369         * gst/base/Makefile.am:
3370         * gst/check/Makefile.am:
3371         * gst/elements/Makefile.am:
3372         * gst/indexers/Makefile.am:
3373         * gst/parse/Makefile.am:
3374         * libs/gst/controller/Makefile.am:
3375         * libs/gst/dataprotocol/Makefile.am:
3376         * examples/helloworld/helloworld.c: (event_loop):
3377           compile fixes, though it's not being compiled currently
3378
3379 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3380
3381         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3382           Add some simple tests for the new taglist date API.
3383
3384 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3385
3386         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3387         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3388           Beautify 'last-message' output: print 'none' for buffer timestamps
3389           and durations if none is set; improve alignment with next messages.
3390
3391 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3392
3393         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3394         * gst/gstpluginfeature.h:
3395         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3396         * gst/gstregistry.h:
3397         * docs/gst/gstreamer-sections.txt:
3398           Add new API to check plugin feature version requirements.
3399
3400         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3401           Some basic tests for the above.         
3402
3403 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3404
3405         * gst/gststructure.c: (gst_structure_to_string):
3406           guard against NULL printf - happens when for example
3407           a message structure with GstClock gets serialized
3408
3409 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3410
3411         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3412           Fix presumable copy'n'pasto.
3413
3414 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3415
3416         * gst/elements/gstfakesrc.h:
3417         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3418         * gst/elements/gsttypefindelement.c:
3419           fix some signedness
3420         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3421           I wonder if this could actually write +2GB files before
3422
3423 2005-10-13  Andy Wingo  <wingo@pobox.com>
3424
3425         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3426         Fix Timmeke Waymans bug.
3427         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3428         string of the proper length to gst_caps_from_string. There's a
3429         potential for, before this fix, that this could cause someone
3430         connecting over the network to cause a segfault if the payload is
3431         not NUL-terminated.
3432
3433 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3434
3435         * docs/design/draft-push-pull.txt:
3436         * docs/design/part-overview.txt:
3437         * docs/random/TODO-pre-0.9:
3438         * docs/random/old/ChangeLog.gstreamer:
3439         * gst/base/gstpushsrc.c:
3440         * gst/gstclock.c:
3441           fixed typos
3442
3443 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3444
3445         * gst/glib-compat.c: (gst_flags_get_first_value):
3446         * gst/glib-compat.h:
3447         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3448         (gst_value_compare_double), (gst_value_serialize_flags):
3449           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3450           infinite loop
3451
3452 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3453
3454         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3455         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3456           fix up debugging
3457         * tools/gst-launch.c: (event_loop):
3458           print out clock nicely
3459
3460 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3461
3462         * docs/gst/gstreamer-sections.txt:
3463         * gst/gsttaglist.h:
3464         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3465         (gst_tag_list_get_date_index):
3466           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3467           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3468
3469 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3470
3471         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3472         (gst_collectpads_chain):
3473         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3474         in CollectData.
3475
3476 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3477
3478         * docs/gst/gstreamer-sections.txt:
3479         * gst/gst.c:
3480         * gst/gsterror.h:
3481         * tools/gst-inspect.c: (main):
3482         * tools/gst-launch.c: (main):
3483         * tools/gst-run.c: (main):
3484         * tools/gst-xmlinspect.c: (main):
3485           fix GOption context leaks
3486           doc fixes
3487
3488 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3489
3490         * gst/gstbus.c:
3491           use HAVE_UNISTD_H
3492         * win32/common/config.h:
3493           update config
3494         * win32/vs6/grammar.dsp:
3495         * win32/vs6/libgstelements.dsp:
3496         * win32/vs6/libgstreamer.dsp:
3497           update vs6 files
3498
3499 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3500
3501         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3502         * gst/base/gstbasesrc.c: (gst_base_src_query):
3503           fix more guint64<->gdouble conversions
3504
3505 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3506
3507         * Makefile.am:
3508           add win32-update target
3509         * win32/common/gstconfig.h:
3510         * win32/common/gstenumtypes.c:
3511         * win32/common/gstenumtypes.h:
3512         * win32/common/gstversion.h:
3513           add files that visual studio can't generate
3514
3515 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3516
3517         * Makefile.am:
3518           add a win32-update target
3519         * configure.ac:
3520
3521 2005-10-12  Wim Taymans  <wim@fluendo.com>
3522
3523         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3524         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3525         * gst/gstelement.c: (gst_element_commit_state),
3526         (gst_element_set_state):
3527         Protect flags with proper lock.
3528         unref provided cached clock in dispose.
3529
3530 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3531
3532         * gst/gst.c:
3533         * gst/gstminiobject.h:
3534         * gst/gstpad.h:
3535         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3536           removed unused flags from miniobject
3537           doc fixes
3538
3539 2005-10-12  Wim Taymans  <wim@fluendo.com>
3540
3541         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3542         (gst_file_sink_event), (gst_file_sink_render):
3543         Flush before seeking.
3544
3545 2005-10-12  Andy Wingo  <wingo@pobox.com>
3546
3547         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3548         always been the case.
3549
3550 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3551
3552         * check/gst/gstbin.c: (GST_START_TEST):
3553         * docs/gst/gstreamer-sections.txt:
3554         * gst/base/gstbasesink.c: (gst_base_sink_init):
3555         * gst/base/gstbasesrc.c: (gst_base_src_init),
3556         (gst_base_src_get_range), (gst_base_src_check_get_range),
3557         (gst_base_src_start), (gst_base_src_stop):
3558         * gst/base/gstbasesrc.h:
3559         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3560         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3561         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3562         (bin_bus_handler):
3563         * gst/gstbin.h:
3564         * gst/gstbuffer.h:
3565         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3566         * gst/gstbus.h:
3567         * gst/gstelement.c: (gst_element_is_locked_state),
3568         (gst_element_set_locked_state), (gst_element_commit_state),
3569         (gst_element_set_state):
3570         * gst/gstelement.h:
3571         * gst/gstindex.c: (gst_index_init):
3572         * gst/gstindex.h:
3573         * gst/gstminiobject.h:
3574         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3575         (gst_object_set_parent):
3576         * gst/gstobject.h:
3577         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3578         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3579         * gst/gstpad.h:
3580         * gst/gstpadtemplate.h:
3581         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3582         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3583         * gst/gstpipeline.h:
3584         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3585         (gst_file_index_commit):
3586         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3587         * testsuite/pad/link.c: (gst_test_src_init),
3588         (gst_test_filter_init), (gst_test_sink_init):
3589         * testsuite/states/locked.c: (main):
3590           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3591           moved bitshift from macro to enum definition
3592
3593 2005-10-12  Wim Taymans  <wim@fluendo.com>
3594
3595         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3596         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3597         (gst_file_sink_render):
3598         Some more debugging info.
3599
3600 2005-10-12  Wim Taymans  <wim@fluendo.com>
3601
3602         * docs/design/part-states.txt:
3603         * tools/gst-launch.c: (main):
3604         Some doc updates.
3605         Revert non-intentional change.
3606
3607 2005-10-12  Wim Taymans  <wim@fluendo.com>
3608
3609         * check/gst/gstbin.c: (GST_START_TEST):
3610         * check/gst/gstelement.c: (GST_START_TEST):
3611         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3612         * check/gst/gstghostpad.c: (GST_START_TEST):
3613         * check/gst/gstpipeline.c: (GST_START_TEST):
3614         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3615         * check/states/sinks.c: (GST_START_TEST):
3616         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3617         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3618         (gst_bin_remove_func), (gst_bin_get_state_func),
3619         (gst_bin_recalc_state), (gst_bin_change_state_func),
3620         (bin_bus_handler):
3621         * gst/gstelement.c: (gst_element_get_state_func),
3622         (gst_element_get_state), (gst_element_abort_state),
3623         (gst_element_commit_state), (gst_element_set_state),
3624         (gst_element_change_state), (gst_element_change_state_func):
3625         * gst/gstelement.h:
3626         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3627         (gst_pipeline_provide_clock_func):
3628         * gst/gstutils.c: (gst_element_link_pads_filtered):
3629         * tools/gst-launch.c: (main):
3630         * tools/gst-typefind.c: (main):
3631         Use GstClockTime in _get_state() instead of GTimeVal.
3632         Remove old code in gstutils.c
3633
3634 2005-10-12  Andy Wingo  <wingo@pobox.com>
3635
3636         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3637         removed.
3638
3639         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3640         there is no task. Shouldn't affect any code, as nothing in our
3641         plugins checks this return value.
3642         (gst_pad_stop_task): Also take the stream lock if the pad has no
3643         task. Docs updated.
3644
3645 2005-10-12  Wim Taymans  <wim@fluendo.com>
3646
3647         * gst/gstpad.c: (pre_activate), (post_activate),
3648         (gst_pad_activate_pull), (gst_pad_activate_push):
3649         Cleanup activation code. Reset old state if
3650         activation failed.
3651
3652 2005-10-12  Wim Taymans  <wim@fluendo.com>
3653
3654         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3655         (gst_base_sink_change_state):
3656         No need to prerol after receiving EOS.
3657
3658         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3659         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3660         * gst/elements/gstidentity.c: (gst_identity_event):
3661         Print events more verbosely.
3662
3663 2005-10-12  Wim Taymans  <wim@fluendo.com>
3664
3665         * check/Makefile.am:
3666         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3667         * check/states/sinks2.c:
3668         Moved sinks2 testcode in sinks check.
3669
3670         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3671         (gst_bin_remove_func), (gst_bin_recalc_state),
3672         (gst_bin_change_state_func), (bin_bus_handler):
3673         Fix potential race condition when _get_state() iterated over an
3674         ASYNC element right before it posted a state completion.
3675
3676         * gst/gstclock.h:
3677         Do proper cast here.
3678
3679         * gst/gstevent.c: (gst_event_new_newsegment),
3680         (gst_event_parse_newsegment):
3681         A playback rate of 0.0 is not allowed.
3682
3683 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3684
3685         * win32/common/config.h:
3686         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3687         (_trewinddir), (_ttelldir), (_tseekdir):
3688         * win32/common/dirent.h:
3689         * win32/common/gtchar.h:
3690         * win32/common/libgstbase.def:
3691         * win32/common/libgstreamer.def:
3692         * win32/vs6/grammar.dsp:
3693         * win32/vs6/gst_inspect.dsp:
3694         * win32/vs6/gst_launch.dsp:
3695         * win32/vs6/gstreamer.dsw:
3696         * win32/vs6/libgstbase.dsp:
3697         * win32/vs6/libgstelements.dsp:
3698         * win32/vs6/libgstreamer.dsp:
3699           Visual Studio 6 project files, and a new common directory.
3700           Phear.
3701
3702 2005-10-11  Wim Taymans  <wim@fluendo.com>
3703
3704         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3705         (gst_base_sink_do_sync), (gst_base_sink_query),
3706         (gst_base_sink_change_state):
3707         * gst/base/gstbasesink.h:
3708         Correctly parse newsegment info.
3709
3710 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3711
3712         * gst/gst.c: (init_post):
3713           split plugin paths correctly
3714
3715 2005-10-11  Wim Taymans  <wim@fluendo.com>
3716
3717         * check/gst/gstevent.c: (GST_START_TEST):
3718         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3719         (gst_base_sink_change_state):
3720         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3721         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3722         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3723         * gst/gstevent.c: (gst_event_new_newsegment),
3724         (gst_event_parse_newsegment):
3725         * gst/gstevent.h:
3726         Added extra flag to newsegment for future API freeze.
3727         Updated check and base elements.
3728
3729 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3730
3731         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3732         (gst_collectpads_add_pad), (gst_collectpads_pop),
3733         (gst_collectpads_event), (gst_collectpads_chain):
3734         * gst/base/gstcollectpads.h: Handle EOS correctly.
3735
3736 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3737
3738         * tools/gst-launch.c: (main):
3739           more null protecting
3740
3741 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3742
3743         * gst/gst-i18n-lib.h:
3744           check for ENABLE_NLS, not GETTEXT_PACKAGE
3745         * gst/gstregistry.c: (gst_registry_add_plugin),
3746         (gst_registry_scan_path_level),
3747         (_gst_registry_remove_cache_plugins):
3748           protect possibly NULL strings
3749         * gst/parse/types.h:
3750           config.h already included before
3751         * tools/gst-inspect.c: (main):
3752           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3753           check for ENABLE_NLS, not GETTEXT_PACKAGE
3754         * tools/gst-launch.c: (main):
3755           check for ENABLE_NLS, not GETTEXT_PACKAGE
3756
3757 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3758
3759         * configure.ac:
3760           if we don't have glib, fail before testing 2.8
3761         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3762           fix a leak, should fix plugins-base testsuite
3763
3764 2005-10-11  Andy Wingo  <wingo@pobox.com>
3765
3766         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3767         take the mode we're going to as an arg. Go head and set the mode
3768         and flushing flags now, so that if the activate function starts a
3769         thread all the flags will be in the right state.
3770         (post_activate): Renamed also. Just handle making sure streaming
3771         finishes for the deactivation case, and setting the deactivated
3772         mode.
3773         (gst_pad_set_active): Complain loudly if deactivation fails.
3774         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3775         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3776         remove the terrible hack.
3777
3778 2005-10-11  Wim Taymans  <wim@fluendo.com>
3779
3780         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3781         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3782         (gst_bin_recalc_state), (gst_bin_change_state_func),
3783         (gst_bin_dispose), (bin_bus_handler):
3784         * gst/gstbin.h:
3785         Prepare to make current EOS message queue more generic.
3786         Fix some typos.
3787
3788         * gst/gstevent.c: (gst_event_new_newsegment),
3789         (gst_event_parse_newsegment):
3790         * gst/gstevent.h:
3791         Rename base to stream_time.
3792
3793         * gst/gstmessage.h:
3794         Fix typo in docs.
3795
3796 2005-10-11  Wim Taymans  <wim@fluendo.com>
3797
3798         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3799         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3800         (gst_bin_change_state_func), (bin_bus_handler):
3801         * gst/gstbin.h:
3802         Work on proper clock selection.
3803
3804 2005-10-11  Edward Hervey  <edward@fluendo.com>
3805
3806         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3807         * libs/gst/controller/gstcontroller.h:
3808         Added GList* version of _remove_properties() in order to be able to wrap
3809         it in bindings.
3810
3811 2005-10-11  Wim Taymans  <wim@fluendo.com>
3812
3813         * docs/design/part-states.txt:
3814         Some more docs.
3815
3816         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3817         (gst_bin_change_state_func), (bin_bus_handler):
3818         Doc updates. Don't distribute the same clock over and over again.
3819
3820         * gst/gstclock.c:
3821         * gst/gstclock.h:
3822         Doc updates.
3823
3824         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3825         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3826         (gst_pad_send_event):
3827         * gst/gstpad.h:
3828         Make probe emission threadsafe again.
3829         Register quarks and move _get_name() from utils.
3830         Doc updates.
3831
3832         * gst/gstpipeline.c: (gst_pipeline_class_init),
3833         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3834         Only redistribute the clock of it changed.
3835
3836         * gst/gstsystemclock.h:
3837         Doc updates. 
3838
3839         * gst/gstutils.c:
3840         * gst/gstutils.h:
3841         Moved the _flow_get_name() to GstPad.
3842
3843 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3844
3845         * check/gst-libs/gdp.c: (GST_START_TEST):
3846         * check/gst/gstcaps.c: (GST_START_TEST):
3847         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3848         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3849         (gst_dp_packet_from_caps):
3850           fix more valgrind warnings before turning up the heat
3851
3852 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3853
3854         * gst/parse/grammar.y:
3855           some cleanup before the hacking
3856
3857 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3858
3859         * gst/base/gstbasesrc.c: (gst_base_src_query):
3860           use conversions
3861         * gst/gstutils.c: (gst_guint64_to_gdouble),
3862         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3863         * gst/gstutils.h:
3864           externalize, basesrc uses it
3865           obviously the implementation needs testing
3866
3867 2005-10-10  Wim Taymans  <wim@fluendo.com>
3868
3869         * tests/sched/Makefile.am:
3870         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3871         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3872
3873 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3874
3875         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3876           apparently converting from guint64 to double is not implemented
3877           on MSVC
3878
3879 2005-10-10  Wim Taymans  <wim@fluendo.com>
3880
3881         * check/Makefile.am:
3882         * check/generic/states.c: (GST_START_TEST):
3883         * check/gst/gstbin.c: (GST_START_TEST):
3884         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3885         * check/states/sinks.c: (GST_START_TEST):
3886         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3887         (main):
3888         Check fixes, use API as stated in design docs, remove hacks.
3889
3890         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3891         (gst_base_sink_change_state):
3892         Catch stopping our task while we're shutting down.
3893
3894         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3895         (gst_bin_remove_func), (gst_bin_get_state_func),
3896         (gst_bin_recalc_state), (gst_bin_change_state_func),
3897         (bin_bus_handler):
3898         * gst/gstbin.h:
3899         * gst/gstelement.c: (gst_element_init),
3900         (gst_element_get_state_func), (gst_element_abort_state),
3901         (gst_element_commit_state), (gst_element_lost_state),
3902         (gst_element_set_state), (gst_element_change_state),
3903         (gst_element_change_state_func):
3904         * gst/gstelement.h:
3905         New state change algorithm (see #318116)
3906
3907         * gst/gstpipeline.c: (gst_pipeline_class_init),
3908         (gst_pipeline_init), (gst_pipeline_set_property),
3909         (gst_pipeline_get_property), (do_pipeline_seek),
3910         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3911         * gst/gstpipeline.h:
3912         Remove crude state change hacks.
3913
3914         * gst/gstutils.h:
3915         Remove crude hacks.
3916
3917         * tools/gst-launch.c: (main):
3918         Fixes for state change. Needs some more work to fully use the
3919         new stuff.
3920
3921 2005-10-10  Andy Wingo  <wingo@pobox.com>
3922
3923         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3924
3925         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3926         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3927         issue.
3928
3929 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3930
3931         * gst/gstiterator.c: (gst_iterator_new):
3932           Fix my previous commit: GTypes passed to gst_iterator_new()
3933           can be fundamental types.
3934
3935 2005-10-10  Wim Taymans  <wim@fluendo.com>
3936
3937         * gst/gstelement.c: (gst_element_iterate_pad_list),
3938         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3939         (gst_element_iterate_sink_pads):
3940         Use src/sink pads lists for the respective iterators instead
3941         of filtering.
3942
3943 2005-10-10  Andy Wingo  <wingo@pobox.com>
3944
3945         Merged in popt removal + GOption addition patch from Ronald, bug
3946         #169772.
3947
3948         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3949         GstElement macros around, remove popt-related symbols, add goption
3950         stuff.
3951
3952         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3953         
3954         * docs/gst/Makefile.am:
3955         * docs/libs/Makefile.am: No POPT_CFLAGS.
3956         
3957         * examples/manual/Makefile.am:
3958         * docs/manual/basics-init.xml: Doc updates with an example.
3959         
3960         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3961         (gst_init), (parse_one_option), (parse_goption_arg):
3962         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3963         bit of hand merging and debugging to get the GOption stuff working
3964         tho.
3965         
3966         * tests/Makefile.am:
3967         * tools/Makefile.am:
3968         * tools/gst-inspect.c: (main):
3969         * tools/gst-launch.c: (main):
3970         * tools/gst-run.c: (main):
3971         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3972
3973 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3974
3975         * gst/gstiterator.c: (gst_iterator_new):
3976           Add assertions to make sure passed GType is likely to really
3977           be a GType (as the compiler won't catch it if the size and
3978           GType arguments get mixed up, see #318447).
3979
3980 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3981
3982         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3983
3984         * gst/gstbin.c: (gst_bin_iterate_sorted):
3985           Pass GType and size arguments to gst_iterator_new() in the right
3986           order (maybe we should make _new() take the GType as first argument
3987           just like _new_list()?) (#318447).
3988           
3989
3990 2005-10-10  Wim Taymans  <wim@fluendo.com>
3991
3992         * gst/gstelement.c: (gst_element_finalize):
3993         And free the GStaticRecMutex too
3994
3995 2005-10-10  Andy Wingo  <wingo@pobox.com>
3996
3997         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3998         Allocate and free the mutex properly.
3999
4000         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4001         New macros.
4002         (GstElement): The state_lock is now recursive. Rebuild your
4003         plugins, suckers. Old macros adapted.
4004
4005         * docs/gst/gstreamer-sections.txt: Doc updates.
4006
4007         * gst/gstutils.h:
4008         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4009         (g_static_rec_cond_wait): Ported from state changes patch, while
4010         we wait on bug #317802 to be solved in a well-distributed GLib.
4011
4012         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4013         gst_element_change_state, variable name changes.
4014         (gst_element_change_state): Split out of gst_element_set_state in
4015         preparation for the state change merge. Doesn't pay attention to
4016         the 'transition' argument.
4017         (gst_element_set_state): Updates, hopefully purely cosmetic.
4018         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4019         state change patch.
4020         (gst_element_get_state_func): Renamed from get_state, cosmetic
4021         changes.
4022
4023 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4024
4025         * gst/elements/gstelements.c:
4026         * win32/GStreamer.vcproj:
4027         * win32/config.h:
4028         * win32/dirent.c: (_tseekdir):
4029         * win32/gst-inspect.vcproj:
4030         * win32/gst-launch.vcproj:
4031         * win32/gstconfig.h:
4032         * win32/gstelements.vcproj:
4033         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4034         * win32/gstreamer.def:
4035         * win32/msvc71.sln:
4036           updates for the win32 build (patch from Sebastien Moutte)
4037
4038 2005-10-10  Andy Wingo  <wingo@pobox.com>
4039
4040         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4041         gst_bin_get_state, cleaned up (but no logic changes).
4042         (bin_element_is_sink): Comment updates.
4043         (sink_iterator_filter): Remove needless cast.
4044         (gst_bin_iterate_sinks): Doc update.
4045         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4046         cleaned up (but no logic changes).
4047
4048         * check/states/sinks.c (test_src_sink): Cleanups from the state
4049         change patch.
4050         (test_livesrc_sink): Sync on the state.
4051
4052         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4053         the state change patch.
4054
4055         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4056         change patch.
4057
4058         * check/gst/gstbin.c: Merge in some style fixes and additional
4059         checks from Wim's state change patch.
4060
4061 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4062
4063         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4064         (gst_type_find_helper):
4065           Check whether we have the requested data already in our list of
4066           cached buffers before pulling a new buffer; also make the buffer
4067           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4068
4069 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4070
4071         * gst/gstcaps.c:
4072         * gst/gstevent.c:
4073           doc updates
4074         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4075           don't use long long, it's not portable.  Replacing with
4076           gint64 seems to work; let's hope no skeletons fall out of the closet.
4077
4078 2005-10-10  Andy Wingo  <wingo@pobox.com>
4079
4080         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4081
4082 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4083
4084         * docs/gst/gstreamer-sections.txt:
4085         * gst/gstevent.c:
4086         * gst/gstevent.h:
4087         * gst/gstinfo.c:
4088         * gst/gstinfo.h:
4089         * gst/gstmessage.c: (gst_message_parse_state_changed):
4090         * gst/gstpad.c:
4091         * gst/gstpad.h:
4092           more docs, fix compilation
4093
4094 2005-10-09  Philippe Khalaf <burger@speedy.org>
4095         * gst/gstmessage.c:
4096           Fixed a few forgotten variables on previous commit
4097
4098 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4099
4100         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4101           Fix evil typefind crasher: getrange() might return a short
4102           buffer at the end of a file, but gst_type_find_peek() must
4103           either return the full data as requested or NULL, but
4104           never a short buffer.
4105
4106 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4107
4108         * gst/gstmessage.c: (gst_message_new_state_changed),
4109         (gst_message_parse_state_changed):
4110         * gst/gstmessage.h:
4111           don't use "new", it's a C++ keyword
4112
4113 2005-10-08  Wim Taymans  <wim@fluendo.com>
4114
4115         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4116         * gst/gstelement.c: (gst_element_post_message):
4117         * gst/gstpipeline.c: (gst_pipeline_change_state):
4118         Small docs and debug updates.
4119
4120 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4121
4122         * docs/gst/gstreamer-sections.txt:
4123         * gst/gstelementfactory.c:
4124         * gst/gstevent.c:
4125         * gst/gsttaglist.c:
4126           more docs
4127
4128 2005-10-08  Wim Taymans  <wim@fluendo.com>
4129
4130         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4131         (gst_bin_dispose), (bin_bus_handler):
4132         Fix typos, add comments.
4133         Clear EOS list when going to PAUSED from any direction and do it
4134         in a threadsafe way.
4135         Get base time in a threadsafe way too.
4136         Fix confusing debug in the change_state function.
4137         Various other small cleanups.
4138         
4139         * gst/gstelement.c: (gst_element_post_message):
4140         Fix very verbose bus posting code.
4141
4142         * gst/gstpipeline.c: (gst_pipeline_class_init),
4143         (gst_pipeline_set_property), (gst_pipeline_get_property),
4144         (gst_pipeline_change_state):
4145         Small ARG_ -> PROP_ cleanup
4146
4147 2005-10-08  Wim Taymans  <wim@fluendo.com>
4148
4149         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4150         Do a less CPU demanding EOS check because we can.
4151
4152 2005-10-08  Wim Taymans  <wim@fluendo.com>
4153
4154         * libs/gst/dataprotocol/dataprotocol.c:
4155         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4156         (gst_dp_packet_from_event):
4157         * libs/gst/dataprotocol/dataprotocol.h:
4158         * libs/gst/dataprotocol/dp-private.h:
4159         It's about time we bump the version number.
4160         Since event types don't fit in the guint8 anymore describing
4161         the payload type, make payload type 16 bits wide.
4162
4163 2005-10-08  Wim Taymans  <wim@fluendo.com>
4164
4165         * docs/design/part-TODO.txt:
4166         * docs/design/part-clocks.txt:
4167         * docs/design/part-events.txt:
4168         * docs/design/part-gstbin.txt:
4169         * docs/design/part-gstelement.txt:
4170         * docs/design/part-gstpipeline.txt:
4171         * docs/design/part-live-source.txt:
4172         * docs/design/part-messages.txt:
4173         * docs/design/part-overview.txt:
4174         * docs/design/part-states.txt:
4175         Many doc updates.
4176
4177 2005-10-08  Wim Taymans  <wim@fluendo.com>
4178
4179         * gst/gstevent.c:
4180         * gst/gstevent.h:
4181         Fix event quark registration.
4182         Add some space between events so we can insert them in the
4183         right groups.
4184
4185 2005-10-08  Wim Taymans  <wim@fluendo.com>
4186
4187         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4188         (gst_base_sink_handle_buffer):
4189         Better log message.
4190
4191         * gst/gstbus.h:
4192         * gst/gstelement.h:
4193         More docs.
4194
4195         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4196         (gst_queue_set_property), (gst_queue_get_property):
4197         * gst/gstqueue.h:
4198         Remove old unused properties.
4199
4200 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4201         * docs/gst/gstreamer-sections.txt:
4202         * gst/gstmessage.c:
4203         * gst/gstmessage.h:
4204         * gst/gstminiobject.c:
4205         * gst/gstminiobject.h:
4206         * gst/gstobject.h:
4207         * gst/gstpad.h:
4208         * gst/gstutils.h:
4209           lots of new docs and doc fixes
4210
4211 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4212
4213         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4214         * gst/gstplugin.h:
4215         * gst/gstregistry.c: (gst_registry_lookup_locked),
4216         (gst_registry_scan_path_level):
4217         * gst/gstregistryxml.c: (load_plugin):
4218           Only ever load one plugin for a given plugin basename.
4219           This ensures correct overriding of GST_PLUGIN_PATH over
4220           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4221           system installed plugins.
4222
4223 2005-10-08  Wim Taymans  <wim@fluendo.com>
4224
4225         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4226         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4227         Prepare for doing QOS.
4228
4229 2005-10-08  Wim Taymans  <wim@fluendo.com>
4230
4231         * check/gst/gstbin.c: (GST_START_TEST):
4232         * check/pipelines/cleanup.c: (GST_START_TEST):
4233         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4234         Allow new clock message too.
4235
4236 2005-10-08  Wim Taymans  <wim@fluendo.com>
4237
4238         * gst/gstmessage.c: (gst_message_new_error),
4239         (gst_message_new_warning), (gst_message_new_tag),
4240         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4241         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4242         (gst_message_new_segment_start), (gst_message_new_segment_done),
4243         (gst_message_parse_state_changed),
4244         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4245         (gst_message_parse_new_clock):
4246         * gst/gstmessage.h:
4247         Also carry the clock in question.
4248
4249 2005-10-08  Wim Taymans  <wim@fluendo.com>
4250
4251         * gst/gstmessage.c: (gst_message_new_custom),
4252         (gst_message_new_eos), (gst_message_new_error),
4253         (gst_message_new_warning), (gst_message_new_tag),
4254         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4255         (gst_message_new_new_clock), (gst_message_new_segment_start),
4256         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4257         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4258         * gst/gstmessage.h:
4259         Clean up.
4260         Added clock related messages.
4261
4262         * gst/gstpipeline.c: (gst_pipeline_change_state):
4263         Post message when the clock changed.
4264
4265         * tools/gst-launch.c: (event_loop):
4266         Print new clock.
4267
4268 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4269
4270         * tools/gst-inspect.c: (print_element_properties_info):
4271           Can't pass NULL strings to g_print() on windows.
4272
4273 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4274
4275         * docs/Makefile.am:
4276         * docs/gst/Makefile.am:
4277         * docs/gst/gstreamer-docs.sgml:
4278         * docs/gst/running.xml:
4279         * docs/version.entities.in:
4280           add a chapter on running GStreamer.
4281           document GST_DEBUG and GST_PLUGIN* env vars
4282
4283 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4284
4285         * Makefile.am:
4286           remove include dir
4287         * configure.ac:
4288           remove PLUGINS_BUILDDIR stuff
4289         * gst/gst.c: (init_post):
4290           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4291         * idiottest.mak:
4292           remove, it was condescending and not needed
4293
4294 2005-10-08  Wim Taymans  <wim@fluendo.com>
4295
4296         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4297         (gst_base_sink_handle_object), (gst_base_sink_event),
4298         (gst_base_sink_wait), (gst_base_sink_handle_event),
4299         (gst_base_sink_change_state):
4300         * gst/base/gstbasesink.h:
4301         Repost EOS message while going to PLAYING if still EOS.
4302         Make sure that when receiving a FLUSH_START we don't attempt
4303         to sync on the clock anymore.
4304
4305 2005-10-08  Wim Taymans  <wim@fluendo.com>
4306
4307         * tools/gst-launch.c: (event_loop):
4308         Better message printout.
4309
4310 2005-10-08  Wim Taymans  <wim@fluendo.com>
4311
4312         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4313         (gst_bin_child_proxy_get_children_count):
4314         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4315         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4316         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4317         (gst_child_proxy_set_valist):
4318         * gst/parse/grammar.y:
4319         Make ChildProxy threadsafe and fix mem leaks.
4320
4321 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4322
4323         * gst/gst.c: (init_post):
4324           debug the GST_PLUGIN_ env vars
4325
4326 2005-10-08  Wim Taymans  <wim@fluendo.com>
4327
4328         * check/gst/gstbin.c: (GST_START_TEST):
4329         * check/gst/gstmessage.c: (GST_START_TEST):
4330         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4331         * gst/gstelement.c: (gst_element_commit_state),
4332         (gst_element_lost_state):
4333         * gst/gstmessage.c: (gst_message_new_state_changed),
4334         (gst_message_parse_state_changed):
4335         * gst/gstmessage.h:
4336         * tools/gst-launch.c: (event_loop):
4337         Added extra field to STATE_CHANGE message with the pending
4338         state, which will be different from the new state soon.
4339
4340 2005-10-08  Wim Taymans  <wim@fluendo.com>
4341
4342         * gst/gstbus.c: (gst_bus_pop):
4343         * gst/gstclock.c:
4344         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4345         Small cleanups and doc updates.
4346
4347 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4348
4349         * gst/gst.c: (init_pre):
4350         * gst/gstbin.c: (gst_bin_add_func):
4351           log distributing clocks and base time
4352         * gst/gstregistry.c: (gst_registry_add_plugin),
4353         (gst_registry_scan_path_level), (gst_registry_scan_path):
4354           clean up the debugging output a little
4355         * gst/gstutils.c: (gst_element_state_get_name):
4356           warn about a memleak (I've actually seen this be used, though
4357           it was probably a bug)
4358
4359 2005-10-07  Wim Taymans  <wim@fluendo.com>
4360
4361         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4362         (gst_base_src_init), (gst_base_src_default_newsegment),
4363         (gst_base_src_newsegment), (gst_base_src_do_seek),
4364         (gst_base_src_loop), (gst_base_src_start):
4365         * gst/base/gstbasesrc.h:
4366         Make the newsegment event customizable by subclasses.
4367
4368 2005-10-07  Wim Taymans  <wim@fluendo.com>
4369
4370         * gst/gstevent.c: (gst_event_new_buffersize),
4371         (gst_event_parse_buffersize):
4372         * gst/gstevent.h:
4373         New event for future idea.
4374
4375 2005-10-07  Andy Wingo  <wingo@pobox.com>
4376
4377         * gst/gstelement.c (gst_element_post_message): Doc update.
4378
4379         * docs/gst/gstreamer-sections.txt: Update.
4380
4381         * gst/gstmessage.c (gst_message_new_application): Made into a
4382         function like honest API calls.
4383         (gst_message_new_element): New message type.
4384
4385         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4386
4387         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4388         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4389         times.
4390
4391         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4392         NO_PREROLL from gst_element_change_state to fall through.
4393
4394 2005-10-07  Wim Taymans  <wim@fluendo.com>
4395
4396         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4397         (gst_ghost_pad_do_activate_push):
4398         Activating a ghostpad with no internal pad in push mode
4399         is ok.
4400
4401 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4402
4403         * gst/gstobject.h:
4404           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4405           Fixes compilation on Windows.
4406
4407 2005-10-07  Michael Smith <msmith@fluendo.com>
4408
4409         * tools/gst-inspect.c:
4410           Print out feature and plugin count at the end when printing out
4411           all features.
4412
4413 2005-10-04  Michael Smith <msmith@fluendo.com>
4414
4415         * gst/gsterror.c: (_gst_stream_errors_init):
4416           Add another error string used in a few existing plugins.
4417
4418         * gst/gstplugin.c:
4419         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4420         * tools/gst-inspect.c: (print_element_info):
4421           When a feature disappears from a plugin (and the feature exists in
4422           the cached registry file), things went horribly wrong. This isn't a
4423           complete fix, we should actually be removing the 'missing' features
4424           from the features list when we load the actual plugin. That's not
4425           yet implemented. 
4426
4427 2005-10-04  Johan Dahlin  <johan@gnome.org>
4428
4429         * check/gst/gstiterator.c: (GST_START_TEST):
4430         * gst/gstbin.c: (gst_bin_iterate_elements),
4431         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4432         * gst/gstelement.c: (gst_element_iterate_pads):
4433         * gst/gstformat.c: (gst_format_iterate_definitions):
4434         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4435         (gst_iterator_new_list), (gst_iterator_filter):
4436         * gst/gstiterator.h:
4437         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4438         Add a GType to GstIterator, update callsites and tests.
4439
4440 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4441
4442         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4443           give events a chance to be handled by event probes when the pad
4444           is not linked
4445
4446 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4447
4448         * gst/gstevent.c: (gst_event_type_get_name),
4449         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4450         * gst/gstevent.h:
4451           add string representations for event types
4452
4453 2005-10-06  Wim Taymans  <wim@fluendo.com>
4454
4455         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4456         Don't use NULL pointers.
4457
4458 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4459
4460         * gst/gst_private.h:
4461         * gst/gstbus.c:
4462         * gst/gstelement.c:
4463         * gst/gstinfo.c:
4464         * gst/gstpluginfeature.c:
4465           widen the debug category in output to fit the biggest one we have
4466           add a bus category and use it
4467           play with the colors
4468           fix up some categories
4469
4470 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4471
4472         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4473           add push activation of sink ghost pads.
4474           Andye, please verify
4475
4476 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4477
4478         * gst/gstutils.c: (gst_element_link_pads):
4479           fix a bug in the case where neither element has a pad
4480         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4481           add a test for that case
4482
4483 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4484
4485         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4486           emit have-data before checking for peers.  This allows
4487           for probe handlers to connect elements.  This helps autopluggers.
4488         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4489         (gst_pad_suite):
4490           add six checks, linked/unlinked with no/true/false probe
4491
4492 2005-10-04  Wim Taymans  <wim@fluendo.com>
4493
4494         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4495         (gst_fake_sink_event), (gst_fake_sink_preroll),
4496         (gst_fake_sink_render), (gst_fake_sink_change_state):
4497         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4498         (gst_fake_src_get_property), (gst_fake_src_create),
4499         (gst_fake_src_stop):
4500         * gst/elements/gstidentity.c: (gst_identity_stop):
4501         Protect last_message with lock.
4502
4503 2005-10-04  Edward Hervey  <edward@fluendo.com>
4504
4505         * gst/gstformat.h: 
4506         Added precision in the comments for GST_FORMAT_DEFAULT
4507
4508 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4509
4510         * tools/gst-launch.c: (main):
4511           Don't try to run erroneous pipelines.
4512
4513 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4514
4515         * gst/gstbus.c: We don't need this header.
4516
4517 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4518
4519         * configure.ac:
4520           back to development
4521
4522 === release 0.9.3 ===
4523
4524 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4525
4526         * README:
4527         * configure.ac:
4528           Releasing 0.9.3, "Unregistered"
4529
4530 2005-10-03  Andy Wingo  <wingo@pobox.com>
4531
4532         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4533         whereby calling a pad's activatepush() function can start a thread
4534         that starts to push or pull before the pad gets the FLUSHING flag
4535         unset. Hack around it by holding the stream lock until the flag is
4536         set. Need to replace this with a proper solution. Together with
4537         the ghost pad fixes, this fixes mp3 playing/tagreading.
4538
4539         * docs/design/part-gstghostpad.txt: Add a note about activation of
4540         proxy pads outside of ghost pads.
4541
4542         * gst/gstghostpad.c: Implement the ghost pad activation design.
4543
4544 2005-10-02  Andy Wingo  <wingo@pobox.com>
4545
4546         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4547         It is volatile, after all.
4548
4549         * docs/design/part-gstghostpad.txt: Flesh out activation with
4550         ghost pads.
4551
4552         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4553         GST_DEBUG_FUNCPTR.
4554
4555 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4556
4557         * configure.ac:
4558           Fix (unused) AM_CONDITIONAL tests.
4559
4560 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4561
4562         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4563
4564         * gst/gstutils.c: (gst_pad_query_convert):
4565           Add assertion that makes sure src_val is >=0, just like
4566           gst_query_new_convert() has. (#315895)
4567
4568 2005-09-30  Edward Hervey  <edward@fluendo.com>
4569
4570         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4571         Let's not iterate pads we're not interested in, it avoids getting 
4572         sky-high refcounts on sinkpad.
4573
4574 2005-09-30  Wim Taymans  <wim@fluendo.com>
4575
4576         * gst/gstelement.c: (gst_element_set_state),
4577         (gst_element_change_state):
4578         Small tweak, element in ASYNC remains ASYNC.
4579
4580 2005-09-30  Wim Taymans  <wim@fluendo.com>
4581
4582         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4583         Only error is an error.
4584
4585         * gst/gstbin.c: (gst_bin_change_state):
4586         Better debugging.
4587
4588         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4589         Also call pad_block in pad alloc.
4590
4591         * gst/gstutils.c: (gst_flow_get_name):
4592         Better debugging.
4593
4594 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4595
4596         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4597         (gst_base_src_get_range):
4598           Fix documentation typos. Add some more debug info.
4599
4600 2005-09-29  David Schleef  <ds@schleef.org>
4601
4602         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4603           more end-user friendly.
4604         * tools/gst-inspect.c: (main): Check if command-line argument is
4605           a file and attempt to load that file as a plugin.
4606
4607 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4608
4609         * check/gst/gstbin.c:
4610         * check/states/sinks.c:
4611           fix tests for the new warning
4612         * check/gst/gstpipeline.c:
4613           add a test for pipeline and bus interaction
4614         * gst/gstelement.c:
4615           elements should be NULL if they get disposed; add a warning if not
4616
4617 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4618
4619         * gst/gstobject.c:
4620           for 2.6 refcounting, make debug log more correct by printing
4621           the actual refcounts at the time of swap (Wim)
4622
4623 2005-09-29  Andy Wingo  <wingo@pobox.com>
4624
4625         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4626         removes signal watches previously added via
4627         gst_bus_add_signal_watch.
4628         (gst_bus_add_signal_watch): Don't return the source id, just store
4629         it on the bus if there wasn't an id already.
4630
4631         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4632         add_signal_watch and remove_signal_watch.
4633
4634 2005-09-29  Edward Hervey  <edward@fluendo.com>
4635
4636         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4637         Better if we actually iterate the list :)
4638
4639 2005-09-29  Wim Taymans  <wim@fluendo.com>
4640
4641         * check/gst/gstbin.c: (GST_START_TEST):
4642         Change for new bus API.
4643
4644         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4645         (send_messages), (GST_START_TEST), (gstbus_suite):
4646         Change for new bus signal API.
4647
4648         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4649         (gst_bus_source_prepare), (gst_bus_source_check),
4650         (gst_bus_create_watch), (gst_bus_add_watch_full),
4651         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4652         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4653         * gst/gstbus.h:
4654         Remove support for multiple GSources operating on different
4655         message types as it is too complex and unneeded when using
4656         signals.
4657         Added support for receiving signals from the bus.
4658
4659 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4660
4661         * docs/libs/tmpl/gstdataprotocol.sgml:
4662         * docs/manual/advanced-dataaccess.xml:
4663         * gst/elements/gstcapsfilter.c:
4664         * gst/gstutils.c:
4665           rename filter-caps to caps property
4666
4667 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4668
4669         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4670           More robust fraction string parsing.
4671
4672         * docs/pwg/appendix-porting.xml:
4673           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4674
4675 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4676
4677         * gst/gstcaps.c: (gst_caps_do_simplify):
4678           Thou shalt not free a structure and then continue using it
4679           in the next loop iteration.
4680
4681         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4682         (gst_caps_suite):
4683           Add test case for caps simplification.
4684
4685 2005-09-29  Wim Taymans  <wim@fluendo.com>
4686
4687         * check/gst/gstbin.c: (GST_START_TEST):
4688         Oops.
4689
4690 2005-09-29  Wim Taymans  <wim@fluendo.com>
4691
4692         * check/gst/gstbin.c: (GST_START_TEST):
4693         Add bus to bin.
4694
4695         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4696         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4697         (find_element), (gst_bin_sort_iterator_next),
4698         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4699         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4700         (gst_bin_change_state), (gst_bin_dispose):
4701         A bin does not have a bus, it gets the bus from the parent.
4702
4703         * gst/gstelement.c: (gst_element_requires_clock),
4704         (gst_element_provides_clock), (gst_element_is_indexable),
4705         (gst_element_is_locked_state), (gst_element_change_state),
4706         (gst_element_set_bus_func):
4707         Small cleanups.
4708
4709         * gst/gstpipeline.c: (gst_pipeline_class_init),
4710         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4711         The pipeline provides a bus.
4712
4713 2005-09-28  Johan Dahlin  <johan@gnome.org>
4714
4715         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4716         gst_structure_get_enum instead of gst_structure_get_int
4717
4718         * gst/gststructure.c (gst_structure_get_enum): Impl.
4719
4720         * gst/gststructure.h (gst_structure_get_enum): Add
4721
4722         * docs/gst/gstreamer-sections.txt: Ditto
4723
4724         * gst/gstmessage.c (gst_message_new_state_changed): Use
4725         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4726         which does introspection.
4727         Reviewed by Christian Schaller
4728
4729 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4730
4731         * gst/gstinfo.c: (gst_debug_log_default):
4732           don't do dummy g_strdup()s
4733         * libs/gst/controller/gstcontroller.c:
4734         (on_object_controlled_property_changed),
4735         (gst_controlled_property_new), (gst_controller_new_valist),
4736         (gst_controller_new_list),
4737         (gst_controller_remove_properties_valist), (gst_controller_set),
4738         (gst_controller_get), (gst_controller_sync_values),
4739         (gst_controller_get_value_array), (_gst_controller_class_init),
4740         (gst_controller_get_type):
4741         * libs/gst/controller/gstcontroller.h:
4742         * libs/gst/controller/gstinterpolation.c:
4743         (gst_controlled_property_find_timed_value_node):
4744           convert // to /**/ comments
4745
4746 2005-09-28  Wim Taymans  <wim@fluendo.com>
4747
4748         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4749         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4750         (gst_bus_sync_signal_handler):
4751         * gst/gstbus.h:
4752         Added async-message and sync-message signals to the bus.
4753         Added helper BusFunc to emit signals for all posted messages.
4754
4755         * gst/gstmessage.c: (gst_message_type_get_name),
4756         (gst_message_type_to_quark), (gst_message_get_type):
4757         * gst/gstmessage.h:
4758         Register quarks for message names.
4759
4760 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4761
4762         * docs/libs/gstreamer-libs-sections.txt:
4763         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4764         (gst_controller_new_list):
4765         * libs/gst/controller/gstcontroller.h:
4766           added another constructor for language bindings
4767
4768 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4769
4770         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4771           add another check
4772         * gst/gstbus.c:
4773           add some doc
4774         * gst/gstinfo.c: (_gst_debug_init):
4775           slightly more readable color for refcount debugging
4776
4777 2005-09-28  Wim Taymans  <wim@fluendo.com>
4778
4779         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4780         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4781         (find_element), (gst_bin_sort_iterator_next),
4782         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4783         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4784         (gst_bin_change_state), (gst_bin_dispose):
4785         Small doc fixes. get_clock -> provide_clock.
4786
4787         * gst/gstelement.c: (gst_element_class_init),
4788         (gst_element_provides_clock), (gst_element_provide_clock),
4789         (gst_element_get_clock), (gst_element_commit_state),
4790         (gst_element_lost_state):
4791         * gst/gstelement.h:
4792         Make get/set_clock() symetric. Add provide_clock vmethod since
4793         that is actually what this function does.
4794
4795         * gst/gstpipeline.c: (gst_pipeline_class_init),
4796         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4797         (gst_pipeline_get_clock):
4798         get_clock -> provide_clock.
4799
4800 2005-09-28  Andy Wingo  <wingo@pobox.com>
4801
4802         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4803         lieu of real docs...
4804
4805         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4806
4807 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4808
4809         * gst/elements/gstcapsfilter.c:
4810         * gst/elements/gstfakesink.c:
4811         * gst/elements/gstfakesrc.c:
4812         * gst/elements/gstfdsink.c:
4813         * gst/elements/gstfdsrc.c:
4814         * gst/elements/gstfilesink.c:
4815         * gst/elements/gstfilesrc.c:
4816         * gst/elements/gstidentity.c:
4817         * gst/elements/gsttee.c:
4818         * gst/elements/gsttypefindelement.c:
4819           Make element details static.
4820
4821 2005-09-28  Wim Taymans  <wim@fluendo.com>
4822
4823         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4824         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4825         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4826         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4827         (gst_bin_change_state), (gst_bin_dispose):
4828         Some documentation updates.
4829         Clean up dispose handlers.
4830
4831         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4832         * gst/gstpad.c: (gst_pad_dispose):
4833         Clean up dispose handler.
4834
4835         * gst/gstpipeline.c: (gst_pipeline_change_state):
4836         Removed spurious UNLOCK.
4837
4838 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4839
4840         * docs/gst/gstreamer-sections.txt:
4841         * gst/base/gstbasesrc.h:
4842         * gst/gstelement.h:
4843         * gst/gstevent.h:
4844         * gst/gstobject.h:
4845         * gst/gstpad.h:
4846         * gst/gstpipeline.c:
4847         * gst/gstpipeline.h:
4848         * gst/gstutils.h:
4849         * gst/gstxml.h:
4850           added two new functions to the docs
4851                 documents all undocumented GstXXXFlags
4852                 completed some incomplete docs 
4853
4854 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4855
4856         * gst/gstbin.c: (gst_bin_dispose):
4857         * gst/gstelement.c: (gst_element_dispose):
4858           remove now useless and leaky resurrection code in dispose
4859         * gst/base/gstbasesrc.c: (gst_base_src_init):
4860         * gst/gstelementfactory.c: (gst_element_factory_create):
4861         * gst/gstobject.c: (gst_object_set_parent):
4862           add some debugging
4863
4864 2005-09-27  Wim Taymans  <wim@fluendo.com>
4865
4866         * docs/design/part-TODO.txt:
4867         Update TODO.
4868
4869         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4870         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4871         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4872         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4873         (gst_bin_change_state):
4874         * gst/gstelement.h:
4875         Remove element variable, we keep element info in the iterator now.
4876
4877 2005-09-27  Andy Wingo  <wingo@pobox.com>
4878
4879         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4880         values.
4881
4882 2005-09-27  Wim Taymans  <wim@fluendo.com>
4883
4884         * check/gst/gstbin.c: (GST_START_TEST):
4885         Enable check that works now.
4886
4887         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4888         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4889         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4890         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4891         (gst_bin_change_state):
4892         * gst/gstbin.h:
4893         Redid the state change algorithm using a topological sort algo.
4894         Handles all cases correctly.
4895         Exposed iterator for state change order.
4896
4897         * gst/gstelement.h:
4898         Temp storage for state changes. Need to get rid of this soon.
4899
4900 2005-09-27  Wim Taymans  <wim@fluendo.com>
4901
4902         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4903         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4904         (link_fold_func), (gst_pad_proxy_setcaps):
4905         Leak fixes, the fold functions need to unref the passed object and
4906         _get_parent_*() returns ref to parent.
4907
4908 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4909
4910         * check/gst/gstbuffer.c: (test_make_writable):
4911           Plug leak in test case and fix 'make check-valgrind'
4912
4913 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4914
4915         * gst/gstbuffer.c: (gst_subbuffer_init):
4916           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4917           works correctly in all circumstances (we could have just copied
4918           the parent buffer's readonly flag, but conceptually it seems
4919           cleaner to mark all subbuffers as read-only). (based on patch
4920           by Alessandro Decina, #314710).
4921         
4922         * check/gst/gstbuffer.c: (create_read_only_buffer),
4923         (test_make_writable), (test_subbuffer_make_writable),
4924         (gst_test_suite):
4925           Add some tests for gst_buffer_make_writable().
4926
4927 2005-09-27  Wim Taymans  <wim@fluendo.com>
4928
4929         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4930         use gst_object_has_ancestor().
4931
4932         * gst/gstobject.c: (gst_object_has_ancestor):
4933         * gst/gstobject.h:
4934         gst_object_has_ancestor() copied from gstbin.c as it is a
4935         usefull function.
4936
4937         * tests/instantiate/create.c: (create_all_elements):
4938         * tests/lat.c: (handoff_src), (handoff_sink):
4939         * tests/sched/runxml.c: (main):
4940         * tests/seeking/seeking1.c: (main):
4941         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4942         (main):
4943         Fix compilation of some tests.
4944
4945 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4946
4947         * gst/gsterror.h:
4948           Remove comment. GST_TYPE_G_ERROR is here to stay,
4949           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4950           (#316961, #300610).
4951
4952 2005-09-26  Wim Taymans  <wim@fluendo.com>
4953
4954         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4955         Added check that shows error in state change order.
4956
4957 2005-09-26  Wim Taymans  <wim@fluendo.com>
4958
4959         * gst/gstbin.c: (gst_bin_change_state):
4960         Make state change function use 3 queues again, we were
4961         adding elements in the wrong order.
4962
4963         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4964         Some debug info,
4965
4966         * gst/gstpad.c: (gst_pad_dispose):
4967         Added some debug info first.
4968
4969 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4970
4971         * docs/design/draft-push-pull.txt:
4972         * docs/design/part-events.txt:
4973         * docs/design/part-overview.txt:
4974         * docs/design/part-scheduling.txt:
4975           Replace all _pull_region() with _pull_range()
4976           
4977 2005-09-26  Andy Wingo  <wingo@pobox.com>
4978
4979         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4980
4981         * check/gst-libs/controller.c: Update for controller api change.
4982
4983         * configure.ac: 
4984         * tests/Makefile.am:
4985         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4986         over by GLib bug 118439.
4987         
4988         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4989         routines to a function.
4990
4991         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4992
4993         * libs/gst/controller/gsthelper.c:
4994         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4995         (gst_object_sync_values): Renamed from sink_values. Ugh.
4996
4997         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4998
4999         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5000         Renamed from controller_key, as it is exported.
5001
5002         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5003
5004 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5005
5006         * gst/Makefile.am:
5007         * gst/gst.h:
5008         * gst/gstpad.h:
5009         * gst/gstpadtemplate.h:
5010         * gst/gstquery.c:
5011         * gst/gstquery.h:
5012         * gst/gstqueryutils.c:
5013         * gst/gstqueryutils.h:
5014           remove queryutils headers after moving the two used functions
5015           to gstquery.  also fixes build problem for gstsiddec
5016
5017 2005-09-26  Michael Smith <msmith@fluendo.com>
5018
5019         * tools/gst-launch.1.in:
5020         Correct documentation in manpage of debug syntax
5021
5022 2005-09-26  Wim Taymans  <wim@fluendo.com>
5023
5024         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5025         (gst_base_src_is_seekable), (gst_base_src_change_state):
5026         Some more debugging info.
5027
5028 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5029
5030         * docs/gst/gstreamer-sections.txt:
5031         * gst/base/gstbasetransform.h:
5032         * gst/gstindex.h:
5033           added more docs
5034
5035 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5036
5037         * docs/gst/.cvsignore:
5038         * docs/gst/tmpl/.cvsignore:
5039         * docs/gst/tmpl/gstpipeline.sgml:
5040         * docs/gst/tmpl/gstplugin.sgml:
5041         * gst/gstpipeline.c:
5042         * gst/gstplugin.c:
5043         * gst/gstplugin.h:
5044           inlined the last two docs files
5045           removed the tmpl directory from cvs (no more conflicts here!)
5046
5047 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5048
5049         * docs/gst/gstreamer-sections.txt:
5050         * docs/gst/tmpl/.cvsignore:
5051         * docs/gst/tmpl/gstpad.sgml:
5052         * docs/gst/tmpl/gstpadtemplate.sgml:
5053         * gst/Makefile.am:
5054         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5055         (gst_pad_finalize), (gst_pad_set_pad_template):
5056         * gst/gstpad.h:
5057         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5058         (gst_pad_template_class_init), (gst_pad_template_init),
5059         (gst_pad_template_dispose), (name_is_valid),
5060         (gst_static_pad_template_get), (gst_pad_template_new),
5061         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5062         (gst_pad_template_pad_created):
5063         * gst/gstpadtemplate.h:
5064           inlined two more docs
5065           factored gstpadtemplate out of gstpad
5066
5067 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5068
5069         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5070         (test_children_state_change_order_semi_sink):
5071           Fix test case: we can't rely on a fixed state change order when
5072           going from READY => PAUSED because the sink might commit its 
5073           new state first when the first buffer created by the source 
5074           reaches the sink before the source has finished its change state.
5075           (Test case still fails at times, see #316856, comment 5 onwards)
5076
5077 2005-09-24  Wim Taymans  <wim@fluendo.com>
5078
5079         * docs/design/part-events.txt:
5080         * docs/design/part-gstbus.txt:
5081         * docs/design/part-gstpipeline.txt:
5082         * docs/design/part-messages.txt:
5083         * docs/design/part-overview.txt:
5084         * docs/design/part-segments.txt:
5085         * gst/gstbin.c:
5086         * gst/gstbuffer.c:
5087         * gst/gstclock.c:
5088         * gst/gstelement.c:
5089         * gst/gstevent.c:
5090         * gst/gstfilter.c:
5091         * gst/gstiterator.c:
5092         Various documentation updates.
5093
5094 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * gst/gstclock.h:
5097           Well, that's embarassing.  Luckily we weren't using
5098           GST_CLOCK_DIFF anywhere.
5099
5100 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5101
5102         * common/gtk-doc.mak:
5103           don't fail on building XML, FC4 slave shows a bunch of doc
5104           missing bits that I don't get
5105         * gst/gstpad.c:
5106         * gst/gstpipeline.c:
5107         * gst/gststructure.c:
5108           some doc updates
5109
5110 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5111
5112         * docs/design/part-gstbin.txt:
5113         * docs/design/part-gstbus.txt:
5114         * gst/gstbus.c:
5115           Add blurb about how the bus goes into flushing mode and
5116           drops all messages when its bin goes from READY into NULL 
5117           state.
5118
5119 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5120
5121         * docs/gst/gstreamer-sections.txt:
5122         * gst/gststructure.c: (gst_structure_get_clock_time):
5123         * gst/gststructure.h:
5124           add a method to get a GstClockTime out of a structure
5125
5126 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5127
5128         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5129         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5130           Added test to check state change order in bins (can still be made
5131           to fail here under heavy disk load; bails out with 'Push on pad
5132           fakesink:sink0, but it was not activated in push mode').
5133
5134         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5135           Fix state change order when there is only a semi sink (#316856)
5136
5137         * gst/gstbus.c: (gst_bus_class_init):
5138           Use _class_peek_parent(), not _class_ref(); fix docs to say
5139           'default main context' instead of 'mainloop' where that is
5140           what's meant.
5141
5142         * gst/gstelement.c: (gst_element_commit_state),
5143         (gst_element_set_state):
5144           Fix typos in debug messages
5145
5146 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5147
5148         * docs/README:
5149         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5150         * gst/gstpluginfeature.c:
5151         * gst/gstutils.c:
5152           various doc updates
5153         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5154           change an assert into an error until it gets fixed properly
5155
5156 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5157
5158         * docs/gst/gstreamer-sections.txt:
5159         * docs/gst/tmpl/.cvsignore:
5160         * docs/gst/tmpl/gstelement.sgml:
5161         * docs/gst/tmpl/gstinfo.sgml:
5162         * docs/gst/tmpl/gstobject.sgml:
5163         * gst/gstelement.c:
5164         * gst/gstelement.h:
5165         * gst/gstinfo.c:
5166         * gst/gstinfo.h:
5167         * gst/gstobject.c: (gst_object_class_init):
5168         * gst/gstobject.h:
5169           inlined 3 more biiiig doc files and added some missing docs on the fly
5170
5171 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5172
5173         * check/gst/.cvsignore:
5174         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5175         * gst/gstregistryxml.c: (load_plugin),
5176         (gst_registry_xml_save_plugin):
5177           put back source in registry.  add checks for find_plugin.
5178         * testsuite/states/bin.c: (assert_state), (empty_bin),
5179         (test_adding_one_element), (main):
5180         * testsuite/states/locked.c: (main):
5181           some compile/run fixes
5182
5183 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5184
5185         * check/gst/gstvalue.c: (GST_START_TEST):
5186           fix leaks in the test itself
5187
5188 2005-09-22  Wim Taymans  <wim@fluendo.com>
5189
5190         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5191         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5192         (gst_base_sink_query):
5193         Prepare for more accurate position reporting and query
5194         handling.
5195
5196         * gst/gstelement.c: (gst_element_send_event),
5197         (gst_element_set_state):
5198         Add some comment.
5199
5200 2005-09-22  Wim Taymans  <wim@fluendo.com>
5201
5202         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5203         (gst_query_parse_segment):
5204         * gst/gstquery.h:
5205         More documentation.
5206         Add segment query for future use.
5207
5208 2005-09-22  Wim Taymans  <wim@fluendo.com>
5209
5210         * gst/gstbin.c: (gst_bin_add_func):
5211         Some more debug info.
5212
5213         * gst/gstelement.c: (gst_element_send_event):
5214         Simplify send_event
5215
5216         * gst/gstelement.h:
5217         Don't know how flags got broken.
5218
5219         * gst/gstquery.h:
5220         Added new query.
5221
5222 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5223
5224         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5225           Add simplistic test suite for GST_TYPE_DATE serialisation and
5226           deserialisation.
5227
5228 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5229
5230         * docs/gst/gstreamer-sections.txt:
5231         * gst/gststructure.c: (gst_structure_set_valist),
5232         (gst_structure_get_date):
5233         * gst/gststructure.h:
5234         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5235         (gst_date_copy), (gst_value_compare_date),
5236         (gst_value_serialize_date), (gst_value_deserialize_date),
5237         (gst_value_transform_date_string),
5238         (gst_value_transform_string_date), (_gst_value_initialize):
5239         * gst/gstvalue.h:
5240           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5241           bunch of utility functions along with a hack that checks that
5242           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5243           is required. Part of the grand scheme in #170777.
5244
5245 2005-09-22  Andy Wingo  <wingo@pobox.com>
5246
5247         * gst/gstconfig.h.in: Psych out gtk-doc.
5248
5249         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5250
5251         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5252
5253         * tools/gst-inspect.c (print_element_list): Plug some
5254         inconsequential leaks.
5255
5256         * gst/gstregistry.c (gst_registry_get_default): Doc.
5257
5258         * check/gst/gstplugin.c: 
5259         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5260         * gst/gstelementfactory.c (gst_element_factory_create): 
5261         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5262         refcount changes.
5263
5264         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5265         (gst_plugin_feature_load): Doc, don't eat refs.
5266
5267         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5268         (gst_plugin_list_free): Doc.
5269         (gst_plugin_load_file): Doc updates.
5270
5271         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5272         accessors returning refcounted objects, return a ref.
5273
5274         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5275         accessor for caps. IDEMPOTENCE. Oh yes.
5276
5277 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5278
5279         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5280
5281         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5282         (_gst_debug_register_funcptr):
5283           Add mutex to serialise access to the hash table with
5284           the function pointer => function name string mapping;
5285           make that hash table static scope (#316809).
5286
5287         * gst/registries/.cvsignore:
5288           Remove left-over file.
5289
5290 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5291
5292         * docs/pwg/appendix-porting.xml:
5293           And something about newsegment events and caps-on-buffers to
5294           the porting guide (feel free to improve).
5295
5296 2005-09-21  Andy Wingo  <wingo@pobox.com>
5297
5298         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5299         data and event probes on the same pad.
5300         (test_buffer_probe_once): Test that removing probes from within
5301         the probe functions works.
5302
5303 2005-09-21  Andy Wingo  <wingo@pobox.com>
5304
5305         * check/gst/gstutils.c: New file.
5306         (test_buffer_probe_n_times): A simple buffer probe test. More to
5307         come, foolios.
5308
5309         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5310         have-data::buffer, not have-data.
5311         (gst_pad_add_event_probe): Likewise for have-data::event.
5312         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5313         peer' isn't quite right yet though.
5314         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5315         (gst_pad_remove_data_probe): Change to take the guint handler_id
5316         as their arg, not the function+data, which is more glib-like.
5317
5318         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5319         the signal emission to indicate if the data is a buffer or an
5320         event.
5321         (gst_pad_get_type): Initialize buffer and event quarks.
5322         (gst_pad_class_init): have-data is now a detailed signal, yes it
5323         is.
5324
5325 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5326
5327         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5328         * gst/gstutils.c: (gst_util_set_value_from_string),
5329         (gst_util_set_object_arg):
5330           Don't put functional code in g_return_if_fail() or
5331           g_return_val_if_fail() statements, otherwise things will 
5332           break when G_DISABLE_CHECKS is defined during compilation.
5333
5334 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5335
5336         * docs/gst/tmpl/.cvsignore:
5337         * docs/gst/tmpl/gstvalue.sgml:
5338         * gst/gstvalue.c:
5339         * gst/gstvalue.h:
5340           inlied another one and added  some obvious docs
5341
5342 2005-09-21  Wim Taymans  <wim@fluendo.com>
5343
5344         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5345         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5346         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5347         (gst_fdsrc_get_property), (gst_fdsrc_create):
5348         * gst/elements/gstfdsrc.h:
5349         Properly implement fdsrc. Removed signal and timeout,
5350         better implemented somewhere else.
5351
5352 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5353
5354         * docs/gst/tmpl/.cvsignore:
5355         * docs/gst/tmpl/gstimplementsinterface.sgml:
5356         * gst/gstinterface.c:
5357           inlined more docs
5358
5359 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5360
5361         * docs/gst/gstreamer-sections.txt:
5362         * docs/gst/tmpl/.cvsignore:
5363         * docs/gst/tmpl/gstenumtypes.sgml:
5364           remove obsolete doc file
5365
5366 2005-09-21  David Schleef  <ds@schleef.org>
5367
5368         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5369         little beer, fix a little leak.
5370
5371 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5372
5373         * docs/gst/gstreamer-docs.sgml:
5374         * docs/gst/gstreamer-sections.txt:
5375         * docs/gst/tmpl/.cvsignore:
5376         * gst/Makefile.am:
5377         * gst/gst.h:
5378         * gst/gstbin.c:
5379         * gst/gstelement.h:
5380         * gst/gstindex.c: (gst_index_class_init):
5381         * gst/gstindex.h:
5382         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5383         (gst_index_factory_class_init), (gst_index_factory_init),
5384         (gst_index_factory_finalize), (gst_index_factory_new),
5385         (gst_index_factory_destroy), (gst_index_factory_find),
5386         (gst_index_factory_create), (gst_index_factory_make):
5387         * gst/gstindexfactory.h:
5388         * gst/gstpluginfeature.c:
5389         * gst/gstpluginfeature.h:
5390         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5391           more docs inlined, splitted gstindex.{c,h}
5392
5393 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5394
5395         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5396           fix a leak
5397
5398 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5399
5400         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5401           Set sync to FALSE by default.
5402
5403 2005-09-20  Wim Taymans  <wim@fluendo.com>
5404
5405         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5406         (gst_base_sink_init):
5407         Make sync property settable from subclass.
5408
5409         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5410         (gst_fake_sink_change_state):
5411         Set sync to FALSE by default.
5412
5413 2005-09-20  Wim Taymans  <wim@fluendo.com>
5414
5415         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5416         * tools/gst-launch.c: (main):
5417         The timeout handler should have lower priority than the source
5418         so we don't timeout before popping a message with 0 timeout.
5419         Dump error messages after failed state change.
5420
5421 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5422
5423         * tools/gst-inspect.c: (print_element_properties_info):
5424           Fix two typos.
5425
5426 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5427
5428         * check/gst/gstevent.c:
5429         * gst/elements/gstfakesink.c:
5430         * gst/elements/gstfakesink.h:
5431           remove the sync property from fakesink.
5432           has the side effect of setting sync TRUE
5433           for fakesink, which is a change.  Anyone who knows how
5434           to fix this nicely in a GObject-y way, feel free.
5435
5436 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5437
5438         * docs/gst/gstreamer-docs.sgml:
5439           remove probe refsection
5440
5441 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5442
5443         * check/Makefile.am:
5444           disable valgrinding the controller test again
5445         * docs/gst/gstreamer-sections.txt:
5446           update for api-changes
5447
5448 2005-09-20  Wim Taymans  <wim@fluendo.com>
5449
5450         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5451         (gst_base_sink_set_property), (gst_base_sink_get_property),
5452         (gst_base_sink_do_sync):
5453         * gst/base/gstbasesink.h:
5454         Added sync property to basesink to disable clock sync.
5455
5456 2005-09-20  Andy Wingo  <wingo@pobox.com>
5457
5458         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5459         eating the caller's refcount.
5460
5461         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5462         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5463         refcount.
5464
5465         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5466         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5467         of GLib 2.8 public, so we can know which refcount to check in
5468         tests.
5469
5470         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5471         (gst_object_init): Only set the gst refcount if we're going ahead
5472         with the refcount hack.
5473
5474 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5475
5476         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5477         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5478           more leaks plumbed, added more debug-logging
5479         * gst/gstmacros.h:
5480           whitespace fix
5481
5482 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5483
5484         * gst/gstmessage.c:
5485           remove include of gstmemchunk.h
5486
5487 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5488
5489         * gst/gstclock.c: (_gst_clock_id_free):
5490           Commit from the Political Party For More Atomic CVS Commits,
5491           so that people don't waste too much of their day fishing
5492           out obvious leaks out of massive commits.
5493           Oh, and fix a pretty damn obvious leak in the memchunk
5494           removal code.
5495
5496 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5497
5498         * check/Makefile.am:
5499         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5500           plug mem-leak, re-add to valgrindable tests
5501
5502 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5503
5504         * gst/gstplugin.h:
5505           unbreak the build for those who have chronic arthritis
5506           and typing "make check" is just too taxing on the hands
5507
5508 2005-09-20  Andy Wingo  <wingo@pobox.com>
5509
5510         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5511         really want it out, you should fix plugins at the same time.
5512
5513 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5514
5515         * configure.ac:
5516         * docs/gst/gstreamer-sections.txt:
5517         * gst/gstobject.c:
5518           added missing symbols to api docs
5519           disable ref-count hack if we have glib >= 2.8
5520
5521 2005-09-19  David Schleef  <ds@schleef.org>
5522
5523         * docs/gst/Makefile.am: Ignore a few more internal headers
5524         * docs/gst/gstreamer-docs.sgml: Remove old sections
5525         * docs/gst/gstreamer-sections.txt: Remove old sections
5526         * docs/gst/tmpl/gstobject.sgml: update
5527         * docs/gst/tmpl/gstplugin.sgml: update
5528         * docs/gst/tmpl/gstpluginfeature.sgml: update
5529         * docs/random/ds/0.9-suggested-changes: update.
5530         * gst/Makefile.am: remove memchunk and trashstack, since they're
5531           not used.
5532         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5533         * gst/gst.h: don't include some headers
5534         * gst/gstchildproxy.c: add gstmarshal.h
5535         * gst/gstclock.c: Don't use memchunks
5536         * gst/gstminiobject.c: Add some docs
5537         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5538         * gst/gstobject.h: same
5539         * gst/gstplugin.c: include gstmacros.h
5540         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5541         * gst/gstquery.c: don't use memchunks
5542         * gst/gstregistry.c: rename gst_registry_deinit()
5543         * gst/gstregistry.h: same
5544
5545 2005-09-19  David Schleef  <ds@schleef.org>
5546
5547         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5548         * docs/libs/gstreamer-libs-sections.txt:
5549         * docs/libs/tmpl/gstgetbits.sgml:
5550         * docs/libs/tmpl/gstputbits.sgml:
5551
5552 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5553
5554         * win32/gstenumtypes.c:
5555         * win32/gstenumtypes.h:
5556           Update.
5557
5558 2005-09-19  Wim Taymans  <wim@fluendo.com>
5559
5560         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5561         Automatically PAUSE and RESUME a pipeline when a flushing seek
5562         is performed.
5563
5564 2005-09-19  Andy Wingo  <wingo@pobox.com>
5565
5566         * gst/gstregistry.h: Spacing fixen.
5567
5568 2005-09-19  Wim Taymans  <wim@fluendo.com>
5569
5570         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5571         Handle state change failure more correctly.
5572
5573 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5574
5575         * check/Makefile.am:
5576         * check/pipelines/cleanup.c: (run_pipeline):
5577         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5578         (GST_START_TEST):
5579           enable cleanup again after fixing the leak
5580         * docs/README:
5581           some more info on docs
5582
5583 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5584
5585         * check/Makefile.am:
5586           re-enable tests now that leaks are plugged
5587         * check/gst/gst.c:
5588         * check/gst/gstbin.c:
5589         * check/gst/gstpipeline.c:
5590           add some more tests while fixing leaks
5591         * common/check.mak:
5592           make sure binaries are uptodate when valgrinding/gdbing
5593         * gst/gst.c:
5594         * gst/gstelementfactory.c:
5595           remove a ref too many, and add a FIXME for when we get
5596           round to disposing of classes
5597         * gst/gstplugin.c:
5598           fix the refcounting when loading a plugin from a file and
5599           the code pretends that the pointer is the same even though
5600           of course it can change
5601         * gst/gstpluginfeature.c:
5602           unref plugins marked cached (a bit confusing as a name)
5603           as the docs state should be done
5604           various doc additions to explain refcounting
5605         * gst/gstregistry.c:
5606         * gst/gstregistryxml.c:
5607           debugging
5608
5609 2005-09-19  Wim Taymans  <wim@fluendo.com>
5610
5611         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5612         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5613         (send_messages), (GST_START_TEST), (gstbus_suite):
5614         * check/gst/gstpipeline.c: (GST_START_TEST):
5615         * check/pipelines/cleanup.c: (run_pipeline):
5616         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5617         (GST_START_TEST):
5618         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5619         (gst_bus_source_check), (gst_bus_source_dispatch),
5620         (gst_bus_create_watch), (gst_bus_add_watch_full),
5621         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5622         * gst/gstbus.h:
5623         * tools/gst-launch.c: (event_loop):
5624         * tools/gst-md5sum.c: (event_loop):
5625         GstBusHandler -> GstBusFunc, return value has the same meaning as
5626         any other GSource (FALSE == remove source).
5627         _add_watch() and _add_watch_full() now take a MessageType mask to
5628         only handle specific types of messages.
5629         _poll() returns the GstMessage instead of the message type to avoid
5630         race conditions.
5631         _have_pending() takes a MessageType mask now too.
5632         Added testsuite for multiple bus watches.
5633         Fix testsuites and applications for new bus API.
5634
5635 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5636
5637         * check/Makefile.am:
5638           mark a bunch of the tests as to fix until we fix them
5639
5640 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5641
5642         * common/check.mak:
5643           use GST_PLUGIN settings for valgrind tests as well, so we're
5644           valgrinding the correct thing
5645         * gst/gst.c: (init_post):
5646           plug another leak
5647
5648 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5649
5650         * gst/gst.c: (init_post), (gst_deinit):
5651         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5652         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5653         * gst/gstindex.c: (gst_index_factory_class_init),
5654         (gst_index_factory_finalize):
5655         * gst/gstobject.c: (gst_object_dispose):
5656         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5657         (gst_plugin_load_file), (gst_plugin_desc_free):
5658         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5659         (gst_plugin_feature_finalize):
5660         * gst/gstregistry.c: (gst_registry_class_init),
5661         (gst_registry_init), (gst_registry_finalize),
5662         (gst_registry_get_default), (gst_registry_deinit):
5663         * gst/gstregistry.h:
5664         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5665           various cleanups and memleak plugging.  make valgrind is happy now.
5666
5667 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5668
5669         * common/check.mak:
5670           add a check-valgrind target
5671
5672 2005-09-18  David Schleef  <ds@schleef.org>
5673
5674         * tools/gst-inspect.c: Revert the GOption code.
5675
5676 2005-09-17  David Schleef  <ds@schleef.org>
5677
5678         * check/Makefile.am: Fix environment variables.
5679         * check/gst/gstplugin.c: Fix for API changes.
5680         * tools/gst-inspect.c: Fix for API changes.
5681         * tools/gst-xmlinspect.c: Fix for API changes.
5682         * gst/gstelementfactory.c:
5683         * gst/gstplugin.c:
5684         * gst/gstplugin.h:
5685         * gst/gstpluginfeature.c:
5686         * gst/gstpluginfeature.h:
5687         * gst/gstregistry.c:
5688         * gst/gstregistry.h:
5689         * gst/gstregistryxml.c:
5690         * gst/gsttypefind.c:
5691         * gst/gsttypefindfactory.c:
5692         * gst/indexers/gstfileindex.c:
5693         * gst/indexers/gstmemindex.c:
5694         * gst/schedulers/Makefile.am:
5695           Change registry to keep track of both plugins and features,
5696           removing the feature tracking from plugins themselves.
5697
5698 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5699
5700         * check/Makefile.am:
5701         * tools/gst-register.1.in:
5702           remove gst-register
5703
5704 2005-09-15  David Schleef  <ds@schleef.org>
5705
5706         * check/gst/gstplugin.c:
5707         * gst/gstelementfactory.c:
5708         * gst/gstplugin.c:
5709         * gst/gstpluginfeature.c:
5710         * gst/gstregistry.c:
5711           Getting tired of debugging.  Disabled all the unreffing of
5712           plugins and features, which fixes the segfaults, but of
5713           course leaks like crazy.  At least playbin works.
5714
5715 2005-09-15  David Schleef  <ds@schleef.org>
5716
5717         * check/gst/gstplugin.c: (register_check_elements),
5718         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5719         More testing
5720         * gst/elements/gsttypefindelement.c: Fix refcounting.
5721         * gst/gsttypefind.c:
5722         * gst/gsttypefindfactory.c:
5723         * gst/gsttypefindfactory.h:
5724
5725 2005-09-15  David Schleef  <ds@schleef.org>
5726
5727         * gst/gstindex.c: get refcounting correct.
5728         * gst/gstregistry.c: Handle the case where a feature/plugin is
5729           not found.
5730
5731 2005-09-15  David Schleef  <ds@schleef.org>
5732
5733         * check/Makefile.am:
5734         * check/gst/gstplugin.c: Add test
5735         * gst/gstplugin.c: Fix problems noticed by testsuite
5736         * gst/gstplugin.h:
5737         * gst/gstregistry.c: 
5738         * gst/gstregistry.h:
5739
5740 2005-09-15  David Schleef  <ds@schleef.org>
5741
5742         * gst/gstplugin.c: Implement semi-decent recounting and locking
5743           in plugins and plugin features.
5744         * gst/gstplugin.h:
5745         * gst/gstpluginfeature.c:
5746         * gst/gstpluginfeature.h:
5747         * gst/gstregistry.c:
5748
5749 2005-09-15  Michael Smith <msmith@fluendo.com>
5750
5751         * gst/gstregistry.c: (gst_registry_get_feature_list):
5752           Implement this. Makes oggdemux work; decodebin still broken.
5753
5754 2005-09-14  David Schleef  <ds@schleef.org>
5755
5756         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5757           #316076)
5758         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5759         * gst/check/Makefile.am:
5760         * libs/gst/controller/Makefile.am:
5761         * libs/gst/dataprotocol/Makefile.am:
5762
5763 2005-09-14  David Schleef  <ds@schleef.org>
5764
5765         * configure.ac: Remove getbits library.  Nothing uses it, and
5766           it should be in something like liboil if someone did want
5767           to use it.
5768         * libs/gst/Makefile.am:
5769         * libs/gst/getbits/Makefile.am:
5770         * libs/gst/getbits/gbtest.c:
5771         * libs/gst/getbits/getbits.c:
5772         * libs/gst/getbits/getbits.h:
5773         * libs/gst/getbits/gstgetbits_generic.c:
5774         * libs/gst/getbits/gstgetbits_i386.s:
5775         * libs/gst/getbits/gstgetbits_inl.h:
5776
5777 2005-09-14  David Schleef  <ds@schleef.org>
5778
5779         * gst/Makefile.am: Dist glib-compat.h
5780
5781 2005-09-14  David Schleef  <ds@schleef.org>
5782
5783         * configure.ac: Remove gst/registries, since it's no longer used.
5784         * gst/registries/Makefile.am:
5785         * gst/registries/gstlibxmlregistry.c:
5786         * gst/registries/gstlibxmlregistry.h:
5787         * gst/registries/gstxmlregistry.c:
5788         * gst/registries/gstxmlregistry.h:
5789         * gst/registries/registrytest.c:
5790
5791 2005-09-14  David Schleef  <ds@schleef.org>
5792
5793         * gst/glib-compat.h:
5794         * gst/gstregistryxml.c:
5795           Convergence is near.  Seriously.
5796
5797 2005-09-14  David Schleef  <ds@schleef.org>
5798
5799         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5800         * gst/glib-compat.h:
5801           Attempt #4 to appease the buildbots.
5802
5803 2005-09-14  David Schleef  <ds@schleef.org>
5804
5805         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5806           Attempt #3.
5807
5808 2005-09-14  David Schleef  <ds@schleef.org>
5809
5810         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5811         Attempt #2.
5812
5813 2005-09-14  David Schleef  <ds@schleef.org>
5814
5815         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5816           the new functions.
5817
5818 2005-09-14  David Schleef  <ds@schleef.org>
5819
5820         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5821         * gst/glib-compat.h: Add some functions that are in newer versions
5822           of glib than we care to require.
5823         * gst/gstregistryxml.c: Use them.
5824
5825 2005-09-14  David Schleef  <ds@schleef.org>
5826
5827         * po/POTFILES.in: remove gst-register.c
5828
5829 2005-09-14  David Schleef  <ds@schleef.org>
5830
5831         * docs/gst/gstreamer-docs.sgml:
5832         * docs/gst/gstreamer-sections.txt:
5833         * docs/gst/gstreamer.types:
5834         * docs/gst/tmpl/gstelement.sgml:
5835         * docs/gst/tmpl/gstplugin.sgml:
5836         * docs/gst/tmpl/gstpluginfeature.sgml:
5837           Documentation updates for registry changes.
5838
5839 2005-09-14  David Schleef  <ds@schleef.org>
5840
5841         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5842           because we don't require glib-2.8.
5843
5844 2005-09-14  David Schleef  <ds@schleef.org>
5845
5846         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5847           registries directory.
5848
5849 2005-09-14  David Schleef  <ds@schleef.org>
5850
5851         * check/Makefile.am:
5852         * check/generic/states.c:
5853         * gst/Makefile.am:
5854         * gst/gst.c:
5855         * gst/gst.h:
5856         * gst/gst_private.h:
5857         * gst/gstelementfactory.c:
5858         * gst/gstindex.c:
5859         * gst/gstinfo.c:
5860         * gst/gstplugin.c:
5861         * gst/gstplugin.h:
5862         * gst/gstpluginfeature.c:
5863         * gst/gstpluginfeature.h:
5864         * gst/gstregistry.c:
5865         * gst/gstregistry.h:
5866         * gst/gstregistrypool.c: remove
5867         * gst/gstregistrypool.h: remove
5868         * gst/gsttypefind.c:
5869         * gst/gsttypefindfactory.c:
5870         * gst/gsturi.c:
5871         * tools/Makefile.am:
5872         * tools/gst-compprep.c:
5873         * tools/gst-inspect.c:
5874         * tools/gst-register.c: remove
5875         * tools/gst-xmlinspect.c:
5876           Registry rewrite.  Changes registry from being a file created
5877           by a tool into a simple cache file created automatically by 
5878           libgstreamer.  Removed gst-register (because it's no longer
5879           needed).  Remove registry pools, because we only have one
5880           registry implementation (XML).  Fix up other subsystems as
5881           necessary.
5882
5883 2005-09-13  Michael Smith <msmith@fluendo.com>
5884
5885         * gst/gstconfig.h.in:
5886           Don't Use windows linking attributes for MinGW. Fixes #316157
5887
5888 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5889
5890         * gst/gstutils.c: (set_state_async_thread_func),
5891         (gst_element_set_state_async):
5892           Apparently people think it's better if this function doesn't
5893           try to set the state to whatever state was asked for on the first
5894           call to this function for any object.  Seriously.
5895
5896 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5897
5898         * check/gst/gstpipeline.c: (GST_START_TEST):
5899         * docs/gst/gstreamer-sections.txt:
5900         * gst/gstutils.c: (set_state_async_thread_func),
5901         (gst_element_set_state_async):
5902         * gst/gstutils.h:
5903           add a "gst_element_set_state_async" method that
5904           sets the state and starts a thread to make sure the state
5905           change completes as best as it can
5906
5907 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5908
5909         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5910           codify design+behaviour in testsuite after discussion
5911
5912 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5913
5914         * docs/gst/tmpl/gstelement.sgml:
5915         * docs/manual/appendix-quotes.xml:
5916           add a quote
5917         * gst/gstelement.c: (gst_element_set_state):
5918           add some debug
5919
5920 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5921
5922         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5923         (gst_base_transform_prepare_output_buf),
5924         (gst_base_transform_handle_buffer):
5925         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5926         (gst_capsfilter_prepare_buf):
5927           Remove the requirement for sub-classes to call the parent
5928           implementation of prepare_output_buffer with a wrapper function.
5929           
5930         * gst/gsttaglist.h:
5931         * gst/gsttagsetter.h:
5932           Fix #define wrapper
5933
5934 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5935
5936         * docs/gst/gstreamer-sections.txt:
5937           more doc cleanups
5938
5939 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5940
5941         * docs/gst/gstreamer-sections.txt:
5942         * docs/gst/tmpl/gstelement.sgml:
5943         * docs/gst/tmpl/gstplugin.sgml:
5944         * gst/gstminiobject.c:
5945         * gst/gstvalue.h:
5946           docs now stop throwing warnings
5947
5948 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5949
5950         * docs/gst/gstreamer-sections.txt:
5951         * docs/gst/gstreamer.types:
5952         * docs/gst/tmpl/gstpad.sgml:
5953         * docs/gst/tmpl/gsttypes.sgml:
5954         * gst/base/gstadapter.h:
5955         * gst/base/gstbasesink.h:
5956         * gst/base/gstbasesrc.h:
5957         * gst/gstbin.h:
5958         * gst/gstbuffer.h:
5959         * gst/gstbus.h:
5960         * gst/gstcaps.h:
5961         * gst/gstclock.h:
5962         * gst/gstelement.h:
5963         * gst/gstevent.h:
5964         * gst/gstmessage.h:
5965         * gst/gstpad.h:
5966         * gst/gststructure.c:
5967         * gst/registries/gstlibxmlregistry.h:
5968           various documentation fixes
5969
5970 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5971
5972         * docs/gst/gstreamer-sections.txt:
5973         * docs/gst/tmpl/gstvalue.sgml:
5974           rearrange gstvalue section
5975         * gst/gstutils.c: (gst_element_state_get_name):
5976           NONE -> VOID
5977         * gst/gstvalue.c: (_gst_value_initialize):
5978         * gst/gstvalue.h:
5979           doc updates
5980
5981 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5982
5983         * check/gst-libs/controller.c:
5984           Header include fix.
5985         * gst/base/gstbasetransform.c:
5986         (gst_base_transform_default_prepare_buf),
5987         (gst_base_transform_handle_buffer):
5988         * gst/base/gstbasetransform.h:
5989           Some more basetransform changes and fixes to enable sub-classes
5990           that modify buffer metadata only.
5991         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5992         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5993         (gst_capsfilter_prepare_buf):
5994           If the output pad has fixed allowed caps and input buffers 
5995           don't have any, set the fixed caps on outgoing buffers.
5996
5997 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5998         * check/elements/identity.c: (GST_START_TEST):
5999           Make the error a little clearer when the test fails because
6000           identity made a copy of the buffer.
6001         * docs/gst/gstreamer-sections.txt:
6002           New symbols in gstbasetransform.h
6003         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6004         (gst_base_transform_init), (gst_base_transform_transform_size),
6005         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6006         (gst_base_transform_default_prepare_buf),
6007         (gst_base_transform_get_unit_size),
6008         (gst_base_transform_buffer_alloc),
6009         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6010         (gst_base_transform_change_state),
6011         (gst_base_transform_set_passthrough),
6012         (gst_base_transform_set_in_place),
6013         (gst_base_transform_is_in_place):
6014         * gst/base/gstbasetransform.h:
6015           Change BaseTransform to separate in_place operate from same_caps
6016           output. in_place implies that the element can perform the transform
6017           on incoming buffers in-place, even if the caps on the output are
6018           different.
6019           Sub-class elements can now implement special buffer allocation
6020           methods for outgoing buffers if they wish to.
6021           Big documentation addition.
6022         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6023         * gst/elements/gstelements.c:
6024           Changes for basetransform modifications.
6025         * gst/elements/Makefile.am:
6026         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6027           Compile fix. Extra debug output.
6028
6029 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6030
6031         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6032         (gst_pad_suite):
6033           add tests for valid pad naming
6034         * gst/check/gstcheck.c: (gst_check_log_message_func),
6035         (gst_check_log_critical_func):
6036           add ASSERT_WARNING
6037           remove printing of code, it is fragile when the code contains
6038           % and the line number is enough info
6039         * gst/check/gstcheck.h:
6040         * gst/gstpad.c: (gst_pad_template_new):
6041           fix memleaks
6042
6043 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6044
6045         * configure.ac:
6046           say what CHECK flags we use
6047         * docs/libs/gstreamer-libs.types:
6048         * libs/gst/controller/Makefile.am:
6049         * libs/gst/controller/gst-controller.c:
6050         * libs/gst/controller/gst-controller.h:
6051         * libs/gst/controller/gst-helper.c:
6052         * libs/gst/controller/gst-interpolation.c:
6053         * libs/gst/controller/gstcontroller.c:
6054         * libs/gst/controller/gsthelper.c:
6055         * libs/gst/controller/gstinterpolation.c:
6056         * tools/gst-inspect.c: (print_plugin_info):
6057           we don't use dashes in header names
6058
6059 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6060
6061         * check/Makefile.am:
6062         * check/gst/.cvsignore:
6063         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6064         (gst_pipeline_suite), (main):
6065           adding a test for pipelines and state changes
6066         * gst/gstutils.c: (get_state_func):
6067           add some debugging
6068         * gstreamer.spec.in:
6069           fix up spec file
6070
6071 2005-09-08  Michael Smith <msmith@fluendo.com>
6072
6073         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6074         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6075         (gst_file_src_is_seekable), (gst_file_src_get_size),
6076         (gst_file_src_start):
6077         * gst/elements/gstfilesrc.h:
6078           Various fixes for unseekable, unmmapable, and non-normal files, so
6079           that fallback to read() rather than mmap() works.
6080         * gst/gstevent.c: (gst_event_new_newsegment):
6081           Allow newsegment events with segment_start == segment_end, as will
6082           correctly happen if you use filesrc on a zero-size file, for
6083           example.
6084
6085 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6086
6087         * gst/gstplugin.c: (gst_plugin_load_file):
6088           Call g_module_close when we don't load the module
6089
6090         * gst/registries/gstlibxmlregistry.c:
6091         (gst_xml_registry_get_property):
6092           Port leak fix from 0.8
6093
6094 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6095
6096         * docs/gst/gstreamer-docs.sgml:
6097         * docs/gst/tmpl/.cvsignore:
6098         * docs/gst/tmpl/gsttrace.sgml:
6099         * docs/gst/tmpl/gsttrashstack.sgml:
6100         * gst/Makefile.am:
6101         * gst/gst.h:
6102         * gst/gstelement.h:
6103         * gst/gstevent.h:
6104         * gst/gstmessage.c:
6105         * gst/gstmessage.h:
6106         * gst/gsttag.c:
6107         * gst/gsttag.h:
6108         * gst/gsttaginterface.c:
6109         * gst/gsttaginterface.h:
6110         * gst/gsttaglist.c:
6111         * gst/gsttaglist.h:
6112         * gst/gsttagsetter.c:
6113         * gst/gsttagsetter.h:
6114         * gst/gsttrace.c:
6115         * gst/gsttrace.h:
6116         * gst/gsttrashstack.c:
6117           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6118           inlined docs for gsttrace, gsttrashstack
6119
6120 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6121
6122         * gst/Makefile.am:
6123         * gst/elements/gstbufferstore.h:
6124         * gst/elements/gsttypefindelement.c:
6125         * gst/elements/gsttypefindelement.h:
6126         * gst/gst.h:
6127         * gst/gsttypefind.c:
6128         * gst/gsttypefind.h:
6129         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6130         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6131         (gst_type_find_factory_dispose),
6132         (gst_type_find_factory_unload_thyself),
6133         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6134         (gst_type_find_factory_get_caps),
6135         (gst_type_find_factory_get_extensions),
6136         (gst_type_find_factory_call_function):
6137         * gst/gsttypefindfactory.h:
6138         * gst/registries/gstlibxmlregistry.c:
6139         * gst/registries/gstxmlregistry.c:
6140           splitted gsttypefind into gsttypefind, gsttypefindfactory
6141
6142 2005-09-07  Andy Wingo  <wingo@pobox.com>
6143
6144         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6145         condition whereby the pad's task function is entered before the
6146         pad_mode variable was set.
6147
6148 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6149
6150         * gst/gstpad.c: (gst_pad_alloc_buffer):
6151           Catch misbehaving pad_alloc functions that don't
6152           set up caps and do it for them.
6153
6154 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6155
6156         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6157           test for pipe!=NULL
6158         * docs/gst/tmpl/.cvsignore:
6159         * docs/gst/tmpl/gstmemchunk.sgml:
6160         * docs/gst/tmpl/gstparse.sgml:
6161         * docs/gst/tmpl/gsttaglist.sgml:
6162         * docs/gst/tmpl/gsttagsetter.sgml:
6163         * docs/gst/tmpl/gsttypefind.sgml:
6164         * docs/gst/tmpl/gsttypefindfactory.sgml:
6165         * gst/gstmemchunk.c:
6166         * gst/gstparse.c:
6167         * gst/gsttag.c:
6168         * gst/gsttaginterface.c:
6169         * gst/gsttypefind.c:
6170         * gst/gsttypefind.h:
6171           inlined more docs
6172
6173 === release 0.9.2 ===
6174
6175 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6176
6177         * NEWS:
6178         * RELEASE:
6179         * configure.ac:
6180           releasing 0.9.2, "South"
6181
6182 2005-09-05  Andy Wingo  <wingo@pobox.com>
6183
6184         * gst/registries/gstxmlregistry.h:
6185         * gst/registries/gstxmlregistry.c: Um... resurrect...
6186         
6187         * gst/registries/gstxmlregistry.h:
6188         * gst/registries/gstxmlregistry.c: and update to newer API.
6189         Incidentally they should be a bit faster now that they don't have
6190         to parse the caps.
6191         
6192 2005-09-05  Andy Wingo  <wingo@pobox.com>
6193
6194         * gst/registries/gstxmlregistry.h:
6195         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6196         replaced by the libxml registry a while back
6197
6198 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6199
6200         * docs/gst/tmpl/gstplugin.sgml:
6201         * gst/elements/gstelements.c:
6202         * gst/gst.c:
6203         * gst/gstplugin.c: (gst_plugin_register_func),
6204         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6205         (gst_plugin_get_source):
6206         * gst/gstplugin.h:
6207         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6208         (gst_xml_registry_save_plugin):
6209         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6210         (gst_xml_registry_save_plugin):
6211         * tools/gst-inspect.c: (print_plugin_info):
6212           add a "source" plugin description field, to represent the source
6213           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6214           will set it to PACKAGE, which is automake's idea of the name of
6215           the source project.
6216
6217 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6218
6219         * Makefile.am:
6220         * autogen.sh:
6221         * configure.ac:
6222         * docs/Makefile.am:
6223         * docs/faq/Makefile.am:
6224         * docs/gst/tmpl/gstelement.sgml:
6225         * docs/gst/tmpl/gsttypes.sgml:
6226         * docs/htmlinstall.mak:
6227         * docs/manual/Makefile.am:
6228         * docs/pwg/Makefile.am:
6229           reorganize doc build a little
6230           split out docbook and gtk-doc stuff
6231           have two separate --enable's and enable them through autogen
6232           but disable by default in configure (to be similar to other
6233           projects)
6234         * gstreamer.spec.in:
6235           clean up docs install
6236         * po/af.po:
6237         * po/az.po:
6238         * po/ca.po:
6239         * po/cs.po:
6240         * po/de.po:
6241         * po/en_GB.po:
6242         * po/fr.po:
6243         * po/it.po:
6244         * po/nb.po:
6245         * po/nl.po:
6246         * po/ru.po:
6247         * po/sq.po:
6248         * po/sr.po:
6249         * po/sv.po:
6250         * po/tr.po:
6251         * po/uk.po:
6252         * po/vi.po:
6253           translation updates
6254
6255 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6256
6257         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6258           Add comment.
6259           
6260         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6261         (gst_fake_sink_change_state):
6262           Make state change function thread-safe.
6263           
6264         * gst/gstpad.c: (gst_pad_alloc_buffer):
6265           Set offset on generic buffer allocated by fallback.
6266
6267 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6268
6269         * docs/gst/gstreamer-sections.txt:
6270         * docs/gst/tmpl/gstelement.sgml:
6271         * gst/gstpad.c:
6272         * libs/gst/controller/gst-controller.c:
6273         (gst_controlled_property_set_interpolation_mode),
6274         (gst_controlled_property_new),
6275         (gst_controller_find_controlled_property):
6276          run the wingo-magic script against the docs
6277
6278 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6279
6280         * docs/gst/gstreamer-docs.sgml:
6281         * docs/gst/gstreamer-sections.txt:
6282         * docs/gst/tmpl/.cvsignore:
6283         * docs/gst/tmpl/gstelementdetails.sgml:
6284         * docs/gst/tmpl/gstelementfactory.sgml:
6285         * gst/gst.c:
6286         * gst/gstbus.c:
6287         * gst/gstelementfactory.c:
6288         * gst/gstelementfactory.h:
6289           merged elementdetails docs into elementfactory docs
6290           inlined both
6291
6292 2005-09-02  Andy Wingo  <wingo@pobox.com>
6293
6294         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6295         consider this enum an enum and not a flags.
6296
6297 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6298
6299         * docs/gst/gstreamer-docs.sgml:
6300         * docs/gst/tmpl/.cvsignore:
6301         * docs/gst/tmpl/gstghostpad.sgml:
6302         * docs/gst/tmpl/gstiterator.sgml:
6303         * docs/gst/tmpl/gstmacros.sgml:
6304         * docs/gst/tmpl/gstrealpad.sgml:
6305         * docs/gst/tmpl/gstregistry.sgml:
6306         * docs/gst/tmpl/gstregistrypool.sgml:
6307         * docs/gst/tmpl/gststructure.sgml:
6308         * docs/gst/tmpl/gstsystemclock.sgml:
6309         * docs/gst/tmpl/gsttrace.sgml:
6310         * gst/gstghostpad.c:
6311         * gst/gstmacros.h:
6312         * gst/gstmemchunk.c:
6313         * gst/gstmemchunk.h:
6314         * gst/gstqueue.c:
6315         * gst/gstregistry.c:
6316         * gst/gstregistrypool.c:
6317         * gst/gststructure.c:
6318         * gst/gstsystemclock.c:
6319           more docs inlined
6320
6321 2005-09-02  Andy Wingo  <wingo@pobox.com>
6322
6323         * gst/gstelement.h (GstState): Renamed from GstElementState,
6324         changed to be a normal enum instead of flags.
6325         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6326         munged to be GST_STATE_CHANGE_*.
6327         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6328         work with the new state representation.
6329         (GstStateChange): New enumeration of possible state transitions.
6330         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6331         (GstElementClass::change_state): Pass the GstStateChange along as
6332         an argument. Helps language bindings, so they don't have to use
6333         tricky lock-needing macros like GST_STATE_CHANGE ().
6334
6335         * scripts/update-states (file): New script. Run it on a file to
6336         update it for state naming and API changes. Updates files in
6337         place.
6338
6339         * All files updated for the new API.
6340
6341 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6342
6343         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6344         * gst/gstutils.c: (gst_util_set_value_from_string),
6345         (gst_util_set_object_arg):
6346           fix a bunch of unchecked return values
6347         * tools/gst-complete.c: (main):
6348         * gstreamer.spec.in:
6349           clean up a little
6350
6351 2005-09-01  Wim Taymans  <wim@fluendo.com>
6352
6353         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6354         (gst_base_sink_event), (gst_base_sink_do_sync),
6355         (gst_base_sink_handle_event):
6356         * gst/base/gstbasesink.h:
6357         Handle newsegments more correctly.
6358
6359         * gst/gstbus.c:
6360         Fix docs.
6361
6362         * gst/gstevent.c: (gst_event_new_newsegment):
6363         A newsegment cannot have a start_time of -1
6364
6365 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6366
6367         * win32/gstenumtypes.c:
6368         * win32/gstenumtypes.h:
6369           Update
6370
6371 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6372
6373         * libs/gst/controller/gst-controller.c:
6374         (gst_controlled_property_set_interpolation_mode),
6375         (gst_controlled_property_new):
6376          fixed boolean again
6377
6378 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6379
6380         * docs/faq/gst-uninstalled:
6381           add -good
6382         * gst/gstevent.c:
6383         * gst/gstevent.h:
6384           remove wrong docs
6385         * gst/gstutils.c: (gst_element_link_filtered):
6386         * gst/gstutils.h:
6387           add gst_element_link_filtered
6388
6389 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6390
6391         * docs/gst/gstreamer-docs.sgml:
6392         * docs/gst/gstreamer-sections.txt:
6393         * docs/gst/tmpl/.cvsignore:
6394         * docs/gst/tmpl/gsterror.sgml:
6395         * docs/gst/tmpl/gstfilter.sgml:
6396         * docs/gst/tmpl/gsturihandler.sgml:
6397         * docs/gst/tmpl/gsturitype.sgml:
6398         * docs/gst/tmpl/gstutils.sgml:
6399         * docs/gst/tmpl/gstxml.sgml:
6400         * gst/gsterror.c:
6401         * gst/gsterror.h:
6402         * gst/gstfilter.c:
6403         * gst/gsturi.c:
6404         * gst/gsturitype.c:
6405         * gst/gstutils.c:
6406         * gst/gstxml.c:
6407           inlined more docs, fixed double id-ref
6408
6409 2005-08-31  Wim Taymans  <wim@fluendo.com>
6410
6411         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6412         (gst_base_transform_handle_buffer):
6413         Passthrough elements don't need the caps as they don't care.
6414
6415 2005-08-31  Wim Taymans  <wim@fluendo.com>
6416
6417         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6418         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6419         Don't leak refcounts on buffers.
6420
6421 2005-08-31  Wim Taymans  <wim@fluendo.com>
6422
6423         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6424         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6425         (gst_base_transform_chain), (gst_base_transform_change_state):
6426         * gst/base/gstbasetransform.h:
6427         Handle the case where we are not negotiated more gracefully.
6428
6429 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6430
6431         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6432         (gst_file_src_map_region):
6433           Set READONLY flag on mmap'ed buffers, otherwise
6434           gst_buffer_make_writable() won't work properly (#314708).
6435
6436 2005-08-31  Wim Taymans  <wim@fluendo.com>
6437
6438         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6439         passthrough elements can even do inplace on non writable
6440         buffers (as they don't touch them).
6441
6442 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6443
6444         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6445         (gst_test_mono_source_set_property),
6446         (gst_test_mono_source_class_init), (GST_START_TEST),
6447         (gst_controller_suite):
6448           more tests (hehe I have the most)
6449         * gst/gstbus.c:
6450           describe popping messages whenusing mulltiple sources
6451         * libs/gst/controller/gst-controller.c:
6452         (gst_controlled_property_set_interpolation_mode),
6453         (gst_controlled_property_new):
6454         * libs/gst/controller/gst-controller.h:
6455         * libs/gst/controller/gst-interpolation.c:
6456           implement boolean properties
6457
6458 2005-08-31  Wim Taymans  <wim@fluendo.com>
6459
6460         * gst/gstminiobject.c: (gst_mini_object_ref):
6461         Cannot assert that the refcount has to be positive
6462         since a disposed object can be resurrected.
6463
6464 2005-08-31  Wim Taymans  <wim@fluendo.com>
6465
6466         * gst/gstpad.c: (gst_pad_init):
6467         Revert change, need to first fix badly behaving 
6468         apps.
6469
6470 2005-08-30  Wim Taymans  <wim@fluendo.com>
6471
6472         * check/elements/fakesrc.c: (setup_fakesrc):
6473         * check/elements/identity.c: (setup_identity):
6474         Activate pads before using them.
6475
6476 2005-08-30  Wim Taymans  <wim@fluendo.com>
6477
6478         * gst/base/gstadapter.c: (gst_adapter_flush):
6479         Flushing out 0 bytes is ok for this function.
6480
6481         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6482         no newsegment gives a warning and sets the start/stop to 
6483         invalid.
6484
6485         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6486         (gst_base_transform_set_passthrough):
6487         Some debug info.
6488
6489         * gst/gstminiobject.c: (gst_mini_object_ref):
6490         Check refcount here too.
6491
6492         * gst/gstpad.c: (gst_pad_init):
6493         Pads are initially flushing and refusing data.
6494
6495         * gst/gstutils.c: (gst_element_link_pads_filtered):
6496         When adding a capsfilter element make sure it has the
6497         same state as the parent bin.
6498
6499 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6500
6501         * docs/gst/tmpl/.cvsignore:
6502         * docs/gst/tmpl/gstformat.sgml:
6503         * docs/gst/tmpl/gstversion.sgml:
6504         * gst/gstbus.h:
6505         * gst/gstformat.c:
6506         * gst/gstformat.h:
6507         * gst/gstversion.h.in:
6508           more docs and two more inlined
6509
6510 2005-08-30  Wim Taymans  <wim@fluendo.com>
6511
6512         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6513         Don't sync to clock.
6514
6515 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6516
6517         * docs/gst/gstreamer-sections.txt:
6518           ultral33t func10ns deserve to appear in the docs actually
6519         * docs/gst/tmpl/.cvsignore:
6520         * docs/gst/tmpl/gstcompat.sgml:
6521         * docs/gst/tmpl/gstconfig.sgml:
6522         * gst/check/gstcheck.c:
6523         * gst/gstcompat.h:
6524         * gst/gstconfig.h.in:
6525           inlined more docs
6526
6527 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6528
6529         * docs/gst/tmpl/.cvsignore:
6530         * docs/gst/tmpl/gstquery.sgml:
6531         * docs/gst/tmpl/gstutils.sgml:
6532         * gst/gstquery.c:
6533         * gst/gstquery.h:
6534           inlined and extended docs
6535
6536 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6537
6538         * check/gst-libs/controller.c: (GST_START_TEST),
6539         (gst_controller_suite):
6540           more tests
6541         * docs/gst/tmpl/gstutils.sgml:
6542         * docs/libs/gstreamer-libs-sections.txt:
6543         * docs/libs/tmpl/gstdataprotocol.sgml:
6544           include path fixes
6545         * examples/controller/audio-example.c: (main):
6546           controller example works now
6547         * gst/gstclock.h:
6548           doc fixes
6549         * tools/gst-inspect.c: (print_element_properties_info):
6550           show param spec flags
6551
6552 2005-08-29  Andy Wingo  <wingo@pobox.com>
6553
6554         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6555
6556 2005-08-28  Andy Wingo  <wingo@pobox.com>
6557
6558         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6559         as having two arguments instead of just one. Allows superclasses
6560         to access information on subclasses -- see the terrible for() loop
6561         in gtype.c:g_type_create_instance for the reason why. All callers
6562         changed.
6563
6564 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6565
6566         * docs/design/part-messages.txt:
6567           update info
6568         * docs/gst/tmpl/.cvsignore:
6569         * docs/gst/tmpl/gstcaps.sgml:
6570         * docs/gst/tmpl/gstclock.sgml:
6571         * gst/gstbus.c:
6572         * gst/gstcaps.c:
6573         * gst/gstcaps.h:
6574         * gst/gstclock.c:
6575         * gst/gstclock.h:
6576         * gst/gstmessage.c:
6577           added descriptions for bus and message
6578           inline caps and clock docs
6579
6580 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6581
6582         * gst/gstmessage.c:
6583         * gst/gstmessage.h:
6584           doc fixes
6585
6586 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6587
6588         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6589           fix div-by-zero
6590
6591 2005-08-26  Andy Wingo  <wingo@pobox.com>
6592
6593         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6594         element_set_state's return val.
6595         (test_2_elements): Add test that's been disabled for months.
6596
6597         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6598         can-activate-pull properties.
6599
6600         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6601         can-activate-pull properties. Implement is_seekable so fakesrc can
6602         operate in pull mode.
6603
6604         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6605         properties.
6606         (gst_base_sink_activate, gst_base_sink_activate_pull)
6607         (gst_base_sink_activate_push): Make activation mode choosing work.
6608         Cleanups.
6609         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6610         is right. Make pull mode work. Post an eos before pausing in pull
6611         mode.
6612         (gst_base_sink_change_state): Pay attention to the core's
6613         change_state() return val.
6614         
6615         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6616         has-getrange properties. Cleanups.
6617         
6618         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6619         has_getrange and replace with can_activate_pull and
6620         can_activate_push.
6621
6622         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6623         locking comments. Remove has_loop, has_chain and replace with
6624         can_activate_pull and can_activate_push.
6625
6626 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6627
6628         * configure.ac:
6629         * examples/Makefile.am:
6630         * examples/metadata/Makefile.am:
6631         * examples/metadata/read-metadata.c: (message_loop),
6632         (have_pad_handler), (make_pipeline), (print_tag), (main):
6633           Add metadata reading example that loops over a list of filenames,
6634           dumping any tags found.
6635
6636         * gst/gstbus.c: (gst_bus_dispose):
6637         * gst/gstelement.c: (gst_element_dispose):
6638           Release a few potentially-held references in dispose.
6639
6640 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6641
6642         * docs/gst/tmpl/gstminiobject.sgml:
6643           do *not* add tmpl/*.sgml files to CVS!
6644
6645 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6646
6647         * libs/gst/bytestream/.cvsignore:
6648         * libs/gst/bytestream/Makefile.am:
6649         * libs/gst/bytestream/adapter.c:
6650         * libs/gst/bytestream/adapter.h:
6651         * libs/gst/bytestream/bytestream.c:
6652         * libs/gst/bytestream/bytestream.h:
6653         * libs/gst/bytestream/filepad.c:
6654         * libs/gst/bytestream/filepad.h:
6655           removing obsolete files
6656
6657 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6658
6659         * docs/gst/gstreamer-docs.sgml:
6660         * docs/libs/gstreamer-libs-docs.sgml:
6661           disabed additional index entries again, as this makes docs-gen just
6662           slow and they aren't useful yet
6663         * docs/libs/gstreamer-libs-sections.txt:
6664           little -section.txt cleanup for libs
6665
6666 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6667
6668         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6669         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6670           fix up some debugging
6671         (gst_base_transform_get_unit_size),
6672         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6673         (gst_base_transform_handle_buffer):
6674         * gst/base/gstbasetransform.h:
6675           handle and store timed NEWSEGMENT events so that subclasses that
6676           calculate time by counting samples have a segment_start time they
6677           need to add to their timestamps - see audioresample
6678
6679 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6680
6681         * gst/gstbin.h:
6682           removed ';' from the end of macro defs
6683         * docs/gst/gstreamer-docs.sgml:
6684         * docs/gst/gstreamer-sections.txt:
6685         * docs/gst/tmpl/.cvsignore:
6686         * gst/gstbus.h:
6687         * gst/gstelement.c: (gst_element_class_init),
6688         (gst_element_set_state), (activate_pads),
6689         (gst_element_save_thyself):
6690         * gst/gstevent.c: (gst_event_new_newsegment):
6691         * gst/gstevent.h:
6692         * gst/gstiterator.c:
6693         * gst/gstiterator.h:
6694         * gst/gstpad.c:
6695         * gst/gstprobe.h:
6696         * gst/gstutils.c: (gst_pad_query_convert):
6697         * gst/gstutils.h:
6698           fixed parameter name mismatches between source, header and docs
6699           added some more docs, resolved the last batch of unused elements in
6700           docs (now someone needs to doc them)
6701
6702 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6703
6704         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6705         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6706           don't walk through the plugins backwards.  Where is all this
6707           reversed logic coming from ?
6708
6709 2005-08-25  Wim Taymans  <wim@fluendo.com>
6710
6711         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6712         (gst_base_transform_transform_size),
6713         (gst_base_transform_configure_caps),
6714         (gst_base_transform_get_unit_size),
6715         (gst_base_transform_buffer_alloc),
6716         (gst_base_transform_change_state):
6717         * gst/base/gstbasetransform.h:
6718         Cache caps unit_size.
6719         Make sure we cannot negotiate up and downstream at the
6720         same time.
6721
6722 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6723
6724         * gst/gst.c: (init_pre), (init_post):
6725           register the installed plugin path after the env var
6726         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6727         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6728           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6729           directories, so the tests can prefer uninstalled over installed
6730
6731 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6732
6733         * gst/base/gstbasetransform.h:
6734           comment
6735         * gst/gstpad.c:
6736           add to docs
6737
6738 2005-08-25  Wim Taymans  <wim@fluendo.com>
6739
6740         * gst/gstbin.c: (bin_bus_handler):
6741         Be a bit more conservative about the posted message.
6742         
6743         * gst/gstbus.c: (gst_bus_post):
6744         Some cleanups, warn wrong return values.
6745
6746 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6747
6748         * check/gst/gstbin.c: (GST_START_TEST):
6749         * gst/gstbin.c: (bin_bus_handler):
6750         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6751         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6752         (gst_message_new_warning), (gst_message_new_tag),
6753         (gst_message_new_state_changed), (gst_message_new_segment_start),
6754         (gst_message_new_segment_done), (gst_message_new_custom):
6755         * gst/gstmessage.h:
6756         * tools/gst-launch.c: (event_loop):
6757         * tools/gst-md5sum.c: (event_loop):
6758           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6759
6760 2005-08-25  Wim Taymans  <wim@fluendo.com>
6761
6762         * check/generic/states.c: (GST_START_TEST):
6763         Cleanup can be done at the end.
6764
6765         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6766         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6767         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6768         Oh boy.. Thanks for finding this, Thomas. 
6769
6770 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6771
6772         * docs/gst/gstreamer.types:
6773           added missing types
6774
6775 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6776
6777         * docs/gst/gstreamer-docs.sgml:
6778         * docs/gst/gstreamer-sections.txt:
6779         * docs/gst/tmpl/.cvsignore:
6780         * gst/gstbin.c:
6781         * gst/gstiterator.c:
6782         * gst/gstutils.c:
6783         * gst/registries/gstxmlregistry.h:
6784           added missing classes and symbols (123 more to go)
6785           removed removed symbols from section file
6786           fixed many doc-comments
6787
6788 2005-08-24  Wim Taymans  <wim@fluendo.com>
6789
6790         * check/generic/states.c: (GST_START_TEST):
6791         Make sure all tasks are stopped.
6792
6793         * check/gst/gstbin.c: (GST_START_TEST):
6794         Unref after usage for proper valgrinding.
6795
6796         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6797         Really wait for the task to stop before destroying the
6798         mutex.
6799
6800         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6801         (gst_queue_src_activate_push):
6802         Small cleanups. Don't stop the task when we did not start
6803         it.
6804
6805         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6806         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6807         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6808         (gst_task_join):
6809         * gst/gsttask.h:
6810         Protect the stream lock with the object lock.
6811         Disallow setting the stream lock when running.
6812         Add cleanup_all to wait for the threadpool to finish.
6813         Remove code to autoallocate a mutex if none was provided.
6814         Add _join() to wait for a task to stop.
6815         Protect the thread pool with a global lock.
6816
6817 2005-08-24  Wim Taymans  <wim@fluendo.com>
6818
6819         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6820         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6821         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6822         * gst/base/gstbasesink.h:
6823         Handle newsegment events correctly.
6824         Drop buffers out of the segment range.
6825
6826 2005-08-22  Andy Wingo  <wingo@pobox.com>
6827
6828         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6829         macro, implements an interface and gstimplementsinterface for a
6830         new type.
6831
6832 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6833
6834         * check/Makefile.am:
6835         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6836           add a test that does a bunch of state changes on elements
6837           needs some fixing for valgrind
6838         * check/states/sinks.c: (gst_object_suite):
6839           whitespace
6840         * gst/gstcaps.h:
6841           add prototype for gst_caps_is_equal_fixed
6842         * gst/gstplugin.c:
6843         * gst/gstregistrypool.c:
6844           doc fixes
6845
6846 2005-08-24  Andy Wingo  <wingo@pobox.com>
6847
6848         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6849         convert a negative value. Doesn't make much sense. Mostly this is
6850         here to force callers to ensure -1 maps to -1.
6851
6852 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6853
6854         * docs/pwg/advanced-types.xml:
6855           Well done to Michael for catching my deliberate introduction
6856           of this spelling mistake. 
6857         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6858         * gst/gstelement.h:
6859           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6860           unlink pads before removing the element from the bin.
6861
6862 2005-08-24  Andy Wingo  <wingo@pobox.com>
6863
6864         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6865         the same thing as GST_DEBUG=*:4.
6866         (parse_debug_level, parse_debug_category): New helper parsers.
6867
6868 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6869
6870         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6871         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6872         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6873         (gst_base_transform_buffer_alloc),
6874         (gst_base_transform_handle_buffer):
6875           use gboolean return values and pointers to size so we can use the
6876           full GST_BUFFER_SIZE range (guint) for buffer sizes
6877           use GstPadDirection for transform_caps
6878         * gst/base/gstbasetransform.h:
6879           rename get_size to get_unit_size since that's what it is
6880         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6881           use GstPadDirection for transform_caps
6882         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6883         * gst/gstutils.h:
6884           cleanup and debugging
6885
6886 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6887
6888         * gst/gstelement.c: (gst_element_class_init),
6889         (gst_element_set_state), (activate_pads),
6890         (gst_element_save_thyself):
6891         * tools/gst-compprep.c: (main):
6892         * tools/gst-inspect.c: (print_element_properties_info):
6893         * tools/gst-xmlinspect.c: (print_element_properties):
6894           Fixed long standing mem-leak
6895
6896 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6897
6898         * check/gst/gstbin.c: (GST_START_TEST):
6899         * gst/gstbin.c: (bin_bus_handler):
6900         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6901         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6902         (gst_message_new_warning), (gst_message_new_tag),
6903         (gst_message_new_state_changed), (gst_message_new_segment_start),
6904         (gst_message_new_segment_done), (gst_message_new_custom):
6905         * gst/gstmessage.h:
6906         * tools/gst-launch.c: (event_loop):
6907         * tools/gst-md5sum.c: (event_loop):
6908           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6909           that applications can sensibly post custom messages with references
6910           to their own objects.
6911
6912 2005-08-24  Andy Wingo  <wingo@pobox.com>
6913
6914         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6915         already.
6916
6917 2005-08-24  Wim Taymans  <wim@fluendo.com>
6918
6919         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6920         (gst_base_transform_transform_caps),
6921         (gst_base_transform_transform_size),
6922         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6923         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6924         (gst_base_transform_handle_buffer):
6925         * gst/base/gstbasetransform.h:
6926         Many fixes and new features added by Thomas. Can now also do
6927         transforms with variable sizes and a custom fixate_caps function.
6928
6929 2005-08-24  Wim Taymans  <wim@fluendo.com>
6930
6931         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6932         Some debugging.
6933
6934         * gst/gstclock.h:
6935         Cast to ClockTime before formatting to time.
6936
6937         * gst/gstutils.h:
6938         Cleanups.
6939
6940 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6941
6942         * check/gst-libs/controller.c: (GST_START_TEST),
6943         (gst_controller_suite):
6944         * docs/gst/tmpl/gstcaps.sgml:
6945         * docs/gst/tmpl/gstghostpad.sgml:
6946         * docs/gst/tmpl/gstquery.sgml:
6947         * docs/gst/tmpl/gstutils.sgml:
6948         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6949         (gst_object_sink_values), (gst_object_get_value_arrays),
6950         (gst_object_get_value_array):
6951           gracefully handle helper method calls to objects that are not beeing
6952           controlled, added test case for that          
6953
6954 2005-08-23  Wim Taymans  <wim@fluendo.com>
6955
6956         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6957         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6958         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6959         (gst_event_parse_qos), (gst_event_new_seek),
6960         (gst_event_parse_seek):
6961         * gst/gstevent.h:
6962         Some more debugging output and doc cleanups.
6963
6964         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6965         Fix possible deadlock.
6966
6967 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6968
6969         * docs/gst/gstreamer-docs.sgml:
6970         * docs/gst/gstreamer-sections.txt:
6971         * docs/gst/gstreamer.types:
6972         * docs/gst/tmpl/.cvsignore:
6973         * gst/gstbin.h:
6974         * gst/gstbus.c:
6975         * gst/gstelement.c:
6976         * gst/gstevent.h:
6977           added 100 symbols from gstreamer-unused.txt to the right sections
6978           fixed more broken comments
6979           added GstBus to docs
6980
6981 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6982
6983         * docs/gst/gstreamer-sections.txt:
6984         * docs/gst/tmpl/.cvsignore:
6985         * docs/gst/tmpl/gstbin.sgml:
6986         * docs/gst/tmpl/gstbuffer.sgml:
6987         * gst/base/gstbasesrc.c:
6988         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6989         * gst/gstbuffer.c:
6990         * gst/gstbuffer.h:
6991         * tools/gst-launch.1.in:
6992           inlined more doc comments, added missing comments and fixed comments
6993           fixed typos
6994
6995 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6996
6997         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6998           some debugging
6999         * gst/gstcaps.h:
7000           whitespace fixes
7001         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7002           more debugging
7003         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7004         * gst/gststructure.h:
7005           add a fixate function for booleans; add a FIXME that these func
7006           names should probably be gst_structure_fixate_*
7007
7008 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7009
7010         * docs/gst/gstreamer-docs.sgml:
7011         * docs/gst/gstreamer-sections.txt:
7012         * gst/Makefile.am:
7013         * gst/gstbin.c: (gst_bin_get_type),
7014         (gst_bin_child_proxy_get_child_by_index),
7015         (gst_bin_child_proxy_get_children_count),
7016         (gst_bin_child_proxy_init):
7017         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7018         (gst_child_proxy_get_child_by_index),
7019         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7020         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7021         (gst_child_proxy_get), (gst_child_proxy_set_property),
7022         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7023         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7024         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7025         * gst/gstchildproxy.h:
7026         * gst/parse/grammar.y:
7027         * tools/gst-inspect.c: (print_interfaces),
7028         (print_element_properties_info), (print_element_info):
7029           ported gstchildproxy over from 0.8
7030           ported gst-inspect fixes and enhancements over from 0.8
7031
7032 2005-08-22  Wim Taymans  <wim@fluendo.com>
7033
7034         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7035         (gst_base_transform_handle_buffer):
7036         Also call the transform function if we have ANY caps.
7037
7038         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7039         Fix debug info.
7040
7041 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7042
7043         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7044           Don't pretend to handle seek events if the source is not seekable
7045
7046 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7047
7048         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7049           Remove extra parameter to debug output
7050
7051         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7052         (gst_base_src_do_seek), (gst_base_src_activate_push):
7053           Fix seek event handling.
7054
7055         * gst/gstpipeline.c: (gst_pipeline_change_state):
7056         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7057         (gst_queue_src_activate_push):
7058           Don't start the src pad task on FLUSH_STOP if the pad
7059           isn't linked.
7060           Debug changes.
7061
7062 2005-08-22  Wim Taymans  <wim@fluendo.com>
7063
7064         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7065         Added check for gst_static_caps_get() refcounting.
7066
7067 2005-08-22  Wim Taymans  <wim@fluendo.com>
7068
7069         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7070         Make _static_caps_get() refcounting sane.
7071         
7072         * gst/gstelement.c: (gst_element_set_state):
7073         Add g_return_val_if_fail() to protect against segfaults.
7074
7075 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7076
7077         * docs/gst/tmpl/gstevent.sgml:
7078         * gst/gstevent.c:
7079         * gst/gstevent.h:
7080           inlined remaining docs, added missing doc comments
7081
7082 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7083
7084         * check/gst/gstbin.c: (GST_START_TEST):
7085           since we don't know when preroll is done, use refcount range
7086           check for the sink
7087         * gst/check/gstcheck.h:
7088           add macro for checking refcount range
7089
7090 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7091
7092         * check/Makefile.am:
7093           clean up environment for when registry gets built versus
7094           when actual tests are run; valgrind seems to not report
7095           leaks if GST_PLUGIN_PATH is set to some specific values
7096         * check/gst/gstbin.c: (GST_START_TEST):
7097           add more refcounting checks; maybe this exposes a
7098           preroll lock bug ?
7099         * common/check.mak:
7100         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7101         * gst/check/gstcheck.h:
7102         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7103         (gst_bin_change_state):
7104         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7105           add/fix debugging/whitespace
7106
7107 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7108
7109         * check/gst/gstevent.c: (event_probe), (test_event),
7110         (GST_START_TEST):
7111          Er, don't call gst_bin_watch_for_state_change you idiot.
7112
7113 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7114
7115         * check/Makefile.am:
7116           Use CHECK_CFLAGS and CHECK_LIBS
7117         * check/gst/gstevent.c: (event_probe), (test_event),
7118         (GST_START_TEST):
7119           Don't leak events.
7120         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7121         (gst_base_src_start), (gst_base_src_stop),
7122         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7123         (gst_base_src_change_state):
7124           Sprinkle gst_base_src_stop liberally around error paths to fix
7125           problems reusing a source after failed state changes.
7126         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7127         (helper_find_suggest), (gst_type_find_helper):
7128           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7129         * gst/gstevent.h:
7130         * docs/gst/tmpl/gstevent.sgml:
7131           Migrate part of the docs from the SGML file. Wait for ensonic to
7132           tell me how I did it wrong ;)
7133         * tools/gst-typefind.c: (main):
7134           Extra robustness to state changes between files.
7135
7136 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7137
7138         * check/Makefile.am:
7139           don't valgrind the controller test - it's leaking - Stefan, HELP
7140         * gst/check/gstcheck.c: (gst_check_message_error),
7141         (gst_check_chain_func), (gst_check_setup_element),
7142         (gst_check_teardown_element), (gst_check_setup_src_pad),
7143         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7144         (gst_check_teardown_sink_pad):
7145         * gst/check/gstcheck.h:
7146           add a bunch of methods to set up elements, and src and sink pads
7147         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7148         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7149         (GST_START_TEST):
7150           use them
7151         * gst/gstmessage.c:
7152         * gst/gsttag.h:
7153           whitespace/doc fixes
7154
7155 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7156
7157         * gst/gstelement.h:
7158           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7159           be handled by the application and not always printed as well
7160
7161 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7162
7163         * check/Makefile.am:
7164           set GST_TOOLS_DIR
7165         * gst/check/gstcheck.c: (gst_check_message_error):
7166         * gst/check/gstcheck.h:
7167           add a fail_unless_equals_int
7168           add fail_unless for error messages
7169
7170 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7171
7172         * check/Makefile.am:
7173         * check/gst.supp:
7174         * common/Makefile.am:
7175         * common/check.mak:
7176         * common/gst.supp:
7177           factor out some of the common stuff so we can use it
7178
7179 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7180
7181         * check/Makefile.am:
7182         * check/gst/gstiterator.c: (GST_START_TEST):
7183         * check/gst/gstsystemclock.c: (GST_START_TEST),
7184         (gst_systemclock_suite):
7185         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7186         * gst/gstclock.c:
7187           valgrind more tests
7188
7189 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7190
7191         * check/elements/.cvsignore:
7192         * check/elements/gstfakesrc.c:
7193           rename to name of element
7194         * check/elements/identity.c: (chain_func), (event_func),
7195         (setup_identity), (cleanup_identity), (GST_START_TEST),
7196         (identity_suite), (main):
7197           add a test for identity
7198         * check/Makefile.am:
7199         * pkgconfig/Makefile.am:
7200         * pkgconfig/gstreamer-check.pc.in:
7201         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7202         * gst/check:
7203         * gst/Makefile.am:
7204         * configure.ac:
7205           move the check stuff to a library that gets installed
7206         * check/gst-libs/controller.c: (GST_START_TEST):
7207         * check/gst-libs/gdp.c:
7208         * check/gst/gst.c: (GST_START_TEST):
7209         * check/gst/gstbin.c:
7210         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7211         * check/gst/gstbus.c:
7212         * check/gst/gstcaps.c: (GST_START_TEST):
7213         * check/gst/gstelement.c:
7214         * check/gst/gstghostpad.c:
7215         * check/gst/gstiterator.c:
7216         * check/gst/gstmessage.c:
7217         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7218         * check/gst/gstobject.c:
7219         * check/gst/gstpad.c: (GST_START_TEST):
7220         * check/gst/gststructure.c: (GST_START_TEST):
7221         * check/gst/gstsystemclock.c: (GST_START_TEST),
7222         (gst_systemclock_suite):
7223         * check/gst/gsttag.c: (gst_tag_suite):
7224         * check/gst/gstvalue.c:
7225         * check/pipelines/cleanup.c:
7226         * check/pipelines/simple_launch_lines.c:
7227         * check/states/sinks.c:
7228           change include statement
7229
7230         * docs/gst/gstreamer-sections.txt:
7231         * docs/gst/tmpl/gstpad.sgml:
7232           document more pad stuff
7233         * gst/gstminiobject.c: (gst_mini_object_ref),
7234         (gst_mini_object_unref):
7235           debug refcounting
7236
7237 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7238
7239         * docs/gst/tmpl/gst.sgml:
7240         * gst/gst.c:
7241           eliminate another tmpl file, fix spelling in the long-description
7242
7243 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7244
7245         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7246         (test_event), (timediff), (gstevents_suite):
7247           Should fix build on 64-bit arch's
7248
7249 2005-08-18  Andy Wingo  <wingo@pobox.com>
7250
7251         Make sure that when a pipeline goes to PLAYING, that data has
7252         actually hit the sink.
7253
7254         * check/states/sinks.c (test_sink): A sink that doesn't get any
7255         data shouldn't return SUCCESS for going to either PLAYING or
7256         PAUSED. Test also the return values on the way back down.
7257
7258         * gst/gstelement.c (gst_element_set_state): When changing the
7259         state of an element currently changing state asynchronously, go to
7260         lost-state after commiting the pending state. Makes future calls
7261         to get_state continue to return ASYNC.
7262
7263         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7264         ASYNC when going to PLAYING if we still don't have preroll, as can
7265         happen with live sources.
7266
7267 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7268
7269         * docs/pwg/advanced-types.xml:
7270           Hack long paragraph into 2 chunks as a workaround for buggy
7271           jadetex version in sid and breezy that loops infinitely and
7272           eats all RAM.
7273
7274 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7275
7276         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7277         (test_event), (timediff), (gstevents_suite):
7278           Provide more error margin in clock measurements to allow for 
7279           g_get_current_time inaccuracies.
7280
7281 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7282
7283         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7284         (test_event), (timediff), (gstevents_suite):
7285            Fix error message output so I might be able to tell why the
7286            test works here but fails on the build farm.
7287
7288 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7289
7290         * check/Makefile.am:
7291         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7292         (test_event), (timediff), (gstevents_suite), (main):
7293           I wrote a test!
7294
7295         * docs/design/part-seeking.txt:
7296           Spelling correction
7297
7298         * docs/gst/tmpl/gstevent.sgml:
7299         * docs/gst/tmpl/gstfakesrc.sgml:
7300           Docs updates.
7301
7302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7303           Treat a buffer-without-newsegment the same as a receiving 
7304           a newsegment not in time format, and disable syncing to the clock
7305           with a warning.
7306
7307         * gst/gstbus.c: (gst_bus_set_sync_handler):
7308           Assert if anyone tries to replace the existing sync_handler for bus, 
7309           as only the owner should be setting it.
7310
7311         * gst/gstevent.h:
7312           Have a fixed set of custom event enums with events identified by
7313           their structure name (as in 0.8), rather than a free-for-all
7314           allowing collisions between enum values from different plugins.
7315
7316         * gst/gstpad.c: (gst_pad_class_init):
7317           Docs change.
7318           
7319         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7320           Handle out-of-band downstream events from the sending thread.
7321
7322 2005-08-17  Andy Wingo  <wingo@pobox.com>
7323
7324         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7325         play-timeout==0 to mean no timeout at all. In that case, don't
7326         bother with a get_state or a warning, just return directly, even
7327         if it's ASYNC.
7328
7329         * gst/base/gstbasetransform.c: Debug changes.
7330
7331         * gst/gstutils.h:
7332         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7333         ensure bins post state change messages. A bit of a hack but I can't
7334         think of a way to avoid it.
7335
7336         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7337
7338 2005-08-16  Andy Wingo  <wingo@pobox.com>
7339
7340         * gst/base/gstadapter.h:
7341         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7342         peek() but you own the data. Not terribly efficient atm.
7343
7344 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7345
7346         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7347         (gst_element_found_tags):
7348         * gst/gstutils.h:
7349           Add two utility functions for tag handling.
7350
7351 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7352
7353         * docs/manual/advanced-dataaccess.xml:
7354         * docs/manual/basics-helloworld.xml:
7355           Fix docs to use _bin_add() before _link(), which fixes the examples
7356           with recent core versions (reported by Madhan Raj M
7357           <raj_madan@rediffmail.com>, #313199).
7358
7359 2005-08-16  Wim Taymans  <wim@fluendo.com>
7360
7361         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7362         Added subtract checks.
7363
7364         * docs/design/part-events.txt:
7365         Some more docs about newsegment
7366
7367         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7368         Fix FIXME
7369
7370         * gst/gstcaps.c: (gst_caps_to_string):
7371         Add comments, cleanups.
7372         
7373         * gst/gstelement.c: (gst_element_save_thyself):
7374         cleanups
7375         
7376         * gst/gstvalue.c: (gst_value_collect_int_range),
7377         (gst_string_unwrap), (gst_value_union_int_int_range),
7378         (gst_value_union_int_range_int_range),
7379         (gst_value_intersect_int_int_range),
7380         (gst_value_intersect_int_range_int_range),
7381         (gst_value_intersect_double_double_range),
7382         (gst_value_intersect_double_range_double_range),
7383         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7384         (gst_value_subtract_int_range_int),
7385         (gst_value_subtract_double_range_double),
7386         (gst_value_subtract_double_range_double_range),
7387         (gst_value_subtract_from_list), (gst_value_subtract_list),
7388         (gst_value_can_compare), (gst_value_compare_fraction):
7389         Cleanups, add comments, remove unneeded asserts.
7390
7391 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7392
7393         * tools/gst-launch.c: (event_loop):
7394           don't convert NULL structures to strings
7395
7396 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7397
7398         * docs/gst/gstreamer-sections.txt:
7399           made some defines private
7400         * docs/gst/tmpl/gstconfig.sgml:
7401         * docs/gst/tmpl/gstqueue.sgml:
7402         * docs/gst/tmpl/gsttaglist.sgml:
7403         * docs/gst/tmpl/gsttypes.sgml:
7404         * docs/gst/tmpl/gstutils.sgml:
7405         * docs/pwg/appendix-porting.xml:
7406         * gst/base/gstbasesink.h:
7407         * gst/base/gstbasesrc.c:
7408         * gst/base/gstbasesrc.h:
7409         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7410         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7411         * gst/gstelement.c: (gst_element_class_init):
7412         * gst/gstpad.c: (gst_pad_class_init):
7413         * gst/gstqueue.c: (gst_queue_class_init):
7414         * gst/gstxml.c: (gst_xml_class_init):
7415           documented all undocumented signal inline
7416         * libs/gst/controller/gst-controller.h:
7417           added padding
7418
7419 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7420
7421         * docs/pwg/appendix-porting.xml:
7422           Document _set_link_function -> _set_setcaps_function.
7423
7424 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7425
7426         * check/Makefile.am:
7427           add a .check target for running the check
7428         * check/gst-libs/controller.c: (GST_START_TEST):
7429           cosmetic fixups
7430         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7431           complete checks for gstbuffer; would be nice if I could get the
7432           gcov stuff to work so I can see if I actually completed gstbuffer.c
7433         * check/gstcheck.h:
7434           add ASSERT_BUFFER_REFCOUNT
7435
7436 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7437
7438         * docs/gst/gstreamer-sections.txt:
7439         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7440         * gst/gsttag.h:
7441           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7442           spew out a warning if a tag that is already registered
7443           is re-registered, unless it is re-registered with a 
7444           different type (#308438).
7445
7446 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7447
7448         * docs/pwg/appendix-porting.xml:
7449         * docs/pwg/building-state.xml:
7450           Add some paragraphs about state changes in 0.9 to the PWG
7451           and the porting guide, in particular about the new meaning
7452           of GST_STATE_PAUSED and how to write state change functions
7453           with concurrent access by multiple threads in mind.
7454
7455 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7456
7457         * docs/gst/gstreamer-docs.sgml:
7458         * docs/libs/gstreamer-libs-docs.sgml:
7459           added deprecation and since indexes
7460         * libs/gst/controller/gst-controller.c:
7461         * libs/gst/controller/gst-helper.c:
7462           added since tags
7463
7464
7465 2005-08-11  Wim Taymans  <wim@fluendo.com>
7466
7467         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7468         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7469         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7470         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7471         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7472         (gst_ghost_pad_set_target):
7473         Actually implement (re)setting the target on a ghostpad
7474         as described in the docs.
7475
7476 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7477
7478         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7479           Check whether GST_DEBUG_NO_COLOR environment variable is
7480           set and disable coloured debug output if that is the case.
7481
7482 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7483
7484         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7485         (gst_type_find_helper):
7486           The memory returned by gst_type_find_peek() needs to
7487           stay valid until the end of a typefind function, and
7488           typefind functions may keep results from different 
7489           offsets around, so we can't just unref the buffer from
7490           the previous _peek(), but have to save all buffers 
7491           returned by _peek() until typefinding is done and only
7492           free them then.
7493
7494 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7495
7496         * docs/gst/gstreamer-sections.txt:
7497         * gst/gstutils.h:
7498           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7499
7500 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7501
7502         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7503           Fix a pretty good memleak.
7504
7505 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7506
7507         * gst/gstiterator.h:
7508           Fix wrong include and 'make distcheck'.
7509
7510 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7511
7512         * gst/gstbin.c: (bin_bus_handler):
7513           Use gst_element_post_message() instead.
7514
7515 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7516
7517         * gst/base/gstadapter.h:
7518         * gst/base/gstbasesink.h:
7519         * gst/base/gstbasesrc.h:
7520         * gst/base/gstbasetransform.h:
7521         * gst/base/gstcollectpads.h:
7522         * gst/base/gstpushsrc.h:
7523         * gst/gstiterator.h:
7524           Add padding to our base elements' class and instance structs and
7525           to GstIterator (you will need to rebuild all plugins and apps!)
7526
7527 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7528
7529         * gst/gstbin.c: (bin_bus_handler):
7530           Make default message forwarding from child->bus to bin->bus
7531           threadsafe and make it not emit warnings if the parent has no bus.
7532
7533 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7534
7535         * gst/gstelement.c: (activate_pads):
7536           On paused->ready, set pad->caps to NULL, as is the documented
7537           behaviour in this state change. Fixes playback of series of
7538           media files when visualization is enabled in Totem.
7539
7540 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7541
7542         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7543           Allow NULL as filter-caps (which means "any").
7544
7545 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7546
7547         * docs/libs/gstreamer-libs-sections.txt:
7548         * libs/gst/controller/gst-controller.c:
7549         * libs/gst/controller/gst-controller.h:
7550         * libs/gst/controller/gst-helper.c:
7551           adding more entries to the docs and fix small doc-bugs
7552
7553 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7554
7555         * docs/gst/gstreamer-docs.sgml:
7556         * docs/gst/gstreamer-sections.txt:
7557         * docs/gst/gstreamer.types:
7558         * docs/gst/tmpl/gstbasesink.sgml:
7559         * docs/gst/tmpl/gstbasesrc.sgml:
7560         * docs/gst/tmpl/gstbasetransform.sgml:
7561         * docs/gst/tmpl/gstfakesrc.sgml:
7562         * gst/base/gstcollectpads.c:
7563         * gst/base/gstcollectpads.h:
7564         * libs/gst/controller/gst-controller.c:
7565         * libs/gst/controller/gst-controller.h:
7566         * libs/gst/controller/gst-helper.c:
7567         * libs/gst/controller/gst-interpolation.c:
7568         * libs/gst/controller/lib.c:
7569           added long/short desc for controller docs
7570           added collectpads base class docs
7571           added correct includes to base-class docs
7572
7573 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7574
7575         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7576         (gst_test_mono_source_set_property),
7577         (gst_test_mono_source_class_init), (GST_START_TEST),
7578         (gst_controller_suite):
7579         * docs/gst/gstreamer-docs.sgml:
7580         * docs/gst/gstreamer-sections.txt:
7581         * docs/gst/gstreamer.types:
7582         * docs/libs/gstreamer-libs-docs.sgml:
7583         * docs/libs/gstreamer-libs-sections.txt:
7584         * gst/base/gstadapter.c:
7585         * libs/gst/controller/gst-controller.c:
7586         (gst_controlled_property_new), (gst_controlled_property_free),
7587         (gst_controller_new_valist),
7588         (gst_controller_remove_properties_valist),
7589         (gst_controller_sink_values), (_gst_controller_finalize):
7590         * libs/gst/controller/gst-controller.h:
7591         * libs/gst/controller/gst-helper.c:
7592         (gst_object_control_properties), (gst_object_uncontrol_properties),
7593         (gst_object_get_controller), (gst_object_set_controller),
7594         (gst_object_sink_values), (gst_object_get_value_arrays),
7595         (gst_object_get_value_array):
7596           more tests (and fixes) for the controller
7597           more docs for the controller
7598           integrated companies docs for the adapter 
7599
7600 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7601
7602         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7603         (GST_START_TEST), (fakesrc_suite):
7604           add tests for sizetype
7605
7606 2005-08-04  Andy Wingo  <wingo@pobox.com>
7607
7608         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7609         fixes buffer_alloc proxying among other things.
7610
7611         * gst/base/gstbasetransform.c:
7612         * gst/base/gstbasetransform.h:
7613         Revert patch to gstbasetransform from 7-28 removing
7614         delay_configure.
7615
7616         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7617         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7618         Semantics changed, should return not the size of the output buffer
7619         but the byte size of a buffer with a given caps.
7620
7621         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7622         debug object.
7623         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7624         out) are not the pad caps until setcaps finishes.
7625         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7626         not-in-place case as well. Deal with changing from in-place to
7627         not-in-place within calling pad_alloc_buffer. Still a bit
7628         concerned about the overhead here...
7629
7630 2005-08-03  Andy Wingo  <wingo@pobox.com>
7631
7632         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7633         fixating is an error.
7634
7635 2005-08-04  Edward Hervey  <edward@fluendo.com>
7636
7637         * gst/base/gstadapter.h: 
7638         Added gst_adapter_get_type() to the header
7639
7640 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7641
7642         * check/Makefile.am:
7643         * check/gst-libs/controller.c:
7644         * libs/gst/controller/gst-controller.c:
7645         (gst_controller_new_valist):
7646           added check test suite for the controller
7647         * gst/base/gstpushsrc.c:
7648           fixed a doc typo
7649
7650 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7651
7652         * docs/gst/Makefile.am:
7653         * docs/gst/gstreamer-docs.sgml:
7654         * docs/gst/gstreamer-sections.txt:
7655         * docs/gst/gstreamer.types:
7656         * docs/gst/tmpl/gstfakesrc.sgml:
7657         * gst/base/README:
7658         * gst/base/gstbasesink.c:
7659         * gst/base/gstbasesink.h:
7660         * gst/base/gstbasesrc.c:
7661         * gst/base/gstbasesrc.h:
7662         * gst/base/gstbasetransform.c:
7663         * gst/base/gstpushsrc.c:
7664         * gst/base/gstpushsrc.h:
7665           add short/long description docs to base classes
7666           add pushsrc to the docs
7667           remove consolidated doc fragments
7668
7669 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7670
7671         * configure.ac:
7672         * docs/libs/Makefile.am:
7673         * docs/libs/gstreamer-libs-docs.sgml:
7674         * docs/libs/gstreamer-libs-sections.txt:
7675         * docs/libs/gstreamer-libs.types:
7676         * examples/Makefile.am:
7677         * examples/controller/.cvsignore:
7678         * examples/controller/Makefile.am:
7679         * examples/controller/audio-example.c: (main):
7680         * libs/gst/Makefile.am:
7681         * libs/gst/controller/.cvsignore:
7682         * libs/gst/controller/Makefile.am:
7683         * libs/gst/controller/gst-controller.c:
7684         (on_object_controlled_property_changed), (gst_timed_value_compare),
7685         (gst_timed_value_find),
7686         (gst_controlled_property_set_interpolation_mode),
7687         (gst_controlled_property_new), (gst_controlled_property_free),
7688         (gst_controller_find_controlled_property),
7689         (gst_controller_new_valist), (gst_controller_new),
7690         (gst_controller_remove_properties_valist),
7691         (gst_controller_remove_properties), (gst_controller_set),
7692         (gst_controller_set_from_list), (gst_controller_unset),
7693         (gst_controller_get), (gst_controller_get_all),
7694         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7695         (gst_controller_get_value_array),
7696         (gst_controller_set_interpolation_mode),
7697         (_gst_controller_finalize), (_gst_controller_init),
7698         (_gst_controller_class_init), (gst_controller_get_type):
7699         * libs/gst/controller/gst-controller.h:
7700         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7701         (g_object_uncontrol_properties), (g_object_get_controller),
7702         (g_object_set_controller), (g_object_sink_values),
7703         (g_object_get_value_arrays), (g_object_get_value_array):
7704         * libs/gst/controller/gst-interpolation.c:
7705         (gst_controlled_property_find_timed_value_node),
7706         (interpolate_none_get), (interpolate_trigger_get),
7707         (interpolate_trigger_get_value_array):
7708         * libs/gst/controller/lib.c: (gst_controller_init):
7709         * pkgconfig/Makefile.am:
7710         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7711         * pkgconfig/gstreamer-control.pc.in:
7712         * testsuite/Makefile.am:
7713         * testsuite/controller/.cvsignore:
7714         * testsuite/controller/Makefile.am:
7715         * testsuite/controller/interpolator.c: (main):
7716           added controller code
7717           removed dparam pc files
7718
7719 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7720         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7721         (gst_collectpads_stop):
7722           Broadcast the condition when shutting down, to make sure we wake all
7723           threads up. Shut down pads on finalize, for safety.
7724
7725 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7726         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7727         (gst_base_transform_handle_buffer),
7728         (gst_base_transform_change_state):
7729           Handle PAUSED->READY->PAUSED transition after negotiation
7730           occurred already.
7731         * gst/gstmessage.c: (gst_message_init):
7732           Extra piece of debug for new messages.
7733
7734 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7735
7736         * configure.ac:
7737         * docs/gst/tmpl/gstbasesrc.sgml:
7738         * docs/gst/tmpl/gstelement.sgml:
7739         * docs/gst/tmpl/gstevent.sgml:
7740         * docs/gst/tmpl/gstfakesrc.sgml:
7741         * docs/gst/tmpl/gstformat.sgml:
7742         * docs/gst/tmpl/gstghostpad.sgml:
7743         * docs/gst/tmpl/gstpad.sgml:
7744         * docs/gst/tmpl/gstquery.sgml:
7745         * docs/gst/tmpl/gststructure.sgml:
7746         * docs/gst/tmpl/gsttaglist.sgml:
7747         * docs/gst/tmpl/gstvalue.sgml:
7748         * docs/libs/gstreamer-libs-docs.sgml:
7749         * docs/libs/gstreamer-libs-sections.txt:
7750         * docs/libs/gstreamer-libs.types:
7751         * libs/gst/Makefile.am:
7752         * libs/gst/control/.cvsignore:
7753         * libs/gst/control/Makefile.am:
7754         * libs/gst/control/control.c:
7755         * libs/gst/control/control.h:
7756         * libs/gst/control/dparam.c:
7757         * libs/gst/control/dparam.h:
7758         * libs/gst/control/dparam_smooth.c:
7759         * libs/gst/control/dparam_smooth.h:
7760         * libs/gst/control/dparamcommon.h:
7761         * libs/gst/control/dparammanager.c:
7762         * libs/gst/control/dparammanager.h:
7763         * libs/gst/control/dplinearinterp.c:
7764         * libs/gst/control/dplinearinterp.h:
7765         * libs/gst/control/unitconvert.c:
7766         * libs/gst/control/unitconvert.h:
7767         * testsuite/Makefile.am:
7768         * testsuite/dynparams/.cvsignore:
7769         * testsuite/dynparams/Makefile.am:
7770         * testsuite/dynparams/dparamstest.c:
7771         * tools/Makefile.am:
7772         * tools/gst-inspect.c: (print_element_info), (main):
7773         * tools/gst-xmlinspect.c: (print_element_info), (main):
7774           deactivate and remove dparams (libgstcontrol)
7775
7776 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7777
7778         * gst/elements/gsttypefindelement.c:
7779         (gst_type_find_element_have_type), (gst_type_find_element_init),
7780         (stop_typefinding), (gst_type_find_element_handle_event),
7781         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7782         * gst/elements/gsttypefindelement.h:
7783           Set caps on all outgoing buffers, not just the first one.
7784
7785 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7786
7787         * gst/elements/gsttypefindelement.c:
7788         (gst_type_find_element_have_type),
7789         (gst_type_find_element_check_set_buffer_caps),
7790         (gst_type_find_element_init), (stop_typefinding),
7791         (gst_type_find_element_handle_event),
7792         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7793         * gst/elements/gsttypefindelement.h:
7794           Set caps on first outgoing buffer when we've found the type.
7795
7796 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7797
7798         * docs/gst/gstreamer-docs.sgml:
7799         * docs/gst/gstreamer-sections.txt:
7800         * docs/gst/tmpl/gstscheduler.sgml:
7801         * docs/gst/tmpl/gstschedulerfactory.sgml:
7802           Remove some old cruft from docs.
7803
7804 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7805
7806         * gst/gstpad.h:
7807           Fix inline docs for GstPadLinkReturn.
7808           
7809         * gst/gststructure.c: (gst_structure_has_name):
7810         * gst/gststructure.h:
7811         * docs/gst/gstreamer-sections.txt:
7812           New API: gst_structure_has_name().
7813
7814 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7815
7816         * configure.ac:
7817           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7818           and _LARGEFILE_SOURCE in config.h as required. Do not 
7819           export those flags in our .pc files any longer (#142209).
7820
7821           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7822
7823         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7824         (gst_file_sink_do_seek), (gst_file_sink_event),
7825         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7826           Redo seek/tell calls with large file support in mind; add some
7827           debugging messages; add log message that tells us when large
7828           file support is unavailable or not enabled for some reason.
7829
7830         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7831           Add log message that tells us when large file support 
7832           is unavailable or not enabled for some reason.
7833
7834 2005-07-29  Wim Taymans  <wim@fluendo.com>
7835
7836         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7837         Added test for removing an element with ghostpad from a bin.
7838         Fixed test as current implementation does the right thing.
7839
7840         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7841         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7842         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7843         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7844         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7845         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7846         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7847         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7848         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7849         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7850         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7851         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7852         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7853         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7854         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7855         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7856         * gst/gstghostpad.h:
7857         Clean up ghostpads, remove properties for internal stuff.
7858         Make threadsafe.
7859         Fix refcounting.
7860         Prepare for switching targets, not all use cases work yet.
7861
7862 2005-07-29  Wim Taymans  <wim@fluendo.com>
7863
7864         * docs/design/part-gstghostpad.txt:
7865         Small update.
7866
7867         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7868         (gst_bin_remove_func):
7869         Unlinking pads while holding the bin LOCK is not a good
7870         idea.
7871
7872         * gst/gstpad.c: (gst_pad_class_init),
7873         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7874         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7875         No prob setting template after creating the pad.
7876
7877 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7878
7879         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7880         (gst_bus_peek), (gst_bus_source_dispatch),
7881         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7882         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7883           gst_bus_poll may be called from other threads. Handle
7884           this nicely by not making poll_data disappear off the
7885           stack once gst_bus_poll returns.
7886           gst_bus_peek now increments the refcount on the returned
7887           message.
7888
7889 2005-07-29  Wim Taymans  <wim@fluendo.com>
7890
7891         * docs/design/part-gstghostpad.txt:
7892         Overview of current GhostPad datastructures and use
7893         cases for changing the target.
7894
7895 2005-07-28  Wim Taymans  <wim@fluendo.com>
7896
7897         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7898         Added checks for hierarchy consistency whan adding linked
7899         elements to bins.
7900
7901         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7902         Added check to test element scheduling without bin/pipeline.
7903
7904         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7905         First add elements to bin, then link.
7906         
7907         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7908         (gst_bin_remove_func):
7909         Unlink pads from elements added/removed from bin to maintain
7910         hierarchy consistency.
7911
7912 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7913
7914         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7915         (gst_base_transform_handle_buffer):
7916         * gst/base/gstbasetransform.h:
7917           Remove broken delay_configure (fixes renegotiation of software
7918           scaling pipelines); remove some leftover printf()s.
7919
7920 2005-07-28  Wim Taymans  <wim@fluendo.com>
7921
7922         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7923         Added some more tests for wrong hierarchy
7924
7925         * docs/design/part-overview.txt:
7926         Some updates.
7927
7928         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7929         Cleanups.
7930
7931         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7932         (gst_element_dispose):
7933         Some more cleanups.
7934
7935         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7936         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7937         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7938         (gst_pad_set_caps), (gst_pad_send_event):
7939         Check for correct hierarchy when linking pads. Moving to
7940         strict requirement for ghostpads when linking elements in
7941         different bins.
7942
7943         * gst/gstpad.h:
7944         Clean ups. Added WRONG_HIERARCHY return value.
7945
7946 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7947
7948         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7949           Better debug if no transform is possible.
7950
7951 2005-07-27  Wim Taymans  <wim@fluendo.com>
7952
7953         * docs/random/wtay/network-transp:
7954         Some old doc I had.
7955
7956 2005-07-27  Wim Taymans  <wim@fluendo.com>
7957
7958         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7959         (gst_dp_event_from_packet):
7960         Fix serialization of seek events.
7961
7962 2005-07-27  Wim Taymans  <wim@fluendo.com>
7963
7964         * check/gst-libs/gdp.c: (GST_START_TEST):
7965         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7966         Fix compilation and fix event serialization.
7967
7968 2005-07-27  Wim Taymans  <wim@fluendo.com>
7969
7970         * CHANGES-0.9:
7971         * docs/design/part-TODO.txt:
7972         * docs/design/part-events.txt:
7973         Some docs updates
7974
7975         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7976         (gst_base_sink_event), (gst_base_sink_do_sync),
7977         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7978         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7979         (gst_base_src_do_seek), (gst_base_src_event_handler),
7980         (gst_base_src_loop):
7981         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7982         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7983         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7984         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7985         (gst_base_transform_set_passthrough),
7986         (gst_base_transform_is_passthrough):
7987         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7988         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7989         Event updates.
7990
7991         * gst/gstbuffer.h:
7992         Use faster casts.
7993
7994         * gst/gstelement.c: (gst_element_seek):
7995         * gst/gstelement.h:
7996         Update gst_element_seek.
7997
7998         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7999         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8000         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8001         (gst_event_new_eos), (gst_event_new_newsegment),
8002         (gst_event_parse_newsegment), (gst_event_new_tag),
8003         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8004         (gst_event_parse_qos), (gst_event_new_seek),
8005         (gst_event_parse_seek), (gst_event_new_navigation):
8006         * gst/gstevent.h:
8007         Make GstEvent use GstStructure. Add parsing code, make sure the
8008         API is sufficiently generic.
8009         Mark possible directions of events and serialization.
8010
8011         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8012         (_gst_message_copy), (gst_message_new_segment_start),
8013         (gst_message_new_segment_done), (gst_message_new_custom),
8014         (gst_message_parse_segment_start),
8015         (gst_message_parse_segment_done):
8016         Small cleanups.
8017
8018         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8019         (gst_pad_set_caps), (gst_pad_send_event):
8020         Update for new events. 
8021         Catch events sent in wrong directions.
8022
8023         * gst/gstqueue.c: (gst_queue_link_src),
8024         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8025         (gst_queue_handle_src_query):
8026         Event updates.
8027
8028         * gst/gsttag.c:
8029         * gst/gsttag.h:
8030         Remove event code from this file.
8031
8032         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8033         (gst_dp_event_from_packet):
8034         Event updates.
8035
8036 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8037
8038         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8039         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8040         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8041           Make debugging actually useful.
8042
8043 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8044
8045         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8046         (gst_pad_fixate_caps):
8047           Implement default fixation once again, so that gst_pad_fixate()
8048           actually does anything at all. This probably needs to be some
8049           sort of a last resort, and use profile-based fixation first, but
8050           since that doesn't exist yet, this is the best we have. Fixes
8051           visualization in Totem.
8052
8053 2005-07-22  Wim Taymans  <wim@fluendo.com>
8054
8055         * docs/design/part-events.txt:
8056         Small update.
8057
8058         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8059         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8060         (gst_base_sink_activate_pull):
8061         Some more comments.
8062
8063         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8064         (gst_fake_src_create):
8065         Fix handoff marshall.
8066
8067         * gst/elements/gstidentity.c: (gst_identity_class_init),
8068         (gst_identity_transform_ip):
8069         We're a real inplace element.
8070
8071         * gst/gstbus.c: (gst_bus_post):
8072         Added some comments.
8073
8074         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8075         * tests/muxing/case1.c: (main):
8076         * tests/sched/dynamic-pipeline.c: (main):
8077         * tests/sched/interrupt1.c: (main):
8078         * tests/sched/interrupt2.c: (main):
8079         * tests/sched/interrupt3.c: (main):
8080         * tests/sched/runxml.c: (main):
8081         * tests/sched/sched-stress.c: (main):
8082         * tests/seeking/seeking1.c: (event_received), (main):
8083         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8084         (main):
8085         * tests/threadstate/threadstate3.c: (main):
8086         * tests/threadstate/threadstate4.c: (main):
8087         * tests/threadstate/threadstate5.c: (main):
8088         Fix the tests.
8089
8090 2005-07-21  Wim Taymans  <wim@fluendo.com>
8091
8092         * docs/design/part-seeking.txt:
8093         Some small additions.
8094
8095         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8096         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8097         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8098         * gst/base/gstbasesink.h:
8099         discont values are gint64, handle the math correctly.
8100
8101         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8102         Make the basesrc report error if the source pad is not linked.
8103
8104         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8105         (gst_queue_loop), (gst_queue_handle_src_query),
8106         (gst_queue_src_activate_push):
8107         Make queue collect data even if the srcpad is not linked.
8108         Start pushing out data as soon as it is linked.
8109
8110         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8111         * gst/gstutils.h:
8112         Added gst_flow_get_name() to ease error reporting.
8113
8114 2005-07-20  Wim Taymans  <wim@fluendo.com>
8115
8116         * gst/gstmessage.c: (gst_message_new_segment_start),
8117         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8118         (gst_message_parse_segment_done):
8119         * gst/gstmessage.h:
8120         Added a bunch of messages for advanced seeking.
8121
8122         * gst/parse/grammar.y:
8123         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8124         (gst_dpman_state_changed):
8125         Fix some new-pad -> pad-added signals
8126
8127 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8128
8129         * docs/manual/appendix-porting.xml:
8130         * docs/pwg/appendix-porting.xml:
8131           Document new-pad/state-change signal renames and the FixedList
8132           type rename.
8133
8134 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8135
8136         * docs/manual/advanced-autoplugging.xml:
8137         * docs/manual/basics-helloworld.xml:
8138         * docs/manual/basics-pads.xml:
8139         * docs/random/ds/0.9-suggested-changes:
8140         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8141         * gst/gstelement.h:
8142         * gst/gstevent.h:
8143         * gst/gstformat.h:
8144         * gst/gstquery.h:
8145         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8146         (gst_structure_parse_array), (gst_structure_parse_value):
8147         * gst/gstvalue.c: (gst_type_is_fixed),
8148         (gst_value_list_prepend_value), (gst_value_list_append_value),
8149         (gst_value_list_get_size), (gst_value_list_get_value),
8150         (gst_value_transform_array_string), (gst_value_serialize_array),
8151         (gst_value_deserialize_array), (gst_value_intersect_array),
8152         (gst_value_is_fixed), (_gst_value_initialize):
8153         * gst/gstvalue.h:
8154           GstElement::new-pad -> pad-added, GstElement::state-change ->
8155           state-changed, GstValueFixedList -> GstValueArray, add format and
8156           flags as their own arguments in gst_element_seek() (should improve
8157           "bindeability"), remove function generators since they don't work
8158           under a whole bunch of compilers (they were deprecated already
8159           anyway).
8160
8161 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8162
8163         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8164         (_gst_debug_register_funcptr):
8165         * gst/gstinfo.h:
8166           Fix illegal cast on some platforms (#309253).
8167
8168 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8169
8170         * gst/gstmessage.c: (gst_message_new_custom):
8171         * gst/gstmessage.h:
8172           Add _new_custom, make _new_application a macro to _new_custom.
8173
8174 2005-07-20  Wim Taymans  <wim@fluendo.com>
8175
8176         * gst/base/gstbasesrc.c: (gst_base_src_init),
8177         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8178         * gst/base/gstbasesrc.h:
8179         Add a gboolean to decide when to push out a discont.
8180
8181         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8182         (gst_queue_loop), (gst_queue_handle_src_query),
8183         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8184         (gst_queue_set_property), (gst_queue_get_property):
8185         Some cleanups.
8186
8187         * tests/threadstate/threadstate1.c: (main):
8188         Make a thread test compile and run... very silly..
8189
8190
8191 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8192
8193         * docs/manual/appendix-porting.xml:
8194           Mention removal of libgstgconf-0.9.la and existence of gconf
8195           elements.
8196
8197 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8198
8199         * docs/pwg/advanced-clock.xml:
8200         * docs/pwg/appendix-porting.xml:
8201         * docs/pwg/intro-preface.xml:
8202         * docs/pwg/other-base.xml:
8203         * docs/pwg/other-manager.xml:
8204         * docs/pwg/other-nton.xml:
8205         * docs/pwg/other-ntoone.xml:
8206         * docs/pwg/other-oneton.xml:
8207         * docs/pwg/pwg.xml:
8208           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8209           demuxer), remove n-to-n (was never written), fix some code examples
8210           and links and update the porting section to include all this.
8211
8212 2005-07-19  Wim Taymans  <wim@fluendo.com>
8213
8214         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8215         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8216         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8217         (gst_queue_src_activate_push), (gst_queue_change_state),
8218         (gst_queue_get_property):
8219         * gst/gstqueue.h:
8220         Propagate GstFlowReturn more intelligently upstream and output
8221         an ERROR/EOS when streaming stopped due to fatal error.
8222
8223 2005-07-19  Wim Taymans  <wim@fluendo.com>
8224
8225         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8226         Don't block forever for the state change to complete, the
8227         pipeline already did with a sensible timeout.
8228
8229 2005-07-19  Wim Taymans  <wim@fluendo.com>
8230
8231         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8232         Make sure we never call the create function is we
8233         got deactivated.
8234
8235 2005-07-19  Andy Wingo  <wingo@pobox.com>
8236
8237         * gst/parse/parse.l: Attempt to solve bug #172815.
8238
8239 2005-07-19  Wim Taymans  <wim@fluendo.com>
8240
8241         * docs/design/part-clocks.txt:
8242         * docs/design/part-events.txt:
8243         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8244         Small docs updates.
8245         Only update the seeking values when we are not
8246         busy streaming.
8247
8248 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8249
8250         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8251           Oops, ignore the result of gst_pad_push_event here.
8252
8253 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8254
8255         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8256         (gst_base_src_activate_push):
8257           Send discont event from the loop function, as pads
8258           aren't activated yet in the activate_push handler.
8259
8260         * gst/gstbin.c: (bin_bus_handler):
8261           Don't leak element name.
8262
8263 2005-07-18  Andy Wingo  <wingo@pobox.com>
8264
8265         * configure.ac: Use AS_LIBTOOL_TAGS.
8266
8267 2005-07-18  Wim Taymans  <wim@fluendo.com>
8268
8269         * docs/gst/gstreamer.types:
8270         Remove deleted types.
8271
8272 2005-07-18  Wim Taymans  <wim@fluendo.com>
8273
8274         * check/elements/gstfakesrc.c: (GST_START_TEST):
8275         * configure.ac:
8276         * gst/Makefile.am:
8277         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8278         (init_popt_callback):
8279         * gst/gst.h:
8280         * gst/gst_private.h:
8281         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8282         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8283         * gst/gstbin.h:
8284         * gst/gstbus.h:
8285         * gst/gstconfig.h.in:
8286         * gst/gstelement.c: (gst_element_class_init),
8287         (gst_element_set_base_time), (gst_element_get_base_time),
8288         (iterator_fold_with_resync), (gst_element_change_state),
8289         (gst_element_dispose), (gst_element_get_bus):
8290         * gst/gstelement.h:
8291         * gst/gstelementfactory.h:
8292         * gst/gsterror.c: (_gst_core_errors_init):
8293         * gst/gsterror.h:
8294         * gst/gstevent.h:
8295         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8296         * gst/gstindex.c:
8297         * gst/gstinfo.c: (_gst_debug_init):
8298         * gst/gstmessage.c: (_gst_message_copy):
8299         * gst/gstmessage.h:
8300         * gst/gstminiobject.h:
8301         * gst/gstobject.c:
8302         * gst/gstobject.h:
8303         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8304         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8305         * gst/gstpad.h:
8306         * gst/gstparse.h:
8307         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8308         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8309         (gst_pipeline_get_last_stream_time):
8310         * gst/gstpipeline.h:
8311         * gst/gstpluginfeature.h:
8312         * gst/gstquery.h:
8313         * gst/gstscheduler.c:
8314         * gst/gstscheduler.h:
8315         * gst/gststructure.h:
8316         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8317         (gst_task_finalize), (gst_task_func), (gst_task_create),
8318         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8319         (gst_task_stop), (gst_task_pause):
8320         * gst/gsttask.h:
8321         * gst/gsttypefind.h:
8322         * gst/gsttypes.h:
8323         * gst/registries/gstlibxmlregistry.c: (load_feature),
8324         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8325         * gst/registries/gstxmlregistry.c:
8326         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8327         * gst/schedulers/threadscheduler.c:
8328         * libs/gst/control/dparammanager.h:
8329         * tools/gst-inspect.c: (print_element_list),
8330         (print_plugin_features), (print_element_features):
8331         * tools/gst-xmlinspect.c: (print_element_list),
8332         (print_plugin_info), (main):
8333         Removed plugable schedulers.
8334         Removed Scheduler/Manager from elements.
8335         Removed gsttypes.h, rearranged includes.
8336         Removed dependency pad<->element, element<>pipeline, and
8337         various others,  fix includes.
8338         implement gst_pad_get_parent() with gst_object_get_parent()
8339         Make GstTask sefcontained.
8340         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8341         timeout.
8342         Fix endless loop in iterator_fold_with_resync.
8343
8344
8345 2005-07-18  Wim Taymans  <wim@fluendo.com>
8346
8347         * gst/Makefile.am:
8348         * gst/gstarch.h:
8349         Remove old file.
8350
8351 2005-07-18  Wim Taymans  <wim@fluendo.com>
8352
8353         * gst/Makefile.am:
8354         No more cothreads.h
8355
8356 2005-07-18  Wim Taymans  <wim@fluendo.com>
8357
8358         * gst/cothreads.c:
8359         * gst/cothreads.h:
8360         Let's remove these.
8361
8362 2005-07-18  Wim Taymans  <wim@fluendo.com>
8363
8364         * docs/design/part-dynamic.txt:
8365         * docs/design/part-events.txt:
8366         * docs/design/part-seeking.txt:
8367         Some more docs in the works.
8368
8369         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8370         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8371         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8372         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8373         (gst_base_transform_handle_buffer),
8374         (gst_base_transform_sink_activate_push),
8375         (gst_base_transform_src_activate_pull),
8376         (gst_base_transform_set_passthrough),
8377         (gst_base_transform_is_passthrough):
8378         Refcounting fixes.
8379
8380         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8381         Cleanups.
8382
8383         * gst/gstevent.c: (gst_event_finalize):
8384         Set SRC to NULL.
8385
8386         * gst/gstutils.c: (gst_element_unlink),
8387         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8388         (gst_pad_proxy_setcaps):
8389         * gst/gstutils.h:
8390         Add _get_parent_element() to get a pads parent as an element.
8391
8392 2005-07-18  Wim Taymans  <wim@fluendo.com>
8393
8394         * check/gst/gstbin.c: (GST_START_TEST):
8395         Remove bogus test.
8396
8397 2005-07-18  Wim Taymans  <wim@fluendo.com>
8398
8399         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8400         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8401         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8402         (gst_base_sink_event), (gst_base_sink_do_sync),
8403         (gst_base_sink_chain), (gst_base_sink_loop),
8404         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8405         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8406         Refcounting fixes.
8407         Fix logic for returning ASYNC when not prerolled.
8408
8409 2005-07-18  Wim Taymans  <wim@fluendo.com>
8410
8411         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8412         Fix nasty refcount bug.
8413
8414 2005-07-16 Philippe Khalaf <burger@speedy.org>
8415
8416         * gst/elements/gstfdsrc.c:
8417         * gst/elements/gstfdsrc.h:
8418         * gst/elements/gstelements.c:
8419         * gst/elements/Makefile.am:
8420         Ported fdsrc to 0.9.
8421
8422 2005-07-16  Wim Taymans  <wim@fluendo.com>
8423
8424         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8425         (gst_base_sink_do_sync):
8426         Fix compile error.
8427
8428 2005-07-16  Wim Taymans  <wim@fluendo.com>
8429
8430         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8431         (gst_base_sink_event), (gst_base_sink_get_times),
8432         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8433         * gst/base/gstbasesink.h:
8434         Store and use discont values when syncing buffers as described
8435         in design docs.
8436         
8437         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8438         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8439         (gst_base_src_activate_push):
8440         Push discont event when starting.
8441
8442         * gst/elements/gstidentity.c: (gst_identity_transform):
8443         Small cleanups.
8444
8445         * gst/gstbin.c: (gst_bin_change_state):
8446         Small cleanups in base_time  distribution.
8447
8448         * gst/gstelement.c: (gst_element_set_base_time),
8449         (gst_element_get_base_time), (gst_element_change_state):
8450         * gst/gstelement.h:
8451         Added methods for the base_time of the element.
8452         Some MT fixes.
8453
8454         * gst/gstpipeline.c: (gst_pipeline_send_event),
8455         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8456         (gst_pipeline_get_last_stream_time):
8457         * gst/gstpipeline.h:
8458         MT fixes.
8459         Handle seeking as described in design doc, remove stream_time
8460         hack.
8461         Cleanups clock and stream_time selection code. Added accessors
8462         for the stream_time.
8463         
8464
8465 2005-07-16  Andy Wingo  <wingo@pobox.com>
8466
8467         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8468         (#305291).
8469
8470 2005-07-16  Wim Taymans  <wim@fluendo.com>
8471
8472         * check/gst/gstbin.c: (GST_START_TEST):
8473         Make elements silent as the deep_notify refs the
8474         parent, which might make the test fail.
8475
8476         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8477         Don't hold the lock for too long.
8478
8479 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8480
8481         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8482           Don't unref the caps we passed to gst_caps_make_writable() after
8483           passing them. gst_caps_make_writable() will do that for us.
8484
8485 2005-07-15  Andy Wingo  <wingo@pobox.com>
8486
8487         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8488         (#157311).
8489
8490         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8491         own marshalling function for the handoff signal. Properly type the
8492         buffer as a buffer. Fixes some warnings. Should do a more general
8493         solution.
8494         (gst_identity_class_init): Plug into the right marshaller.
8495
8496 2005-07-15  Wim Taymans  <wim@fluendo.com>
8497
8498         * docs/design/part-TODO.txt:
8499         * docs/design/part-clocks.txt:
8500         * docs/design/part-element-sink.txt:
8501         * docs/design/part-events.txt:
8502         * docs/design/part-gstpipeline.txt:
8503         Updated docs, mostly DISCONT related.
8504
8505 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8506
8507         * docs/pwg/building-pads.xml:
8508           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8509
8510 2005-07-15  Andy Wingo  <wingo@pobox.com>
8511
8512         * tools/gst-typefind.c: Update, add copyright block.
8513
8514         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8515         Normalize and truncate caps before fixation.
8516
8517         * gst/gstcaps.h:
8518         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8519         discards all but the first structure from its argument.
8520
8521 2005-07-15  Wim Taymans  <wim@fluendo.com>
8522
8523         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8524         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8525         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8526         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8527         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8528         (gst_base_transform_chain), (gst_base_transform_change_state),
8529         (gst_base_transform_set_passthrough),
8530         (gst_base_transform_is_passthrough):
8531         * gst/base/gstbasetransform.h:
8532         Make passthrough work using the bufferpools.
8533         Changed API a bit, subclasses have to write into a buffer
8534         provided by the base class.
8535         More debug info in nego functions.
8536         
8537         * gst/elements/gstidentity.c: (gst_identity_init),
8538         (gst_identity_transform):
8539         Port to new base class.
8540
8541 2005-07-15  Wim Taymans  <wim@fluendo.com>
8542
8543         * gst/gstmessage.c: (gst_message_new_state_changed):
8544         * tools/gst-launch.c: (event_loop), (main):
8545         Totally dump messages in -launch with the -m option.
8546         Fix message name for State messages,
8547
8548 2005-07-14  Wim Taymans  <wim@fluendo.com>
8549
8550         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8551         Post error messages on errors.
8552
8553 2005-07-14  Wim Taymans  <wim@fluendo.com>
8554
8555         * gst/gstcaps.c: (gst_caps_do_simplify):
8556         Remove debug info.
8557
8558         * gst/gsterror.h:
8559         Define error for stream stopped.
8560
8561         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8562         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8563         Do proper return values.
8564
8565         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8566         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8567         (gst_pad_get_range):
8568         Better return values.
8569
8570         * gst/gstpad.h:
8571         Reorganise return values, add macro to check for fatal errors.
8572
8573         * gst/gstqueue.c: (gst_queue_chain):
8574         Return proper GstFlowReturn values,
8575
8576 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8577
8578         * docs/gst/gstreamer-sections.txt:
8579         * docs/gst/gstreamer.types:
8580         * docs/gst/tmpl/gst.sgml:
8581         * docs/gst/tmpl/gstbasesink.sgml:
8582         * docs/gst/tmpl/gstbasesrc.sgml:
8583         * docs/gst/tmpl/gstbasetransform.sgml:
8584         * docs/gst/tmpl/gstbin.sgml:
8585         * docs/gst/tmpl/gstbuffer.sgml:
8586         * docs/gst/tmpl/gstcaps.sgml:
8587         * docs/gst/tmpl/gstclock.sgml:
8588         * docs/gst/tmpl/gstcompat.sgml:
8589         * docs/gst/tmpl/gstconfig.sgml:
8590         * docs/gst/tmpl/gstelement.sgml:
8591         * docs/gst/tmpl/gstelementdetails.sgml:
8592         * docs/gst/tmpl/gstelementfactory.sgml:
8593         * docs/gst/tmpl/gstenumtypes.sgml:
8594         * docs/gst/tmpl/gsterror.sgml:
8595         * docs/gst/tmpl/gstevent.sgml:
8596         * docs/gst/tmpl/gstfakesink.sgml:
8597         * docs/gst/tmpl/gstfakesrc.sgml:
8598         * docs/gst/tmpl/gstfilesink.sgml:
8599         * docs/gst/tmpl/gstfilesrc.sgml:
8600         * docs/gst/tmpl/gstfilter.sgml:
8601         * docs/gst/tmpl/gstformat.sgml:
8602         * docs/gst/tmpl/gstghostpad.sgml:
8603         * docs/gst/tmpl/gstimplementsinterface.sgml:
8604         * docs/gst/tmpl/gstindex.sgml:
8605         * docs/gst/tmpl/gstindexfactory.sgml:
8606         * docs/gst/tmpl/gstinfo.sgml:
8607         * docs/gst/tmpl/gstiterator.sgml:
8608         * docs/gst/tmpl/gstmacros.sgml:
8609         * docs/gst/tmpl/gstmemchunk.sgml:
8610         * docs/gst/tmpl/gstminiobject.sgml:
8611         * docs/gst/tmpl/gstobject.sgml:
8612         * docs/gst/tmpl/gstpad.sgml:
8613         * docs/gst/tmpl/gstpadtemplate.sgml:
8614         * docs/gst/tmpl/gstparse.sgml:
8615         * docs/gst/tmpl/gstpipeline.sgml:
8616         * docs/gst/tmpl/gstplugin.sgml:
8617         * docs/gst/tmpl/gstpluginfeature.sgml:
8618         * docs/gst/tmpl/gstquery.sgml:
8619         * docs/gst/tmpl/gstqueue.sgml:
8620         * docs/gst/tmpl/gstregistry.sgml:
8621         * docs/gst/tmpl/gstregistrypool.sgml:
8622         * docs/gst/tmpl/gstscheduler.sgml:
8623         * docs/gst/tmpl/gstschedulerfactory.sgml:
8624         * docs/gst/tmpl/gststructure.sgml:
8625         * docs/gst/tmpl/gstsystemclock.sgml:
8626         * docs/gst/tmpl/gsttaglist.sgml:
8627         * docs/gst/tmpl/gsttagsetter.sgml:
8628         * docs/gst/tmpl/gsttrace.sgml:
8629         * docs/gst/tmpl/gsttrashstack.sgml:
8630         * docs/gst/tmpl/gsttypefind.sgml:
8631         * docs/gst/tmpl/gsttypefindfactory.sgml:
8632         * docs/gst/tmpl/gsttypes.sgml:
8633         * docs/gst/tmpl/gsturihandler.sgml:
8634         * docs/gst/tmpl/gsturitype.sgml:
8635         * docs/gst/tmpl/gstutils.sgml:
8636         * docs/gst/tmpl/gstvalue.sgml:
8637         * docs/gst/tmpl/gstversion.sgml:
8638         * docs/gst/tmpl/gstxml.sgml:
8639         * docs/libs/tmpl/gstcontrol.sgml:
8640         * docs/libs/tmpl/gstdataprotocol.sgml:
8641         * docs/libs/tmpl/gstdparam.sgml:
8642         * docs/libs/tmpl/gstdplinint.sgml:
8643         * docs/libs/tmpl/gstdpman.sgml:
8644         * docs/libs/tmpl/gstdpsmooth.sgml:
8645         * docs/libs/tmpl/gstgetbits.sgml:
8646         * docs/libs/tmpl/gstunitconvert.sgml:
8647         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8648         (gst_push_src_base_init), (gst_push_src_class_init),
8649         (gst_push_src_init), (gst_push_src_create):
8650         * gst/base/gstpushsrc.h:
8651         * gst/elements/gstelements.c:
8652         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8653         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8654         (gst_fake_sink_init), (gst_fake_sink_set_property),
8655         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8656         (gst_fake_sink_event), (gst_fake_sink_preroll),
8657         (gst_fake_sink_render), (gst_fake_sink_change_state):
8658         * gst/elements/gstfakesink.h:
8659         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8660         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8661         (gst_fake_src_base_init), (gst_fake_src_class_init),
8662         (gst_fake_src_init), (gst_fake_src_event_handler),
8663         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8664         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8665         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8666         (gst_fake_src_create_buffer), (gst_fake_src_create),
8667         (gst_fake_src_start), (gst_fake_src_stop):
8668         * gst/elements/gstfakesrc.h:
8669         * gst/elements/gstfilesink.c: (_do_init),
8670         (gst_file_sink_base_init), (gst_file_sink_class_init),
8671         (gst_file_sink_init), (gst_file_sink_dispose),
8672         (gst_file_sink_set_location), (gst_file_sink_set_property),
8673         (gst_file_sink_get_property), (gst_file_sink_open_file),
8674         (gst_file_sink_close_file), (gst_file_sink_query),
8675         (gst_file_sink_event), (gst_file_sink_render),
8676         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8677         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8678         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8679         * gst/elements/gstfilesink.h:
8680         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8681         (gst_file_src_class_init), (gst_file_src_init),
8682         (gst_file_src_finalize), (gst_file_src_set_location),
8683         (gst_file_src_set_property), (gst_file_src_get_property),
8684         (gst_file_src_map_region), (gst_file_src_map_small_region),
8685         (gst_file_src_create_mmap), (gst_file_src_create_read),
8686         (gst_file_src_create), (gst_file_src_is_seekable),
8687         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8688         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8689         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8690         (gst_file_src_uri_handler_init):
8691         * gst/elements/gstfilesrc.h:
8692           more autistic cleanliness in functions/names/defines
8693
8694 2005-07-13  Andy Wingo  <wingo@pobox.com>
8695
8696         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8697         source couldn't negotiate.
8698
8699         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8700         connections again.
8701
8702         * gst/gstutils.h:
8703         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8704         function. I am channeling Hades. Put your boots on suckers!!!
8705
8706 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8707
8708         * testsuite/caps/Makefile.am:
8709         * testsuite/caps/value_compare.c:
8710         * testsuite/caps/value_intersect.c:
8711         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8712           move two testsuite apps over to the check dir
8713
8714 2005-07-12  Wim Taymans  <wim@fluendo.com>
8715
8716         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8717         Added more debug info in the negotiate process.
8718
8719         * gst/gstmessage.h:
8720         Prepare for segment playback.
8721
8722         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8723         Better debugging.
8724
8725         * gst/gstutils.c:
8726         Some more docs.
8727
8728         * tools/gst-launch.c: (main):
8729         NULL pipeline on errors.
8730
8731 2005-07-12  Andy Wingo  <wingo@pobox.com>
8732
8733         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8734         not it comes from a malloc region. Make sure our copy gets freed.
8735
8736 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8737
8738         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8739         * check/gst/gstmessage.c: (GST_START_TEST):
8740         * check/gst/gststructure.c: (GST_START_TEST),
8741         (gst_structure_suite), (main):
8742           more testing
8743         * gst/gstelement.c: (gst_element_message_full):
8744           clean up GError and debug string now that they get copied
8745         * gst/gstmessage.c: (gst_message_new_error),
8746         (gst_message_new_warning), (gst_message_parse_error),
8747         (gst_message_parse_warning):
8748           use GST_TYPE_G_ERROR for structure_new, and take copies of
8749           arguments, so that we don't mess up refcounting
8750
8751 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8752
8753         * check/Makefile.am:
8754           add per-test valgrind targets
8755         * check/gst-libs/gdp.c: (GST_START_TEST),
8756         (gst_data_protocol_suite), (main):
8757           clean up
8758
8759 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8760
8761         * check/Makefile.am:
8762           instate more valgrindable tests
8763         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8764         (GST_START_TEST), (fakesrc_suite):
8765         * check/gst/gstpad.c: (GST_START_TEST):
8766         * check/gst/gststructure.c: (GST_START_TEST):
8767           fix test leaks
8768         * docs/gst/tmpl/gstminiobject.sgml:
8769         * gst/gstpad.c: (gst_pad_finalize):
8770           fix the static mutex leak
8771
8772 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8773
8774         * check/Makefile.am:
8775           add two more tests for valgrinding
8776         * check/gst/gstvalue.c: (GST_START_TEST):
8777           test refcount of deserialized buffer, found a leak
8778         * docs/gst/gstreamer-docs.sgml:
8779         * docs/gst/gstreamer-sections.txt:
8780         * docs/gst/gstreamer.types:
8781         * docs/gst/tmpl/gstminiobject.sgml:
8782           add miniobject to docs
8783         * gst/gstminiobject.c:
8784           add some docs
8785         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8786         (gst_string_unwrap):
8787           fix a hard-to-find invalid write for one of the tests
8788           fix a leak for deserialized buffers
8789
8790 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8791
8792         * docs/pwg/advanced-events.xml:
8793         * docs/pwg/advanced-request.xml:
8794         * docs/pwg/advanced-scheduling.xml:
8795         * docs/pwg/appendix-porting.xml:
8796         * docs/pwg/building-boiler.xml:
8797         * docs/pwg/intro-preface.xml:
8798         * docs/pwg/other-ntoone.xml:
8799           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8800           of example code and explanation for pad activation, loop() and
8801           getrange() functions and a bit more. Remove old comments pointing
8802           to loop-functions.
8803         * examples/pwg/Makefile.am:
8804           Add loop/getrange examples.
8805
8806 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8807
8808         * configure.ac:
8809           check for valgrind binary + some fixes
8810         * check/gst.supp:
8811           valgrind suppressions for the tests
8812         * check/Makefile.am:
8813           add a valgrind: target that valgrinds the unit tests
8814         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8815         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8816         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8817         * check/gst/gstghostpad.c:
8818           added some cleanup
8819         * check/gst/gstdata.c:
8820           removed
8821         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8822         (thread_unref), (gst_mini_object_suite), (main):
8823           added
8824         * gst/gst.c: (gst_deinit):
8825         * gst/gst.h:
8826           add a method to clean up.
8827         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8828         (gst_system_clock_obtain):
8829           allow for disposing the system clock.
8830         * tools/gst-launch.c: (main):
8831           deinit
8832
8833 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8834
8835         * docs/gst/tmpl/gstbasesrc.sgml:
8836         * docs/gst/tmpl/gstfakesrc.sgml:
8837         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8838         (gst_base_src_init), (gst_base_src_set_property),
8839         (gst_base_src_get_property), (gst_base_src_get_range),
8840         (gst_base_src_start):
8841         * gst/base/gstbasesrc.h:
8842           add num-buffers property
8843         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8844         (gst_fakesrc_init), (gst_fakesrc_set_property),
8845         (gst_fakesrc_get_property), (gst_fakesrc_create),
8846         (gst_fakesrc_start):
8847           remove num-buffers property
8848
8849 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8850
8851         * docs/gst/gstreamer-sections.txt:
8852         * docs/gst/tmpl/gstbasesink.sgml:
8853         * docs/gst/tmpl/gstbasesrc.sgml:
8854         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8855         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8856         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8857         (gst_base_sink_set_property), (gst_base_sink_get_property),
8858         (gst_base_sink_handle_object), (gst_base_sink_event),
8859         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8860         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8861         (gst_base_sink_loop), (gst_base_sink_deactivate),
8862         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8863         (gst_base_sink_change_state):
8864         * gst/base/gstbasesink.h:
8865         * gst/base/gstbasesrc.h:
8866         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8867         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8868         (gst_filesink_init):
8869           more macro splitting
8870
8871 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8872
8873         * gst/gstelement.c: (gst_element_get_bus):
8874           add debug
8875         * tools/gst-launch.c: (check_intr), (event_loop):
8876           fix bus leaks
8877
8878 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8879
8880         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8881           fix a caps leak
8882
8883 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8884
8885         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8886         (gst_base_src_finalize):
8887           add finalize method and clean up properly
8888         * gst/gstpipeline.c: (gst_pipeline_dispose):
8889           add debug
8890
8891 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8892
8893         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8894         (gst_bin_suite):
8895           add more things to check
8896         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8897         * gst/gstelement.c:
8898           more debug
8899
8900 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8901
8902         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8903         (GST_START_TEST), (fakesrc_suite):
8904         * check/gst-libs/gdp.c: (GST_START_TEST):
8905         * check/gst/gst.c: (GST_START_TEST):
8906         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8907         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8908         * check/gst/gstbus.c: (GST_START_TEST):
8909         * check/gst/gstcaps.c: (GST_START_TEST):
8910         * check/gst/gstdata.c: (GST_START_TEST):
8911         * check/gst/gstelement.c: (GST_START_TEST):
8912         * check/gst/gstghostpad.c: (GST_START_TEST):
8913         * check/gst/gstiterator.c: (GST_START_TEST):
8914         * check/gst/gstmessage.c: (GST_START_TEST):
8915         * check/gst/gstobject.c: (GST_START_TEST):
8916         * check/gst/gstpad.c: (GST_START_TEST):
8917         * check/gst/gststructure.c: (GST_START_TEST):
8918         * check/gst/gstsystemclock.c: (GST_START_TEST),
8919         (gst_systemclock_suite):
8920         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8921         * check/gst/gstvalue.c: (GST_START_TEST):
8922         * check/pipelines/cleanup.c: (GST_START_TEST):
8923         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8924         * check/states/sinks.c: (GST_START_TEST):
8925         * check/gstcheck.c: (gst_check_init):
8926         * check/gstcheck.h:
8927           add debugging category
8928           use GST_START_TEST now, so we add a debug line
8929
8930 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8931
8932         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8933           add test for state change message on a bin
8934         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8935           add another test
8936         * gst/gstbin.c: (gst_bin_init):
8937         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8938         * gst/gstelement.c: (gst_element_post_message),
8939         (gst_element_set_state):
8940         * gst/gstelementfactory.c: (gst_element_factory_create):
8941         * gst/gstmessage.c: (gst_message_new):
8942         * gst/gstscheduler.c:
8943           various debugging additions and cleanups
8944
8945 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8946
8947         * check/Makefile.am:
8948         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8949         (main):
8950           adding tests for elements
8951         * gst/gstelement.c: (gst_element_dispose):
8952
8953 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8954
8955         * gst/registries/gstlibxmlregistry.c: (load_feature):
8956           plug more leaks.  A simple gst_init() now is leakfree, yay.
8957
8958 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8959
8960         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8961         (gst_xml_registry_load):
8962           plug another memleak
8963
8964 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8965
8966         * configure.ac:
8967           use GST_SET_ERROR_CFLAGS
8968         * docs/faq/cvs.xml:
8969           change to ERROR_CFLAGS
8970
8971 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8972
8973         * configure.ac:
8974           make GST_ERROR_CFLAGS overridable and re-enable Werror
8975         * docs/faq/cvs.xml:
8976           add a note about error CFLAGS
8977         * docs/gst/tmpl/gstfakesrc.sgml:
8978         * gst/elements/gstfakesrc.c:
8979           comment out some unused code
8980         * gst/gst.c: (split_and_iterate):
8981         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8982         (load_feature):
8983           plug some memleaks
8984
8985 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8986
8987         * common/Makefile.am:
8988         * common/gtk-doc.mak:
8989         * docs/gst/Makefile.am:
8990           factor out gtk-doc.mak
8991
8992 2005-07-07  Wim Taymans  <wim@fluendo.com>
8993
8994         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8995         (gst_thread_scheduler_dispose):
8996         Unlock the STREAM_LOCK completely.
8997
8998 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8999
9000         * check/Makefile.am:
9001         * check/elements/.cvsignore:
9002         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9003         (START_TEST), (fakesrc_suite), (main):
9004         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9005         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9006         (gst_fakesrc_create), (gst_fakesrc_start):
9007         * gst/elements/gstfakesrc.h:
9008           adding a first element test
9009
9010 2005-07-07  Andy Wingo  <wingo@pobox.com>
9011
9012         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9013         debug message.
9014
9015 2005-07-07  Wim Taymans  <wim@fluendo.com>
9016
9017         * gst/gstquery.c:
9018         * gst/gstquery.h:
9019         Remove old types
9020
9021 2005-07-07  Wim Taymans  <wim@fluendo.com>
9022
9023         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9024         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9025         Allow subclasses to implement their own negotiation.
9026
9027 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9028
9029         * docs/design/part-gstbin.txt:
9030         * docs/design/part-gstpipeline.txt:
9031           Update design notes to reflect the movement of
9032           responsibility for bus handling from GstPipeline to
9033           GstBin
9034
9035 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9036
9037         * configure.ac:
9038           Remove unnecessary queue2/3/4 examples.
9039
9040 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9041
9042         * examples/Makefile.am:
9043         * examples/helloworld/helloworld.c: (event_loop), (main):
9044         * examples/queue/queue.c: (event_loop), (main):
9045         * examples/queue2/queue2.c: (main):
9046           Update a couple of the examples to work again.
9047
9048         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9049         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9050          Spelling corrections and extra debug.
9051         
9052         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9053         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9054         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9055         * gst/gstbin.h:
9056         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9057         (gst_pipeline_change_state):
9058         * gst/gstpipeline.h:
9059           Move the bus handler for children to the GstBin, and create a
9060           separate bus for receiving messages from children to the one the
9061           bus sends 'upwards' on.
9062
9063 2005-07-06  Wim Taymans  <wim@fluendo.com>
9064
9065         * gst/base/README:
9066         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9067         (gst_base_sink_handle_object), (gst_base_sink_loop),
9068         (gst_base_sink_change_state):
9069         * gst/base/gstbasesink.h:
9070         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9071         (gst_base_src_init), (gst_base_src_setcaps),
9072         (gst_base_src_getcaps), (gst_base_src_loop),
9073         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9074         (gst_base_src_start), (gst_base_src_change_state):
9075         * gst/base/gstbasesrc.h:
9076         Make basesrc negotiate.
9077         Handle the case where preroll fails in basesink.
9078         Update README.
9079
9080 2005-07-06  Wim Taymans  <wim@fluendo.com>
9081
9082         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9083         Implement the fixate function.
9084         Clean up acceptcaps.
9085
9086 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9087
9088         * docs/pwg/building-filterfactory.xml:
9089         * docs/pwg/pwg.xml:
9090           Remove never-written filter-factory chapter; I'll add the various
9091           base classes to part 4 ("other element types") later on.
9092
9093 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9094
9095         * docs/pwg/advanced-negotiation.xml:
9096         * docs/pwg/building-boiler.xml:
9097         * docs/pwg/building-pads.xml:
9098         * docs/pwg/pwg.xml:
9099         * examples/pwg/Makefile.am:
9100           Add a chapter on caps negotiation, simplify the original code
9101           samples a bit w.r.t. caps negotiation, add link to the advanced
9102           section. Add a bunch of examples showing different use cases of
9103           different types of caps negotiation. Upstream renegotiation isn't
9104           fully documented yet since nobody knows how that works.
9105
9106 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9107
9108         * check/gst/gstpad.c:
9109         * check/gstcheck.c:
9110         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9111           if pad has no parent, return NULL as list of internal links
9112
9113 2005-07-05  Andy Wingo  <wingo@pobox.com>
9114
9115         * gst/elements/gstfilesrc.c:
9116         * gst/elements/gstfakesrc.c: 
9117         * gst/base/gstpushsrc.c:
9118         * gst/base/gstbasesrc.h: 
9119         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9120         
9121 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9122
9123         * Makefile.am:
9124           better report generation target (lcov needs a patch)
9125
9126 2005-07-05  Andy Wingo  <wingo@pobox.com>
9127
9128         * gst/elements, testsuite: Null if we got it...
9129
9130 2005-07-05  Wim Taymans  <wim@fluendo.com>
9131
9132         * configure.ac:
9133         * libs/gst/dataprotocol/Makefile.am:
9134         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9135         * libs/gst/dataprotocol/dataprotocol.h:
9136         * pkgconfig/Makefile.am:
9137         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9138         * pkgconfig/gstreamer-dataprotocol.pc.in:
9139         Ported dataprotol to 0.9. 
9140         Added pkgconfig files.
9141
9142 2005-07-05  Andy Wingo  <wingo@pobox.com>
9143
9144         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9145         Default to returning TRUE for the case when tranform_caps returns
9146         a fixed caps, like for identity or volume.
9147
9148         * check/gst/gstbus.c (pound_bus_with_messages): 
9149         * check/gst/gstmessage.c (START_TEST): 
9150         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9151         message API change.
9152
9153         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9154         logic weaks here: always run transform_caps, trying passthrough
9155         operation only if the original caps intersects with the transform.
9156
9157         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9158         source and sink caps.
9159
9160         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9161         Intersect the peer caps with the pad template before going into
9162         transform_caps.
9163         (gst_base_transform_transform_caps): More debugging.
9164
9165         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9166         src argument.
9167
9168 2005-07-04  Edward Hervey  <edward@fluendo.com>
9169
9170         * gst/gstutils.c:
9171         * gst/gstutils.h:
9172         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9173         in bindings.
9174
9175 2005-07-04  Andy Wingo  <wingo@pobox.com>
9176
9177         * check/gst/gstpad.c: Only set explicit caps on pads.
9178
9179 2005-07-01  Andy Wingo  <wingo@pobox.com>
9180
9181         * tests/network-clock.scm: Commentary update.
9182
9183         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9184         Didn't really make sense, not implementable with basetransform,
9185         etc.
9186         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9187         attempt at implementing the sync property, needs an unlock method.
9188
9189         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9190         New func, by default returns the same caps (the identity
9191         transformation).
9192         (gst_base_transform_getcaps): Uses transform_caps to return
9193         something sensible.
9194         (gst_base_transform_setcaps): Complicated logic to get caps on
9195         both pads, even if they are different, and to call set_caps once
9196         for every time both pads get their caps set.
9197         (gst_base_transform_handle_buffer): Give the ref to the transform
9198         function. Allows in-place modification of the buffer.
9199
9200         * gst/base/gstbasetransform.h (transform_caps): New class method.
9201         Given caps on one side, what can I do on the other.
9202         (set_caps): Take two caps, one for each side of the element.
9203
9204         * gst/gstpad.h:
9205         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9206         caps in place. This is safe because we can check the mutability of
9207         the caps, and a good idea because fixate functions are just called
9208         as a matter of last resort. (Not actually implemented.)
9209         (gst_pad_set_caps): If the caps we're setting is actually the same
9210         as the existing pad caps, just update the pointer without calling
9211         setcaps. Assert that caps is either NULL or fixed, as per the
9212         docs.
9213
9214         * gst/gstghostpad.c: Update for fixate changes.
9215
9216 2005-07-02  Andy Wingo  <wingo@pobox.com>
9217
9218         * gst/gstcaps.c:
9219         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9220         two refcounts makes it immutable, which is enough. Doc more.
9221
9222 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9223
9224         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9225           Put the mini_object into GValue as a mini_object,
9226           not a gpointer, since that's how we declared
9227           the signal.
9228
9229 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9230
9231         * examples/pwg/Makefile.am:
9232           Fix buildbot again.
9233
9234 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9235
9236         * docs/pwg/building-testapp.xml:
9237           Add extra check.
9238         * examples/pwg/Makefile.am:
9239           Fix buildbot.
9240
9241 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9242
9243         * configure.ac:
9244         * examples/Makefile.am:
9245         * examples/pwg/Makefile.am:
9246         * examples/pwg/extract.pl:
9247           Enable building the PWG examples.
9248         * docs/pwg/advanced-interfaces.xml:
9249           Add URI interface stub.
9250         * docs/pwg/advanced-types.xml:
9251         * docs/pwg/other-autoplugger.xml:
9252         * docs/pwg/appendix-porting.xml:
9253         * docs/pwg/pwg.xml:
9254           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9255         * docs/pwg/building-boiler.xml:
9256         * docs/pwg/building-chainfn.xml:
9257         * docs/pwg/building-pads.xml:
9258         * docs/pwg/building-props.xml:
9259         * docs/pwg/building-state.xml:
9260         * docs/pwg/building-testapp.xml:
9261           Update the building-*.xml parts for 0.9 changes. All examples
9262           code blocks compile in examples/pwg/*.
9263
9264 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9265
9266         * docs/manual/advanced-autoplugging.xml:
9267         * docs/manual/appendix-checklist.xml:
9268         * docs/manual/appendix-integration.xml:
9269         * docs/manual/highlevel-components.xml:
9270           Fix playbin/decodebin examples, update docs a bit, mention bus
9271           instead of signals in various places, mention kmplayer and
9272           kaffeine since they have a working GStreamer backend in the KDE
9273           section.
9274
9275 2005-06-30  Wim Taymans  <wim@fluendo.com>
9276
9277         * CHANGES-0.9:
9278         * docs/design/draft-ghostpads.txt:
9279         * docs/design/draft-push-pull.txt:
9280         * docs/design/draft-query.txt:
9281         * docs/design/part-TODO.txt:
9282         * docs/design/part-query.txt:
9283         Added CHANGES-0.9 doc, updated status of other docs.
9284         
9285         * gst/gstquery.h:
9286         Remove "hmm" macro
9287
9288 2005-06-30  Wim Taymans  <wim@fluendo.com>
9289
9290         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9291         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9292         (gst_base_sink_change_state):
9293         * gst/base/gstbasesink.h:
9294         Some tweaks, only EOS and a buffer complete a preroll.
9295
9296 2005-06-30  Andy Wingo  <wingo@pobox.com>
9297
9298         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9299         activate_push down to the internal pad as well.
9300
9301 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9302
9303         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9304
9305         * gst/gsttaginterface.c:
9306           Some documentation fixes (#307394 and #307397).
9307
9308 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9309
9310         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9311
9312         * gst/gstvalue.c: (gst_value_intersect_list):
9313           Fix memleak (#309125).
9314
9315 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9316
9317         * docs/manual/advanced-dataaccess.xml:
9318           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9319         * docs/manual/basics-pads.xml:
9320           Add reference for filtered caps to above chapter.
9321
9322 2005-06-30  Wim Taymans  <wim@fluendo.com>
9323
9324         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9325         (gst_bin_change_state):
9326         Probes are gone.
9327         Lame attempt at making the state change function a bit
9328         more readable.
9329
9330 2005-06-30  Wim Taymans  <wim@fluendo.com>
9331
9332         * docs/design/part-clocks.txt:
9333         * docs/design/part-element-sink.txt:
9334         * docs/design/part-events.txt:
9335         * docs/design/part-preroll.txt:
9336         * docs/design/part-states.txt:
9337         Some more tweeks and additions to the docs.
9338
9339 2005-06-30  Wim Taymans  <wim@fluendo.com>
9340
9341         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9342         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9343         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9344         (gst_pad_check_pull_range), (gst_pad_get_range),
9345         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9346         * gst/gstpad.h:
9347         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9348         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9349         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9350         (gst_pad_remove_buffer_probe):
9351         Removed atomic operations, use existing LOCK.
9352         Move exception handling out of main code path.
9353
9354 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9355
9356         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9357         (silly_return_true_function), (gst_pad_class_init),
9358         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9359         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9360         (gst_pad_send_event):
9361           Fix accumulator, add default value by using _emitv() instead
9362           of _emit() for signal emission.
9363
9364 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9365
9366         * docs/manual/advanced-dataaccess.xml:
9367         * examples/manual/Makefile.am:
9368           Add probe example.
9369         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9370           Make work (??).
9371
9372 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9373
9374         * gst/elements/gstfilesink.c: (gst_filesink_render):
9375           Simplify code so that we don't have to handle short
9376           writes and return GST_FLOW_ERROR if an error occured.
9377
9378 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9379
9380         * docs/gst/gstreamer-docs.sgml:
9381           Remove probes more.
9382
9383 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9384
9385         * docs/gst/gstreamer-sections.txt:
9386         * docs/gst/tmpl/gstpad.sgml:
9387         * docs/gst/tmpl/gstprobe.sgml:
9388         * gst/Makefile.am:
9389         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9390         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9391         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9392         (gst_pad_push_event), (gst_pad_send_event):
9393         * gst/gstpad.h:
9394         * gst/gstutils.c: (gst_pad_add_data_probe),
9395         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9396         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9397         (gst_pad_remove_buffer_probe):
9398         * gst/gstutils.h:
9399           Remove old probes, add new g-signal-based probes and some utility
9400           functions.
9401
9402 2005-06-29  Edward Hervey  <edward@fluendo.com>
9403
9404         * gst/gstelementfactory.c:
9405         * gst/gstutils.h:
9406         * gst/gstutils.c:
9407         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9408         the definition to the header file.
9409
9410 2005-06-29  Andy Wingo  <wingo@pobox.com>
9411
9412         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9413         plugins from the source directory.
9414
9415 2005-06-29  Wim Taymans  <wim@fluendo.com>
9416
9417         * docs/gst/tmpl/gstbuffer.sgml:
9418         * docs/gst/tmpl/gstclock.sgml:
9419         Some fixings for blantently wrong text.
9420
9421 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9422
9423         * check/Makefile.am:
9424         * gst/gst.c: (add_path_func), (init_pre):
9425         * gst/gstregistry.c: (gst_registry_add_path):
9426           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9427           only scan the GST_PLUGIN_PATH locations, and not add
9428           system locations
9429
9430 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9431
9432         * docs/gst/gstreamer-sections.txt:
9433         * docs/gst/tmpl/gstbasesrc.sgml:
9434         * gst/gstelement.c:
9435         * gst/gstelement.h:
9436         * gst/gstevent.c:
9437         * gst/gstutils.c:
9438           doc fixes
9439
9440 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9441
9442         * docs/manual/advanced-autoplugging.xml:
9443           Fix autoplugging example.
9444
9445 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9446
9447         * docs/manual/advanced-autoplugging.xml:
9448         * docs/manual/mime-world.fig:
9449           Try to get autoplugging working, fix type detection. Fix text
9450           in hello-world image.
9451
9452 2005-06-29  Wim Taymans  <wim@fluendo.com>
9453
9454         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9455         (gst_base_sink_change_state):
9456         Small debug line.
9457
9458         * gst/gstclock.h:
9459         map SIGNAL and BROADCAST to the right function.
9460
9461         * gst/gstobject.h:
9462         Remove redundant braces.
9463
9464         * gst/gstpad.c: (gst_pad_set_caps):
9465         Don't call setcaps function when reseting caps to NULL.
9466
9467         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9468         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9469         (gst_system_clock_id_unschedule):
9470         Use BROADCAST as this is what we do.
9471
9472 2005-06-29  Wim Taymans  <wim@fluendo.com>
9473
9474         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9475         We are actually prerolling before commiting the state
9476         change. 
9477
9478 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9479
9480         * docs/manual/advanced-clocks.xml:
9481         * docs/manual/advanced-interfaces.xml:
9482         * docs/manual/advanced-metadata.xml:
9483         * docs/manual/advanced-position.xml:
9484         * docs/manual/advanced-schedulers.xml:
9485         * docs/manual/advanced-threads.xml:
9486         * docs/manual/appendix-porting.xml:
9487         * docs/manual/basics-bins.xml:
9488         * docs/manual/basics-bus.xml:
9489         * docs/manual/basics-elements.xml:
9490         * docs/manual/basics-helloworld.xml:
9491         * docs/manual/basics-pads.xml:
9492         * docs/manual/highlevel-components.xml:
9493         * docs/manual/manual.xml:
9494         * docs/manual/thread.fig:
9495           Update (until threads/scheduling) Application Development Manual;
9496           remove GstThread, add GstBus, add simple porting checklist, add
9497           documentation for tag writing, clocks, make all examples until this
9498           part compile and run.
9499         * examples/manual/Makefile.am:
9500           Update from changes to Application Development Manual; add bus
9501           example, remove thread example.
9502
9503 2005-06-28  Wim Taymans  <wim@fluendo.com>
9504
9505         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9506         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9507         (gst_bus_source_dispatch):
9508         Add debugging messages.
9509         Make internal methods static.
9510         Handle the case where the bus is flushed in the handler.
9511         
9512         * gst/gstelement.c: (gst_element_get_bus):
9513         Fix refcount in _get_bus();
9514
9515         * gst/gstpipeline.c: (gst_pipeline_change_state),
9516         (gst_pipeline_get_clock_func):
9517         Clock refcounting fixes.
9518         Handle the case where preroll timed out more gracefully.
9519         
9520         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9521         Clean up the internal thread in dispose. This is needed
9522         for subclasses that actually get disposed.
9523         
9524         * gst/schedulers/threadscheduler.c:
9525         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9526         (gst_thread_scheduler_dispose):
9527         Free thread pool in dispose.
9528
9529 2005-06-28  Andy Wingo  <wingo@pobox.com>
9530
9531         * tests/network-clock-utils.scm (debug, print-event): New utils.
9532
9533         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9534         (*packet-loss*): Unified loss probability.
9535         (network-time): Report out-of-band events.
9536
9537         * tests/plot-data: Add support for out-of-band events. Hack it
9538         into this script instead of passing it down the pipe; should fix
9539         this later.
9540
9541 2005-06-28  Wim Taymans  <wim@fluendo.com>
9542
9543         * docs/gst/gstreamer.types:
9544         * docs/gst/tmpl/gstbasesrc.sgml:
9545         * docs/gst/tmpl/gstpad.sgml:
9546         Docs fixes.
9547
9548 2005-06-28  Wim Taymans  <wim@fluendo.com>
9549
9550         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9551         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9552         (gst_proxy_pad_do_fixatecaps):
9553         Correctly proxy the check_pull_range function.
9554
9555 2005-06-28  Andy Wingo  <wingo@pobox.com>
9556
9557         * tests/network-clock.scm: Removed need for slib.
9558         
9559 2005-06-28  Wim Taymans  <wim@fluendo.com>
9560
9561         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9562         (gst_basesink_preroll_queue_flush):
9563         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9564         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9565         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9566         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9567         (gst_proxy_pad_set_property):
9568         * gst/gstpad.c:
9569         * gst/gstpad.h:
9570         * gst/gstqueue.c: (gst_queue_init):
9571         The deprecated pad loop function is removed now.
9572
9573 2005-06-28  Andy Wingo  <wingo@pobox.com>
9574
9575         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9576         New parameters, simulate network packet loss.
9577
9578         * tests/network-clock-utils.scm: Initialize the RNG.
9579
9580 2005-06-28  Wim Taymans  <wim@fluendo.com>
9581
9582         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9583         (gst_basesink_event), (gst_basesink_deactivate):
9584         Flushing the preroll queue always needs to unlock the waiters.
9585
9586 2005-06-28  Edward Hervey  <edward@fluendo.com>
9587
9588         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9589         Wheen a seek was successful on a pipeline, set the stream_time to the
9590         seek offset in order to have a synchronized stream_time.
9591
9592 2005-06-28  Wim Taymans  <wim@fluendo.com>
9593
9594         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9595         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9596         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9597         (gst_proxy_pad_do_fixatecaps):
9598         Call wrapper function instead of just calling the function
9599         pointers. This takes care of any locking and whatmore.
9600
9601 2005-06-28  Wim Taymans  <wim@fluendo.com>
9602
9603         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9604         (gst_pad_pull_range):
9605         * gst/gstpad.h:
9606         CONNECTED -> LINKED.
9607
9608 2005-06-28  Andy Wingo  <wingo@pobox.com>
9609
9610         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9611         source-munging commit!!!
9612
9613         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9614         (gst_object_sink): Take gpointer arguments, not GstObject --
9615         avoids casts. Like GLib.
9616
9617         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9618         activate.
9619
9620 2005-06-27  Andy Wingo  <wingo@pobox.com>
9621
9622         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9623         remaining buffer.
9624
9625         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9626         returns a sorted copy of the trace list.
9627         (gst_alloc_trace_print_live): New API, only prints traces with
9628         live objects. Sort the list.
9629         (gst_alloc_trace_print_all): Sort the list.
9630         (gst_alloc_trace_print): Align columns.
9631
9632         * gst/elements/gstttypefindelement.c:
9633         * gst/elements/gsttee.c:
9634         * gst/base/gstbasesrc.c:
9635         * gst/base/gstbasesink.c:
9636         * gst/base/gstbasetransform.c:
9637         * gst/gstqueue.c: Adapt for pad activation changes.
9638
9639         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9640         sched.
9641         (gst_pipeline_dispose): Drop ref on sched.
9642
9643         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9644         (gst_pad_activate_default): Push mode by default.
9645         (pre_activate_switch, post_activate_switch): New stubs, things to
9646         do before and after switching activation modes on pads.
9647         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9648         the pad's activate function to choose which mode to activate.
9649         Shortcut on deactivation and call the right function directly.
9650         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9651         mode.
9652         (gst_pad_activate_push): New API, same for push mode.
9653         (gst_pad_set_activate_function) 
9654         (gst_pad_set_activatepull_function) 
9655         (gst_pad_set_activatepush_function): Setters for new API.
9656
9657         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9658         Trace all miniobjects.
9659         (gst_mini_object_make_writable): Unref the arg if we copy, like
9660         gst_caps_make_writable.
9661
9662         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9663
9664         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9665         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9666         Adapt for new pad API.
9667
9668         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9669
9670         * gst/gstelement.h:
9671         * gst/gstelement.c (gst_element_iterate_src_pads) 
9672         (gst_element_iterate_sink_pads): New API functions.
9673         
9674         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9675         should fold into gstiterator.c in some form.
9676         (gst_element_pads_activate): Simplified via use of fold and
9677         delegation of decisions to gstpad->activate.
9678
9679         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9680         help in debugging.
9681
9682         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9683         class once in init, like gstmessage. Didn't run into this issue
9684         but it seems correct. Don't initialize a trace, gstminiobject does
9685         that.
9686
9687         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9688         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9689         to the bus.
9690         (assert_live_count): New util function, uses alloc traces to check
9691         cleanup.
9692
9693         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9694         To be modified when unlink drops the internal pad.
9695
9696 2005-06-27  Wim Taymans  <wim@fluendo.com>
9697
9698         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9699         (gst_bin_change_state):
9700         Cleanup the get_state() function a little, make sure it
9701         iterates the same set of elements.
9702         Added stub iterate_state_order().
9703
9704 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9705
9706         * docs/gst/gstreamer-docs.sgml:
9707         * docs/gst/gstreamer-sections.txt:
9708         * docs/gst/gstreamer.types:
9709         * docs/gst/tmpl/gstbasesink.sgml:
9710         * docs/gst/tmpl/gstbasesrc.sgml:
9711         * docs/gst/tmpl/gstbasetransform.sgml:
9712         * docs/gst/tmpl/gstelement.sgml:
9713         * docs/gst/tmpl/gstiterator.sgml:
9714         * gst/base/gstbasesrc.c:
9715         * gst/base/gstbasesrc.h:
9716         * gst/base/gstbasetransform.h:
9717         * gst/gstelement.c:
9718         * gst/gstiterator.h:
9719           adding basetransform and iterator docs
9720
9721 2005-06-27  Andy Wingo  <wingo@pobox.com>
9722
9723         * docs/design/part-activation.txt: Notes on how activation should
9724         work -- not quite implemented yet.
9725
9726 2005-06-25  Wim Taymans  <wim@fluendo.com>
9727
9728         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9729         At least get the chain function correct, needs more
9730         fixing.
9731
9732 2005-06-25  Wim Taymans  <wim@fluendo.com>
9733
9734         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9735         (gst_basesink_handle_object), (gst_basesink_event),
9736         (gst_basesink_do_sync), (gst_basesink_handle_event),
9737         (gst_basesink_change_state):
9738         * gst/gsttask.h:
9739         Right, two problems here: ghostpads don't take locks and
9740         glib _rec_mutex_lock_full() with depth==0 still locks.
9741         Catch illegal locking and g_warn them.
9742
9743 2005-06-25  Wim Taymans  <wim@fluendo.com>
9744
9745         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9746         Have to check for completion now...
9747
9748 2005-06-25  Wim Taymans  <wim@fluendo.com>
9749
9750         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9751         (gst_basesink_handle_object), (gst_basesink_event),
9752         (gst_basesink_do_sync), (gst_basesink_handle_event),
9753         (gst_basesink_change_state):
9754         * gst/gstpad.h:
9755         Unlock STREAM_LOCK whatever the recursion was.
9756
9757 2005-06-25  Wim Taymans  <wim@fluendo.com>
9758
9759         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9760         (gst_basesink_preroll_queue_empty),
9761         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9762         (gst_basesink_event), (gst_basesink_do_sync),
9763         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9764         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9765         (gst_basesink_change_state):
9766         Reworked the base sink, handle event and buffer serialisation
9767         correctly and removed possible deadlock.
9768         Handle EOS correctly.
9769
9770 2005-06-25  Wim Taymans  <wim@fluendo.com>
9771
9772         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9773         (gst_pipeline_change_state):
9774         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9775         Allow elements to post EOS in the state change function.
9776         Fix up -launch, make it exit the poll loop when the
9777         pipeline actually changed state.
9778         Fix up warning parsing in -launch.
9779
9780 2005-06-25  Wim Taymans  <wim@fluendo.com>
9781
9782         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9783         (gst_tee_sink_activate):
9784         Core takes STREAM_LOCK for us now.
9785
9786 2005-06-25  Wim Taymans  <wim@fluendo.com>
9787
9788         * gst/gstelement.c: (gst_element_get_state_func),
9789         (gst_element_set_state):
9790         * gst/gstelement.h:
9791         * gst/gstmessage.c: (gst_message_parse_error),
9792         (gst_message_parse_warning):
9793         Keep track of current target state while performing a state
9794         change so that subclasses can do something interesting.
9795         Fix parsing of warning/error messages when GError is NULL.
9796
9797 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9798
9799         * docs/gst/Makefile.am:
9800         * docs/gst/gstreamer-docs.sgml:
9801         * docs/gst/gstreamer-sections.txt:
9802         * docs/gst/gstreamer.types:
9803         * docs/gst/tmpl/gstbasesink.sgml:
9804         * docs/gst/tmpl/gstbasesrc.sgml:
9805         * docs/gst/tmpl/gstbin.sgml:
9806         * docs/gst/tmpl/gstcompat.sgml:
9807         * docs/gst/tmpl/gstfakesink.sgml:
9808         * docs/gst/tmpl/gstfakesrc.sgml:
9809         * docs/gst/tmpl/gstfilesink.sgml:
9810         * docs/gst/tmpl/gstfilesrc.sgml:
9811         * docs/gst/tmpl/gstindex.sgml:
9812         * docs/manual/appendix-quotes.xml:
9813         * gst/base/gstbasesrc.h:
9814         * gst/elements/gstfakesrc.h:
9815         * gst/gstmessage.h:
9816           start pulling in base classes and elements in our docs
9817
9818 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9819
9820         * docs/gst/Makefile.am:
9821         * docs/libs/Makefile.am:
9822           fixed make distcheck with gtk-doc 1.3
9823
9824 2005-06-23  Wim Taymans  <wim@fluendo.com>
9825
9826         * gst/gstelement.c: (gst_element_get_state_func),
9827         (gst_element_set_state), (gst_element_change_state):
9828         When the state did not change, also report NO_PREROLL
9829         when it matters.
9830
9831 2005-06-23  Wim Taymans  <wim@fluendo.com>
9832
9833         * gst/gstpad.c: (gst_pad_event_default):
9834         * gst/gstqueue.c: (gst_queue_loop):
9835         No unsafe task pausing please.
9836
9837 2005-06-23  Wim Taymans  <wim@fluendo.com>
9838
9839         * gst/schedulers/threadscheduler.c:
9840         (gst_thread_scheduler_task_start),
9841         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9842         Ref the task before pushing it on the threadpool. This
9843         makes sure that we have a ref when the threadfunction is
9844         actually called.
9845
9846 2005-06-23  Andy Wingo  <wingo@pobox.com>
9847
9848         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9849         offset is greater than the file's size.
9850
9851         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9852         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9853         * gst/gstobject.c (gst_object_class_init): Make the class lock
9854         recursive. Wim won't let me drop deep_notify. Decodebin works
9855         again, whoopdy doo.
9856
9857         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9858         internal pad, and hacks accordingly. Doesn't do it on the target
9859         pad because we change its caps. Probably catches all cases of
9860         interest tho.
9861         (gst_ghost_pad_set_property): Connect to notify::caps as
9862         appropritate.
9863
9864         * tests/network-clock.scm (plot-simulation): Pipe data to the
9865         elite python skript.
9866
9867         * tests/network-clock-utils.scm (define-parameter): New macro,
9868         defines a parameter that can be set via the command line.
9869         (set-parameter!, parse-parameter-arguments): Command line args
9870         parser.
9871
9872         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9873         stdin.
9874
9875 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9876
9877         * gst/elements/gsttypefindelement.c:
9878         (gst_type_find_element_handle_event):
9879           Don't restart typefinding on a discont.
9880         * gst/gstelement.c: (gst_element_set_state):
9881           Debug spelling fix.
9882         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9883           Allow changing mode of an active pad.
9884           Debug output fixes.
9885         * gst/registries/gstlibxmlregistry.c: (load_feature):
9886           Don't cast a static pad template to a normal pad template.
9887
9888 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9889
9890         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9891         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9892           remove gst_strtoll completely, since it didn't actually do
9893           anything more than what g_ascii_strtoull already does.
9894           check for range errors when deserializing
9895           do a cast for the unsigned cases; but further fixing needs
9896           a decision on what the interpretation of "(int)" and
9897           deserialization should be for values that fall outside the
9898           type's boundaries (ie, refuse, or interpret as casting)
9899
9900 2005-06-23  Wim Taymans  <wim@fluendo.com>
9901
9902         * check/Makefile.am:
9903         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9904         * docs/design/part-live-source.txt:
9905         * docs/design/part-states.txt:
9906         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9907         (gst_basesrc_set_live), (gst_basesrc_is_live),
9908         (gst_basesrc_get_range), (gst_basesrc_activate),
9909         (gst_basesrc_change_state):
9910         * gst/base/gstbasesrc.h:
9911         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9912         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9913         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9914         * gst/gstelement.c: (gst_element_get_state_func),
9915         (gst_element_set_state):
9916         * gst/gstelement.h:
9917         * gst/gsttypes.h:
9918         * tools/gst-launch.c: (event_loop), (main):
9919         Added support for live sources and other elements that
9920         cannot do preroll.
9921         Updated design docs, added live-source design doc.
9922         Implemented live source functionality in basesrc
9923         Fix error condition in _bin_get_state()
9924         Implement live source handling in -launch.
9925         Added check for live sources.
9926         Fixed case in GstBin where elements were changed state
9927         multiple times.
9928
9929
9930 2005-06-23  Andy Wingo  <wingo@pobox.com>
9931
9932         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9933         borken refcounting.
9934
9935         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9936         gst_caps_replace takes care of this for us.
9937
9938         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9939         gst_pad_set_caps on the target, not just its setcaps() function.
9940
9941         * tests/network-clock.scm: 
9942         * tests/network-clock-utils.scm: A network clock simulator.
9943         Something of an algorithmic testbed before doing something in C.
9944
9945 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9946
9947         * check/Makefile.am:
9948         * check/gst/capslist.h:
9949           copy over from 0.8, and add two with bitmasks specified with
9950           (int) 0xFF...
9951         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9952           add test to parse everything from capslist.h
9953         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9954         (main):
9955           add test for structure deserialization
9956         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9957           add tests for deserialization of strings to int types
9958         * gst/gststructure.c: (gst_structure_nth_field_name):
9959         * gst/gststructure.h:
9960           add a way to get the name of a field referenced by index
9961         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9962           instead of checking if the resulting long long lies between
9963           min and max, we check if the long long would fit into
9964           a number of bytes for the final type.
9965           This fixes cases where a string represents 2^32 - 1, which
9966           when cast to int would be the (valid) -1, but is bigger than
9967           G_MAXINT
9968
9969 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9970
9971         * gst/parse/grammar.y:
9972           add a log line for type deserialization
9973
9974 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9975
9976         * check/gst/gstvalue.c: (START_TEST):
9977         * gst/gstvalue.c: (gst_value_deserialize):
9978           return long long, not int, so gint64 deserialization actually
9979           works.  Is there any flag that makes the compiler check this ?
9980           Fixes #308559
9981
9982 2005-06-22  Wim Taymans  <wim@fluendo.com>
9983
9984         * gst/gstbuffer.h:
9985         Added convenience macros for setting buffers in GValue.
9986
9987 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9988
9989         * check/gst/.cvsignore:
9990         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9991           add a test deserializing int64, and comment part out because
9992           it fails, yay !
9993
9994 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9995
9996         * check/Makefile.am:
9997         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9998         * testsuite/Makefile.am:
9999         * testsuite/caps/Makefile.am:
10000         * testsuite/caps/value_serialize.c:
10001         * testsuite/test_gst_init.c:
10002           move a value_serialize test over
10003
10004 2005-06-20  Wim Taymans  <wim@fluendo.com>
10005
10006         * gst/gstpad.c:
10007         Small doc updates.
10008         
10009         * gst/gstvalue.c: (gst_value_compare_buffer),
10010         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10011         (gst_value_compare_flags), (gst_value_serialize_flags),
10012         (gst_value_deserialize_flags), (_gst_value_initialize):
10013         Fix serialisation of buffers, they are not boxed types anymore
10014
10015 2005-06-20  Wim Taymans  <wim@fluendo.com>
10016
10017         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10018         Testcase to show error in buffer-on-caps serialisation.
10019
10020 2005-06-20  Andy Wingo  <wingo@pobox.com>
10021
10022         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10023         will be adding to later.
10024
10025         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10026         if its socks fill with rocks.
10027         (gst_system_clock_obtain): Set the name on object construction.
10028         Avoid double-checked locking.
10029
10030 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10031
10032         * gst/gsturi.c: (gst_element_make_from_uri):
10033           Fix potential endless loop.
10034
10035 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10036
10037         * check/Makefile.am:
10038           add gsttag
10039         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10040         (main):
10041           move over from testsuite dir and clean up
10042         * configure.ac:
10043         * gst/gsttag.c:
10044         * testsuite/Makefile.am:
10045         * testsuite/tags/.cvsignore:
10046         * testsuite/tags/Makefile.am:
10047         * testsuite/tags/merge.c:
10048           remove testsuite/tags
10049
10050 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10051
10052         * docs/gst/gstreamer-sections.txt:
10053         * docs/gst/tmpl/gstenumtypes.sgml:
10054         * win32/gstenumtypes.c:
10055           clean up documentation build a little
10056
10057 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10058
10059         * check/gstcheck.h:
10060           add macros for checking refcounts on objects and caps
10061         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10062           add some more unit tests
10063         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10064         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10065           fix leaked refcounts (I hope :)) so unittest works
10066         * gst/gstpad.h:
10067           whitespace removal
10068
10069 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10070
10071         * configure.ac: back to HEAD
10072
10073 === release 0.9.1 ===
10074
10075 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10076
10077         * NEWS:
10078         * RELEASE:
10079           updated
10080
10081 2005-06-17  Andy Wingo  <wingo@pobox.com>
10082
10083         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10084         assert; it's always possible that the pad gets deactivated in
10085         between the checks in gstpad.c and the implementation. Rely on
10086         finish_preroll() to return a FLUSHING or similar instead of on the
10087         assert.
10088         
10089         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10090         clock and post an EOS message if we come out of finish_preroll in
10091         the playing state.
10092
10093 2005-06-16  David Schleef  <ds@schleef.org>
10094
10095         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10096         (gst_capsfilter_set_property): Allow NULL as possible value
10097         for filter_caps property, indicating GST_CAPS_ANY.
10098
10099 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10100
10101         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10102           fix debug output
10103         * gst/schedulers/Makefile.am:
10104           use libgst prefix
10105         * gstreamer.spec.in:
10106           fix spec for it
10107
10108 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10109
10110         * gstreamer.spec.in:
10111           clean up
10112
10113 2005-06-08  Andy Wingo  <wingo@pobox.com>
10114
10115         * gst/gstutils.c: RPAD fixes all around.
10116         (gst_element_link_pads): Refcounting fixes.
10117
10118         * tools/gst-inspect.c:
10119         * tools/gst-xmlinspect.c:
10120         * parse/grammar.y:
10121         * gst/base/gsttypefindhelper.c:
10122         * gst/base/gstbasesink.c:
10123         * gst/gstqueue.c: RPAD fixes.
10124
10125         * gst/gstghostpad.h:
10126         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10127         pads. The tricky thing is they provide both source and sink
10128         interfaces, since they proxy the internal pad for the external
10129         pad, and vice versa. Implement with lower-level ProxyPad objects,
10130         with the interior proxy pad as a child of the exterior ghost pad.
10131         Should write a doc on this.
10132         
10133         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10134         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10135         gst_object API.
10136         
10137         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10138         pads are real pads. No ghost pads in this file. Not documenting
10139         the myriad s/RPAD/PAD/ and REALIZE fixes.
10140         (gst_pad_class_init): Add properties for "direction" and
10141         "template". Both are construct-only, so they can't change during
10142         the life of the pad. Fixes properly deriving from GstPad.
10143         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10144         derived objects, just set properties when creating the objects via
10145         g_object_new.
10146         (gst_pad_get_parent): Implement as a function, return NULL if the
10147         parent is not an element.
10148         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10149         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10150         
10151         * gst/gstobject.c (gst_object_class_init): Make name a construct
10152         property. Don't set it in the object init.
10153
10154         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10155         with UNKNOWN direction.
10156         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10157         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10158         (gst_element_remove_pad): Remove ghost-pad special cases.
10159         (gst_element_pads_activate): Remove rpad cruft.
10160
10161         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10162         catch the pad's-parent-not-an-element case.
10163
10164         * gst/gst.h: Include gstghostpad.h.
10165
10166         * gst/gst.c (init_post): No more real, ghost pads.
10167
10168         * gst/Makefile.am: Add gstghostpad.[ch].
10169
10170         * check/Makefile.am:
10171         * check/gst/gstbin.c:
10172         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10173         into a bin creates ghost pads, and that the refcounts are right.
10174         Partly moved from gstbin.c.
10175
10176 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10177
10178         * check/gst-libs/.cvsignore:
10179         * check/gst/.cvsignore:
10180         * check/pipelines/.cvsignore:
10181           ignore more
10182         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10183         (START_TEST), (cleanup_suite), (main):
10184           add some tests related to cleanup after running pipelines
10185
10186 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10187
10188         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10189           add a testsuite for GstBuffer
10190
10191 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10192
10193         * gst/gstminiobject.h:
10194           add defines for accessing the refcount
10195
10196 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10197
10198         * Makefile.am: added support for html unit test coverage reports
10199
10200 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10201
10202         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10203           Free existing caps if the capsfilter changes. Add a FIXME about
10204           setting those caps on the pads.
10205
10206         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10207           Before adding a ghost pad to a parent bin, check that there isn't
10208           already one for the element on the bin. Prevents infinite recursion
10209           when using decodebin in parse pipelines. Andy says he'll rewrite the
10210           way this works anyway, so ignore the hack.
10211
10212 2005-06-02  Andy Wingo  <wingo@pobox.com>
10213
10214         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10215         file size, pass it on to the type find helper.
10216
10217         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10218         segment_start and segment_end properly according to the seek
10219         method. Segment_end is still a bit flaky because offset can be
10220         negative for CUR and END cases, but it takes -1 as an "unset"
10221         value.
10222
10223 2005-06-02  Wim Taymans  <wim@fluendo.com>
10224
10225         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10226         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10227         (gst_basesink_activate):
10228         * gst/base/gstbasesink.h:
10229         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10230         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10231         (gst_pad_query), (gst_pad_start_task):
10232         * gst/gstpad.h:
10233         * gst/gstqueue.c: (gst_queue_bufferalloc),
10234         (gst_queue_handle_sink_event), (gst_queue_chain):
10235         Bufferalloc: return GstFlowReturn to more accuratly report
10236         why allocation failed.
10237
10238 2005-06-02  Wim Taymans  <wim@fluendo.com>
10239
10240         * gst/gstpipeline.c: (gst_pipeline_send_event):
10241         Take snapshot of state without blocking.
10242
10243 2005-06-02  Wim Taymans  <wim@fluendo.com>
10244
10245         * docs/design/part-TODO.txt:
10246         * docs/design/part-caps.txt:
10247         * docs/design/part-clocks.txt:
10248         * docs/design/part-negotiation.txt:
10249         * docs/design/part-preroll.txt:
10250         Small doc updates 
10251
10252 2005-05-30  Wim Taymans  <wim@fluendo.com>
10253
10254         * gst/elements/gstidentity.c: (gst_identity_event),
10255         (gst_identity_transform), (gst_identity_get_property):
10256         Protect last_message property as it is accessed from
10257         multiple threads.
10258
10259 2005-05-30  Wim Taymans  <wim@fluendo.com>
10260
10261         * gst/gstelement.c: (gst_element_init),
10262         (gst_element_pads_activate), (gst_element_change_state):
10263         Slicker pad activation code.
10264
10265 2005-05-30  Wim Taymans  <wim@fluendo.com>
10266
10267         * gst/Makefile.am:
10268         * gst/gstelement.h:
10269         * gst/gstelementfactory.h:
10270         * gst/gsttypes.h:
10271         Move elementfactory methods to separate .h file.
10272
10273 2005-05-30  Wim Taymans  <wim@fluendo.com>
10274
10275         * docs/design/part-overview.txt:
10276         * gst/gstsystemclock.h:
10277         Small typo fixes, doc updates.
10278
10279 2005-05-30  Wim Taymans  <wim@fluendo.com>
10280
10281         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10282         (init_popt_callback):
10283         Remove cpu-opt flag.
10284
10285 2005-05-30  Wim Taymans  <wim@fluendo.com>
10286
10287         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10288         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10289         * gst/gstbuffer.h:
10290         Avoid typechecking in places where not needed.
10291         Added accessor for malloc_data.
10292
10293 2005-05-30  Wim Taymans  <wim@fluendo.com>
10294
10295         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10296         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10297         (gst_pad_configure_sink), (gst_pad_configure_src),
10298         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10299         (gst_pad_start_task):
10300         Propagate errors from _set_caps() in configure_src/sink
10301         functions instead of returning TRUE.
10302         FLUSH events can travel up and downstream
10303
10304
10305 2005-05-30  Wim Taymans  <wim@fluendo.com>
10306
10307         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10308         (gst_basesink_activate):
10309         Handle EOS in preroll.
10310
10311 2005-05-30  Wim Taymans  <wim@fluendo.com>
10312
10313         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10314         (gst_queue_loop), (gst_queue_handle_src_event):
10315         Remove old pieces of code
10316         Flushing the queue in an upstream event is a very bad idea.
10317
10318 2005-05-26  Andy Wingo  <wingo@pobox.com>
10319
10320         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10321         gst_value_set_mini_object so as to add a ref on the object (which
10322         will be removed when the value is unset).
10323
10324         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10325         arg type in ::handoff.
10326
10327         * gst/gstelement.c (gst_element_change_state): Also deactivate
10328         pads in READY->NULL, just in case the element didn't make it to
10329         PAUSED. Wingo tested, Wim approved.
10330
10331 2005-05-26  Wim Taymans  <wim@fluendo.com>
10332
10333         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10334         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10335         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10336         A flushing pad cannot be used to alloc_buffer from.
10337
10338 2005-05-26  Wim Taymans  <wim@fluendo.com>
10339
10340         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10341         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10342         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10343         (gst_bus_create_watch), (gst_bus_add_watch_full):
10344         * gst/gstbus.h:
10345         Implement a real GSource and use g_main_context_wakeup() to
10346         signal new messages instead of the socketpair.
10347
10348 2005-05-25  Wim Taymans  <wim@fluendo.com>
10349
10350         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10351         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10352         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10353         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10354         (gst_pad_send_event), (gst_pad_start_task):
10355         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10356         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10357         (gst_queue_sink_activate), (gst_queue_src_activate),
10358         (gst_queue_change_state):
10359         * gst/gstqueue.h:
10360         Fix state changes for non sinks. We now change sinks, then elements
10361         with unconnected srcpads, then the rest.
10362         More efficient queue unlocking in flush and state changes.
10363         Set the pad activate mode even if it does not have an activate
10364         function.
10365
10366 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10367
10368         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10369           Don't go in pull mode for non-seekable sources.
10370         * gst/elements/gsttypefindelement.h:
10371         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10372         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10373         (free_entry), (stop_typefinding),
10374         (gst_type_find_element_handle_event), (find_peek),
10375         (gst_type_find_element_chain), (do_pull_typefind),
10376         (gst_type_find_element_change_state):
10377           Allow typefinding (w/o seeking) in push-mode, simplified version
10378           of what was in 0.8.
10379         * gst/gstutils.c: (gst_buffer_join):
10380         * gst/gstutils.h:
10381           gst_buffer_join() from 0.8.
10382
10383 2005-05-25  Wim Taymans  <wim@fluendo.com>
10384
10385         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10386         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10387         (gst_pad_send_event), (gst_pad_start_task):
10388         Disable attempt at mode switching until it is figured out.
10389
10390 2005-05-25  Wim Taymans  <wim@fluendo.com>
10391
10392         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10393         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10394         (gst_basesink_finish_preroll), (gst_basesink_chain),
10395         (gst_basesink_loop), (gst_basesink_activate),
10396         (gst_basesink_change_state):
10397         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10398         (gst_basesrc_get_range), (gst_basesrc_loop),
10399         (gst_basesrc_activate):
10400         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10401         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10402         (gst_real_pad_init), (gst_real_pad_set_property),
10403         (gst_real_pad_get_property), (gst_pad_set_active),
10404         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10405         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10406         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10407         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10408         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10409         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10410         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10411         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10412         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10413         (gst_pad_stop_task):
10414         * gst/gstpad.h:
10415         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10416         (gst_queue_loop), (gst_queue_src_activate):
10417         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10418         (gst_task_get_state):
10419         * gst/gsttask.h:
10420         * gst/schedulers/threadscheduler.c:
10421         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10422         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10423         in task function.
10424         Remove ACTIVE pad flag, use FLUSHING everywhere
10425         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10426         functions.
10427         Add locks around IS_FLUSHING when reading.
10428         Take STREAM lock in chain(), get_range() functions so plugins
10429         don't need to take it anymore.
10430         
10431
10432
10433 2005-05-25  Wim Taymans  <wim@fluendo.com>
10434
10435         * tools/gst-launch.c: (event_loop):
10436         Unref message after using its contents instead of
10437         before.
10438
10439 2005-05-24  Wim Taymans  <wim@fluendo.com>
10440
10441         * docs/design/draft-ghostpads.txt:
10442         * docs/design/draft-push-pull.txt:
10443         * docs/design/draft-query.txt:
10444         * docs/design/part-overview.txt:
10445         Docs updates, added general overview doc.
10446
10447 2005-05-21  David Schleef  <ds@schleef.org>
10448
10449         * docs/gst/tmpl/old/GstBin.sgml:
10450         * docs/gst/tmpl/old/GstBuffer.sgml:
10451         * docs/gst/tmpl/old/GstCaps.sgml:
10452         * docs/gst/tmpl/old/GstClock.sgml:
10453         * docs/gst/tmpl/old/GstCompat.sgml:
10454         * docs/gst/tmpl/old/GstData.sgml:
10455         * docs/gst/tmpl/old/GstElement.sgml:
10456         * docs/gst/tmpl/old/GstEvent.sgml:
10457         * docs/gst/tmpl/old/GstIndex.sgml:
10458         * docs/gst/tmpl/old/GstStructure.sgml:
10459         * docs/gst/tmpl/old/GstTag.sgml:
10460         * docs/gst/tmpl/old/cothreads.sgml:
10461         * docs/gst/tmpl/old/cothreads_compat.sgml:
10462         * docs/gst/tmpl/old/gettext.sgml:
10463         * docs/gst/tmpl/old/gobject2gtk.sgml:
10464         * docs/gst/tmpl/old/grammar.tab.sgml:
10465         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10466         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10467         * docs/gst/tmpl/old/gst_private.sgml:
10468         * docs/gst/tmpl/old/gstaggregator.sgml:
10469         * docs/gst/tmpl/old/gstarch.sgml:
10470         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10471         * docs/gst/tmpl/old/gstbufferstore.sgml:
10472         * docs/gst/tmpl/old/gstdata_private.sgml:
10473         * docs/gst/tmpl/old/gstdisksink.sgml:
10474         * docs/gst/tmpl/old/gstdisksrc.sgml:
10475         * docs/gst/tmpl/old/gstelementfactory.sgml:
10476         * docs/gst/tmpl/old/gstextratypes.sgml:
10477         * docs/gst/tmpl/old/gstfakesink.sgml:
10478         * docs/gst/tmpl/old/gstfakesrc.sgml:
10479         * docs/gst/tmpl/old/gstfdsink.sgml:
10480         * docs/gst/tmpl/old/gstfdsrc.sgml:
10481         * docs/gst/tmpl/old/gstfilesink.sgml:
10482         * docs/gst/tmpl/old/gstfilesrc.sgml:
10483         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10484         * docs/gst/tmpl/old/gstidentity.sgml:
10485         * docs/gst/tmpl/old/gstindexfactory.sgml:
10486         * docs/gst/tmpl/old/gstmarshal.sgml:
10487         * docs/gst/tmpl/old/gstmd5sink.sgml:
10488         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10489         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10490         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10491         * docs/gst/tmpl/old/gstpipefilter.sgml:
10492         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10493         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10494         * docs/gst/tmpl/old/gstshaper.sgml:
10495         * docs/gst/tmpl/old/gstspider.sgml:
10496         * docs/gst/tmpl/old/gstspideridentity.sgml:
10497         * docs/gst/tmpl/old/gststatistics.sgml:
10498         * docs/gst/tmpl/old/gsttee.sgml:
10499         * docs/gst/tmpl/old/gsttimecache.sgml:
10500         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10501         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10502         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10503         * docs/gst/tmpl/old/types.sgml:
10504           I didn't intend to add these or check them in.
10505
10506 2005-05-19  David Schleef  <ds@schleef.org>
10507
10508         * configure.ac: Use -no-common everywhere.  In a sane world, it
10509           would be the default in libtool, because without it, you can't
10510           build DLLs on Windows.
10511         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10512         * docs/gst/gstreamer-sections.txt:
10513         * docs/gst/tmpl/gstcpu.sgml:
10514         * docs/gst/tmpl/gstdata.sgml:
10515         * docs/gst/tmpl/gstthread.sgml:
10516
10517 2005-05-19  David Schleef  <ds@schleef.org>
10518
10519         * gst/gstminiobject.c: (gst_value_set_mini_object),
10520         (gst_value_take_mini_object), (gst_value_get_mini_object):
10521         * gst/gstminiobject.h: Add GValue set/get functions.
10522
10523 2005-05-19  Wim Taymans  <wim@fluendo.com>
10524
10525         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10526         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10527         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10528         * gst/gstbuffer.h:
10529         * gst/gstbus.c: (gst_bus_post):
10530         * gst/gstelement.c: (gst_element_get_random_pad):
10531         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10532         Make subbufer unref the parent in finalize.
10533         some more debugging info.
10534
10535
10536 2005-05-19  Wim Taymans  <wim@fluendo.com>
10537
10538         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10539         (gst_basesink_init), (gst_basesink_finalize),
10540         (gst_basesink_activate), (gst_basesink_change_state):
10541         Don't free preroll queue too early.
10542
10543 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10544
10545         * gst/Makefile.am:
10546         * gst/ROADMAP:
10547           Hi, I'm outdated. Please shoot me.
10548
10549 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10550
10551         * gst/gstpipeline.c: (gst_pipeline_send_event):
10552           Do not access variables after they have been deleted.
10553
10554 2005-05-19  Wim Taymans  <wim@fluendo.com>
10555
10556         * tools/gst-inspect.c: (print_plugin_features):
10557         A plugin feature does unfortunatly not use the
10558         object name yet...
10559
10560 2005-05-18  Wim Taymans  <wim@fluendo.com>
10561
10562         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10563         Port _span() functions to new subbuffers.
10564
10565 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10566
10567         * gst/gstbin.c: (gst_bin_add_func):
10568           Fix clock settery in bins when adding kids after the clock has
10569           been selected.
10570
10571 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10572
10573         * gst/elements/gstidentity.c: (gst_identity_class_init):
10574           Workaround until signals support GstMiniObject.
10575
10576 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10577
10578         * gst/gstbuffer.c:
10579         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10580
10581 2005-05-18  Wim Taymans  <wim@fluendo.com>
10582
10583         * gst/base/Makefile.am:
10584         * gst/base/gstadapter.c: (gst_adapter_base_init),
10585         (gst_adapter_class_init), (gst_adapter_init),
10586         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10587         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10588         (gst_adapter_flush), (gst_adapter_available),
10589         (gst_adapter_available_fast):
10590         * gst/base/gstadapter.h:
10591         Ported and added adapter to the base classes.
10592
10593 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10594
10595         * gst/gst.c:
10596         * gst/gstmessage.c:
10597           Make sure the class is reffed/unreffed once before threads can be
10598           used.  Fixes #304551.
10599
10600 2005-05-17  Wim Taymans  <wim@fluendo.com>
10601
10602         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10603         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10604         * gst/gstminiobject.c: (gst_mini_object_get_type),
10605         (gst_mini_object_free):
10606         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10607         (gst_pad_push), (gst_pad_push_event):
10608         * gst/gstqueue.c: (gst_queue_change_state):
10609         Don't queue buffers in basesink when we are flushing.
10610         Unref buffer when flushing in basesink.
10611         Flush queue when going to READY
10612         Unref buffer when _push() returns an error.
10613         Don't free MiniObject instance when refcount is incremented
10614         in _finalize() so that we can recover objects.
10615
10616 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10617
10618         * docs/manual/advanced-schedulers.xml:
10619         * docs/manual/appendix-checklist.xml:
10620         * docs/pwg/advanced-clock.xml:
10621         * docs/pwg/advanced-interfaces.xml:
10622         * docs/pwg/advanced-request.xml:
10623         * docs/pwg/advanced-types.xml:
10624         * docs/pwg/intro-preface.xml:
10625         * examples/plugins/example.c: (gst_example_get_type),
10626         (gst_example_class_init), (gst_example_chain),
10627         (gst_example_set_property), (gst_example_get_property),
10628         (gst_example_change_state), (plugin_init):
10629         * examples/plugins/example.h:
10630           small doc fixes
10631
10632 2005-05-17  Wim Taymans  <wim@fluendo.com>
10633
10634         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10635         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10636         * gst/gstqueue.c: (gst_queue_change_state):
10637         Clear queue when going to READY.
10638         Remove IN_SETCAPS flag too.
10639
10640 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10641
10642         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10643           Remove implicit cast from gboolean to GstElementStateReturn;
10644           make sure we still return failure in paused => ready case if
10645           the parent class fails to change state and our own stop 
10646           vfunc succeeds.
10647
10648 2005-05-17  Wim Taymans  <wim@fluendo.com>
10649
10650         * tools/gst-launch.c: (event_loop):
10651         Message was unreffed too soon.
10652
10653 2005-05-16  Andy Wingo  <wingo@pobox.com>
10654
10655         * gst/gstbin.c (sink_iterator_filter): Err... um...
10656
10657         * check/gst/gstbin.c (test_ghost_pads): New test for the
10658         ghosting-if-elements-not-in-same-bin behavior.
10659
10660 2005-05-16  David Schleef  <ds@schleef.org>
10661
10662         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10663         accessing refcount directly.
10664
10665 2005-05-15  David Schleef  <ds@schleef.org>
10666
10667         * check/Makefile.am: remove GstData checks
10668         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10669         * gst/Makefile.am: add miniobject, remove data
10670         * gst/gst.h: add miniobject, remove data
10671         * gst/gstdata.c: remove
10672         * gst/gstdata.h: remove
10673         * gst/gstdata_private.h: remove
10674         * gst/gsttypes.h: remove GstEvent and GstMessage
10675         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10676         * gst/gstmarshal.list: change BOXED -> OBJECT
10677
10678         Implement GstMiniObject.
10679         * gst/gstminiobject.c:
10680         * gst/gstminiobject.h:
10681
10682         Modify to be subclasses of GstMiniObject.
10683         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10684         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10685         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10686         (gst_subbuffer_get_type), (gst_subbuffer_init),
10687         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10688         (gst_buffer_span):
10689         * gst/gstbuffer.h:
10690         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10691         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10692         (_gst_event_copy), (gst_event_new):
10693         * gst/gstevent.h:
10694         * gst/gstmessage.c: (_gst_message_initialize),
10695         (gst_message_get_type), (gst_message_class_init),
10696         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10697         (gst_message_new), (gst_message_new_error),
10698         (gst_message_new_warning), (gst_message_new_tag),
10699         (gst_message_new_state_changed), (gst_message_new_application):
10700         * gst/gstmessage.h:
10701         * gst/gstprobe.c: (gst_probe_perform),
10702         (gst_probe_dispatcher_dispatch):
10703         * gst/gstprobe.h:
10704         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10705         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10706         (_gst_query_copy), (gst_query_new):
10707
10708         Update elements for GstData -> GstMiniObject changes
10709         * gst/gstquery.h:
10710         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10711         (gst_queue_chain), (gst_queue_loop):
10712         * gst/elements/gstbufferstore.c:
10713         (gst_buffer_store_add_buffer_func),
10714         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10715         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10716         (gst_fakesink_render):
10717         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10718         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10719         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10720         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10721         (gst_filesrc_create_read):
10722         * gst/elements/gstidentity.c: (gst_identity_class_init):
10723         * gst/elements/gsttypefindelement.c:
10724         (gst_type_find_element_src_event), (free_entry_buffers),
10725         (gst_type_find_element_handle_event):
10726         * libs/gst/dataprotocol/dataprotocol.c:
10727         (gst_dp_header_from_buffer):
10728         * libs/gst/dataprotocol/dataprotocol.h:
10729         * libs/gst/dataprotocol/dp-private.h:
10730
10731 2005-05-15  David Schleef  <ds@schleef.org>
10732
10733         * gst/elements/gstelements.c: Don't include headers that were
10734         just removed.
10735
10736 2005-05-15  David Schleef  <ds@schleef.org>
10737
10738         * gst/elements/Makefile.am: Remove some elements that don't
10739         need to be in the core (or even exist at all).
10740         * gst/elements/gstaggregator.c:
10741         * gst/elements/gstaggregator.h:
10742         * gst/elements/gstmd5sink.c:
10743         * gst/elements/gstmd5sink.h:
10744         * gst/elements/gstmultifilesrc.c:
10745         * gst/elements/gstmultifilesrc.h:
10746         * gst/elements/gstpipefilter.c:
10747         * gst/elements/gstpipefilter.h:
10748         * gst/elements/gstshaper.c:
10749         * gst/elements/gstshaper.h:
10750         * gst/elements/gststatistics.c:
10751         * gst/elements/gststatistics.h:
10752         * po/POTFILES.in: Remove above files.
10753
10754 2005-05-14  Andy Wingo  <wingo@pobox.com>
10755
10756         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10757         so as to get the refs right.
10758         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10759         unreffing objects that don't pass the filter.
10760
10761         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10762         gst_element_set_bus.
10763         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10764         normal cases, this will destroy the bus.
10765
10766         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10767         object.
10768
10769         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10770         has no sinks.
10771
10772 2005-05-13  Andy Wingo  <wingo@pobox.com>
10773
10774         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10775         gst_pad_link, call pad_link_maybe_ghosting,
10776         (pad_link_maybe_ghosting): Links pads, making sure that the
10777         elements being linked are in the same bin.
10778         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10779         Helpers for pad_link_maybe_ghosting.
10780
10781 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10782
10783         * configure.ac:
10784           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10785
10786 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10787
10788         * docs/design/part-element-source.txt:
10789           Mention GstPushSrc
10790
10791 2005-05-12  Wim Taymans  <wim@fluendo.com>
10792
10793         * gst/base/gstbasesink.c: (gst_basesink_init),
10794         (gst_basesink_activate):
10795         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10796         (gst_basesrc_is_seekable):
10797         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10798         (bin_element_is_sink), (gst_bin_change_state):
10799         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10800         * gst/gstelement.h:
10801         Identify sinks by their flag to avoid overly complicated
10802         checks (fow now).
10803         Do state changes even for elements not reachable from the
10804         sinks.
10805         BaseSink is a sink now :)
10806         Some more debugging info in the basesrc.
10807
10808
10809 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10810
10811         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10812           Implement _query on a bin, similar to _send_event.
10813
10814 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10815
10816         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10817           Discont event offset format should be GST_FORMAT_BYTES,
10818           not GST_FORMAT_TIME.
10819
10820 2005-05-12  Wim Taymans  <wim@fluendo.com>
10821
10822         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10823         Same fix as Ronald's but without the signal. 
10824
10825 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10826
10827         * gst/gstutils.c: (gst_element_query_position):
10828           No, an element is not a pad.
10829
10830 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10831
10832         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10833         (gst_bin_get_state):
10834           If a child is removed from a bin while we remove the child from
10835           the bin and while we're retrieving its state, signal this to the
10836           get_state function so we abort the wait (instead of waiting for
10837           a timeout) and can immediately re-iterate over all other elements.
10838
10839 2005-05-12  Wim Taymans  <wim@fluendo.com>
10840
10841         * gst/base/Makefile.am:
10842         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10843         (gst_basesrc_start):
10844         * gst/base/gstbasesrc.h:
10845         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10846         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10847         (gst_pushsrc_init), (gst_pushsrc_create):
10848         * gst/base/gstpushsrc.h:
10849         Added is_seekable to BaseSrc
10850         Added simple PushSrc.
10851
10852 2005-05-11  Wim Taymans  <wim@fluendo.com>
10853
10854         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10855         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10856         (gst_element_link_pads), (gst_element_query_position),
10857         (gst_element_query_convert), (intersect_caps_func),
10858         (gst_pad_query_position), (gst_pad_query_convert):
10859         Fix refcounting in utils function.
10860         No point in trying to activate a pad when it's added, it could
10861         be added from the state change function and then we deadlock, the
10862         element has to decide what to do.
10863
10864 2005-05-10  Andy Wingo  <wingo@pobox.com>
10865
10866         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10867         *all* the arguments.
10868
10869         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10870         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10871         lock (according to the docs -- if this is wrong change the docs).
10872
10873         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10874         flush messages in the NULL state.
10875
10876         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10877         message immediately and return.
10878         (gst_bus_set_flushing): New function. If a bus is flushing, it
10879         flushes out any queued messages and immediately unrefs new
10880         messages. This is so when an element goes to NULL, all of the
10881         unhandled messages coming from it can be freed, and their
10882         references to the element dropped. In other words: message source
10883         ref considered harmful :P
10884
10885         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10886         we're finished with it.
10887
10888         * gst/gstmessage.c (gst_message_new_state_changed): 
10889
10890 2005-05-10  Wim Taymans  <wim@fluendo.com>
10891
10892         * gst/gstvalue.c: (gst_value_compare_flags),
10893         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10894         (_gst_value_initialize):
10895         Added flags serialize/deserialize/compare code.
10896
10897 2005-05-09  Andy Wingo  <wingo@pobox.com>
10898
10899         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10900         Intersect the peer's caps with our caps.
10901
10902 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10903
10904         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10905         * gst/elements/gsttypefindelement.c: (find_peek):
10906           Handle negative offsets better. Fixes decodebin.
10907
10908 2005-05-09  Wim Taymans  <wim@fluendo.com>
10909
10910         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10911         (gst_base_transform_event):
10912         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10913         Implement accept_caps.
10914         Fix silly lock/unlock mismatch in base class.
10915
10916 2005-05-09  Wim Taymans  <wim@fluendo.com>
10917
10918         * docs/design/draft-push-pull.txt:
10919         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10920         * gst/elements/gstfilesink.c: (gst_filesink_init),
10921         (gst_filesink_query):
10922         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10923         (gst_type_find_handle_src_query), (find_element_get_length):
10924         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10925         * gst/gstelement.h:
10926         * gst/gstmessage.c:
10927         * gst/gstmessage.h:
10928         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10929         (gst_real_pad_get_caps_unlocked),
10930         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10931         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10932         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10933         (gst_real_pad_dispose), (gst_real_pad_finalize),
10934         (gst_pad_load_and_link), (gst_pad_save_thyself),
10935         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10936         (gst_pad_check_pull_range), (gst_pad_pull_range),
10937         (gst_pad_template_get_type), (gst_pad_template_class_init),
10938         (gst_pad_template_init), (gst_pad_template_dispose),
10939         (name_is_valid), (gst_static_pad_template_get),
10940         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10941         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10942         (gst_pad_get_element_private), (gst_pad_start_task),
10943         (gst_pad_pause_task), (gst_pad_stop_task),
10944         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10945         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10946         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10947         (gst_ghost_pad_new):
10948         * gst/gstpad.h:
10949         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10950         (gst_query_new_position), (gst_query_set_position),
10951         (gst_query_parse_position), (gst_query_new_convert),
10952         (gst_query_set_convert), (gst_query_parse_convert):
10953         * gst/gstquery.h:
10954         * gst/gstqueryutils.c:
10955         * gst/gstqueryutils.h:
10956         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10957         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10958         (gst_queue_handle_src_query):
10959         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10960         (gst_element_query_position), (gst_element_query_convert),
10961         (intersect_caps_func), (gst_pad_query_position),
10962         (gst_pad_query_convert):
10963         * gst/gstutils.h:
10964         * tools/gst-inspect.c: (print_pad_info):
10965         * tools/gst-xmlinspect.c: (print_element_info):
10966         Remove old query functions. Ported old code.
10967         Added position/convert helper functions to gstutils.
10968         Reordered gstpad.c code, grouping relevant things.
10969         Remove gst_message_new(), always need to speficy a specific
10970         message.
10971
10972
10973 2005-05-09  Andy Wingo  <wingo@pobox.com>
10974
10975         * gst/gstiterator.h: Add some includes.
10976
10977         * gst/gstqueryutils.h: Include more headers.
10978
10979         * gst/gstpad.h:
10980         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10981         some uses of gst_pad_query.
10982
10983         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10984         NULL out parameters.
10985         (gst_query_new_position): New proc, allocates a new position
10986         query.
10987
10988         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10989         gstqueryutils.c to the build.
10990
10991         * gst/gststructure.c (gst_structure_set_valist): Implement with
10992         the generic G_VALUE_COLLECT.
10993         
10994 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10995
10996         * gst/Makefile.am: (gst_headers):
10997         Added gstqueryutils.h to the list of headers to install, that was
10998         a 'nachty' move wingo :)
10999
11000 2005-05-06  Andy Wingo  <wingo@pobox.com>
11001
11002         * gst/gstquery.h
11003         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11004         GstData, init a memchunk.
11005         (standard_definitions): Add a few query types, deprecate a few.
11006         (gst_query_get_type): New proc.
11007         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11008         implementation.
11009         (gst_query_new_application, gst_query_get_structure): New public
11010         procs.
11011
11012         * docs/design/draft-query.txt: Removed LINKS from the query types,
11013         because all the rest can be dispatched to other pads -- seemed
11014         ugly to have a query that couldn't be dispatched. internal_links
11015         is fine as a pad method.
11016
11017         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11018         in gstpad.c, but maintain binary compatibility for the moment.
11019         Will fix before 0.9 is out.
11020
11021         * gst/gstqueryutils.c: 
11022         * gst/gstqueryutils.h: New files, implement 3 methods for each
11023         query type: parse_query, parse_response, and set. Probably need an
11024         allocator as well.
11025
11026         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11027
11028         * gst/elements/gstfilesink.c (gst_filesink_query2):
11029         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11030         query_types, and formats methods.
11031
11032         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11033         (gst_pad_set_query2_function): New functions.
11034         (gst_real_pad_init): Set query2_default as the default query2
11035         function. Basically just dispatches to internally linked pads.
11036
11037         Needs review!
11038         
11039         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11040         without using the atomic operations. Only one thread can possibly
11041         be accessing the data at this point. Changed so as to avoid
11042         gst_atomic operations.
11043
11044 2005-05-06  Wim Taymans  <wim@fluendo.com>
11045
11046         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11047         Also set caps if we use the fallback buffer alloc.
11048
11049 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11050
11051         * docs/gst/Makefile.am:
11052         * docs/gst/gstreamer-docs.sgml:
11053         * docs/gst/gstreamer-sections.txt:
11054         * docs/gst/tmpl/gstatomic.sgml:
11055         * docs/gst/tmpl/gstmemchunk.sgml:
11056         * testsuite/elements/struct_i386.h:
11057         * win32/GStreamer.vcproj:
11058         * win32/Makefile:
11059           Purge GstAtomic stuff from docs and win32 makefiles as well
11060
11061 2005-05-06  Wim Taymans  <wim@fluendo.com>
11062
11063         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11064         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11065         * gst/gstpad.c: (gst_pad_peer_get_caps):
11066         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11067         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11068         (gst_queue_src_activate), (gst_queue_change_state):
11069         * gst/gstqueue.h:
11070         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11071         (intersect_caps_func):
11072         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11073         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11074         Some fixes for the peer_get_caps() change.
11075
11076 2005-05-06  Wim Taymans  <wim@fluendo.com>
11077
11078         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11079         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11080         (gst_basesink_activate):
11081         Actually do something with error codes returned from the push
11082         functions.
11083
11084 2005-05-06  Wim Taymans  <wim@fluendo.com>
11085
11086         * docs/design/part-element-sink.txt:
11087         * docs/design/part-element-source.txt:
11088         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11089         (gst_basesink_event), (gst_basesink_activate):
11090         * gst/base/gstbasesink.h:
11091         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11092         (gst_basesrc_activate):
11093         * gst/base/gstbasesrc.h:
11094         * gst/gstelement.c: (gst_element_pads_activate):
11095         Some more documentation.
11096         Fixed scheduling decision in _pads_activate().
11097
11098 2005-05-05  Andy Wingo  <wingo@pobox.com>
11099
11100         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11101         the test suite.
11102
11103 2005-05-05  Wim Taymans  <wim@fluendo.com>
11104
11105         * gst/base/Makefile.am:
11106         * gst/base/gstbasesink.h:
11107         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11108         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11109         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11110         (gst_collectpads_class_init), (gst_collectpads_init),
11111         (gst_collectpads_finalize), (gst_collectpads_new),
11112         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11113         (find_pad), (gst_collectpads_remove_pad),
11114         (gst_collectpads_is_active), (gst_collectpads_collect),
11115         (gst_collectpads_collect_range), (gst_collectpads_start),
11116         (gst_collectpads_stop), (gst_collectpads_peek),
11117         (gst_collectpads_pop), (gst_collectpads_available),
11118         (gst_collectpads_read), (gst_collectpads_flush),
11119         (gst_collectpads_chain):
11120         * gst/base/gstcollectpads.h:
11121         * gst/elements/Makefile.am:
11122         * gst/elements/gstelements.c:
11123         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11124         (gst_fakesink_get_times), (gst_fakesink_event),
11125         (gst_fakesink_preroll), (gst_fakesink_render):
11126         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11127         (gst_filesink_init), (gst_filesink_set_location),
11128         (gst_filesink_open_file), (gst_filesink_close_file),
11129         (gst_filesink_pad_query), (gst_filesink_event),
11130         (gst_filesink_render), (gst_filesink_change_state):
11131         * gst/elements/gstfilesink.h:
11132         Added object to help in making collect pad based elements.
11133         Ported filesink.
11134         Make event function in sink baseclass return gboolean.
11135
11136 2005-05-05  Wim Taymans  <wim@fluendo.com>
11137
11138         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11139         (gst_bin_get_by_name):
11140         * gst/gstbuffer.h:
11141         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11142         (gst_clock_finalize):
11143         * gst/gstdata.c: (gst_data_replace):
11144         * gst/gstdata.h:
11145         * gst/gstelement.c: (gst_element_request_pad),
11146         (gst_element_pads_activate):
11147         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11148         (gst_object_unref):
11149         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11150         (gst_pad_set_checkgetrange_function),
11151         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11152         (gst_pad_check_pull_range), (gst_pad_pull_range),
11153         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11154         (gst_pad_pause_task), (gst_pad_stop_task):
11155         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11156         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11157         Fix name lookup in GstBin.
11158         Added _data_replace() function and _buffer_replace()
11159         Use finalize method to clean up clock.
11160         Fix refcounting on request pads.
11161         Fix pad schedule mode error.
11162         Some more object refcounting debug info,
11163
11164
11165 2005-05-04  Andy Wingo <wingo@pobox.com>
11166
11167         * check/Makefile.am:
11168         * docs/gst/tmpl/gstatomic.sgml:
11169         * docs/gst/tmpl/gstplugin.sgml:
11170         * gst/base/gstbasesink.c: (gst_basesink_activate):
11171         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11172         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11173         (gst_basesrc_query), (gst_basesrc_set_property),
11174         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11175         (gst_basesrc_activate):
11176         * gst/base/gstbasesrc.h:
11177         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11178         (gst_base_transform_src_activate):
11179         * gst/elements/gstelements.c:
11180         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11181         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11182         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11183         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11184         (gst_type_find_element_checkgetrange),
11185         (gst_type_find_element_activate):
11186         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11187         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11188         (gst_caps_load_thyself):
11189         * gst/gstelement.c: (gst_element_pads_activate),
11190         (gst_element_save_thyself), (gst_element_restore_thyself):
11191         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11192         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11193         * gst/gstpad.h:
11194         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11195         (gst_xml_parse_file), (gst_xml_parse_memory),
11196         (gst_xml_get_element), (gst_xml_make_element):
11197         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11198         (_file_index_id_save_xml), (gst_file_index_commit):
11199         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11200         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11201         (load_paths):
11202         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11203         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11204         * tools/gst-complete.c: (main):
11205         * tools/gst-compprep.c: (main):
11206         * tools/gst-inspect.c: (print_element_properties_info):
11207         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11208         * tools/gst-xmlinspect.c: (print_element_properties):
11209         GCC 4 fixen.
11210         
11211 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11212
11213         * gst/gstplugin.c: (gst_plugin_check_module),
11214         (gst_plugin_check_file), (gst_plugin_load_file):
11215             apply patch from #172526 to make register work on MacOSX
11216
11217 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11218
11219         * docs/gst/tmpl/gstconfig.sgml:
11220         * gst/gstconfig.h.in:
11221           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11222         * testsuite/debug/printf_extension.c: (main):
11223           Do not use GST_PTR_FORMAT on pointers to types with
11224           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11225         * testsuite/elements/property.h:
11226           use correct printf format
11227
11228 2005-05-02  Wim Taymans  <wim@fluendo.com>
11229
11230         * docs/design/draft-push-pull.txt:
11231         * docs/design/draft-query.txt:
11232         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11233         (gst_basesrc_start):
11234         Added draft for new query API.
11235         Added draft for better selecting scheduling methods.
11236         Make basesrc ignore length if the subclass does not support
11237         it.
11238
11239 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11240
11241         * gst/Makefile.am:
11242           possible fixes for automake-1.5 - _LIBADD is reserved
11243
11244 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11245
11246         * docs/faq/Makefile.am:
11247         * docs/manual/Makefile.am:
11248         * docs/manuals.mak:
11249         * docs/pwg/Makefile.am:
11250         * gst/Makefile.am:
11251           possible fixes for automake-1.5
11252
11253 2005-04-28  Wim Taymans  <wim@fluendo.com>
11254
11255         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11256         (gst_basesink_pad_getcaps), (gst_basesink_init),
11257         (gst_basesink_do_sync):
11258         * gst/gstclock.c: (gst_clock_entry_new):
11259         * gst/gstevent.c: (gst_event_discont_get_value):
11260         * gst/gstpipeline.c: (pipeline_bus_handler),
11261         (gst_pipeline_change_state):
11262         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11263         Better debugging of clocking info.
11264         Allow NULL values when getting discont values.
11265
11266 2005-04-27  Wim Taymans  <wim@fluendo.com>
11267
11268         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11269         * check/gst/gstpad.c: (gst_pad_suite):
11270         Increase timeout for checks.
11271
11272 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11273
11274         * check/Makefile.am:
11275           fix the broken rule for cleanup.  Apparently this rule is
11276           only needed on FC2, so maybe this warrants further autotool
11277           inspection.
11278
11279 2005-04-26  Wim Taymans  <wim@fluendo.com>
11280
11281         * gst/gsttrashstack.h:
11282         Ooohh. a nasty one! After having a failed pop() from the stack,
11283         it's possible that the stack is empty. In that case, don't
11284         follow the NULL pointer.
11285
11286 2005-04-25  Wim Taymans  <wim@fluendo.com>
11287
11288         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11289         (gst_pad_set_checkgetrange_function),
11290         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11291         (gst_pad_check_pull_range), (gst_pad_pull_range),
11292         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11293         (gst_pad_pause_task), (gst_pad_stop_task):
11294         * gst/gstplugin.c: (gst_plugin_load):
11295         * gst/gstplugin.h:
11296         Remove gst_library_load as it does more harm than good with
11297         the new g_module flags.
11298         Revert bogus caps template check in pad linking, pad caps
11299         are important when linking not the template, which is more
11300         general than the current caps.
11301
11302 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11303
11304         * gst/autoplug/.cvsignore:
11305         * gst/autoplug/Makefile.am:
11306         * gst/autoplug/gstsearchfuncs.c:
11307         * gst/autoplug/gstsearchfuncs.h:
11308         * gst/autoplug/gstspider.c:
11309         * gst/autoplug/gstspider.h:
11310         * gst/autoplug/gstspideridentity.c:
11311         * gst/autoplug/gstspideridentity.h:
11312         * gst/autoplug/spidertest.c:
11313           Die, spider, die.
11314
11315 2005-04-25  Wim Taymans  <wim@fluendo.com>
11316
11317         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11318         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11319         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11320         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11321         * gst/gstpad.h:
11322         Added stubs for unimplemented functions. 
11323
11324 2005-04-24  David Schleef  <ds@schleef.org>
11325
11326         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11327         please fix.
11328
11329 2005-04-24  David Schleef  <ds@schleef.org>
11330
11331         Convert everything from GstAtomicInt to g_atomic_int_*, and
11332         remove gstatomic.
11333         * gst/Makefile.am:
11334         * gst/gstatomic.c:
11335         * gst/gstatomic.h:
11336         * gst/gstatomic_impl.h:
11337         * gst/gstbuffer.c:
11338         * gst/gstcaps.c:
11339         * gst/gstcaps.h:
11340         * gst/gstclock.c:
11341         * gst/gstclock.h:
11342         * gst/gstdata.c:
11343         * gst/gstdata.h:
11344         * gst/gstdata_private.h:
11345         * gst/gstevent.c:
11346         * gst/gstinfo.c:
11347         * gst/gstinfo.h:
11348         * gst/gstmessage.c:
11349         * gst/gstobject.c:
11350         * gst/gstobject.h:
11351         * gst/gststructure.c:
11352         * gst/gststructure.h:
11353         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11354         * gst/gstutils.h:
11355
11356 2005-04-24  David Schleef  <ds@schleef.org>
11357
11358         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11359         make the regressions tests work.  Remove some code that is no
11360         longer true.
11361         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11362         Disable warning for pads without templates.
11363
11364 2005-04-24  David Schleef  <ds@schleef.org>
11365
11366         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11367         functions that handle filtered links.
11368         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11369         removed functions.
11370         * gst/gstutils.c: Fix/remove utility functions that handle
11371         filtered caps.
11372         * gst/gstutils.h:
11373         * gst/gstvalue.c: Add serialization/deserialization of caps
11374         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11375         requires fixing so that the filter caps notation creates
11376         a capsfilter element and sets the filter_caps property.  I
11377         think everyone probably wants to keep the shorthand notation.
11378         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11379         * docs/gst/tmpl/gstpad.sgml:
11380
11381         * gst/elements/gstelements.c: Register capsfilter element.
11382         * gst/Makefile.am: fix spacing
11383         * docs/random/ds/0.9-suggested-changes: random
11384
11385 2005-04-23  David Schleef  <ds@schleef.org>
11386
11387         * gst/elements/Makefile.am:
11388         * gst/elements/gstcapsfilter.c: New element that acts like an
11389         identity, but filters caps.  Will eventually replace filtered
11390         caps in pad linking.
11391         * gst/gstutils.c: (gst_element_create_all_pads): New function
11392         to create all the ALWAYS pads that are registered with an
11393         element class.  This functionality should eventually be
11394         merged in with GstElement initialization.
11395         * gst/gstutils.h:
11396         * testsuite/trigger/README: part of trigger test code that should
11397         have been checked in a long time ago.
11398
11399 2005-04-23  David Schleef  <ds@schleef.org>
11400
11401         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11402         needed with new versions of libtool (nobody will confirm this),
11403         and hard to carry around.
11404         * gst/autoplug/Makefile.am:
11405         * gst/base/Makefile.am:
11406         * gst/elements/Makefile.am:
11407         * gst/indexers/Makefile.am:
11408         * gst/schedulers/Makefile.am:
11409         * libs/gst/bytestream/Makefile.am:
11410         * libs/gst/control/Makefile.am:
11411         * libs/gst/dataprotocol/Makefile.am:
11412         * libs/gst/getbits/Makefile.am:
11413
11414 2005-04-21  Wim Taymans  <wim@fluendo.com>
11415
11416         * docs/design/draft-push-pull.txt:
11417         * docs/design/part-MT-refcounting.txt:
11418         * docs/design/part-TODO.txt:
11419         * docs/design/part-caps.txt:
11420         * docs/design/part-events.txt:
11421         * docs/design/part-gstbus.txt:
11422         * docs/design/part-gstpipeline.txt:
11423         * docs/design/part-messages.txt:
11424         * docs/design/part-push-pull.txt:
11425         * docs/design/part-query.txt:
11426         Some more docs.
11427
11428 2005-04-21  Wim Taymans  <wim@fluendo.com>
11429
11430         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11431         (gst_message_new), (gst_message_new_error),
11432         (gst_message_new_warning), (gst_message_new_tag),
11433         (gst_message_new_state_changed), (gst_message_new_application),
11434         (gst_message_get_structure):
11435         * gst/gstmessage.h:
11436         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11437         (gst_structure_copy_conditional):
11438         Use parent refcount in GstMessage to ensure GstStructure
11439         consistency.
11440         Cleaned up headers a bit.
11441         
11442
11443 2005-04-20  Wim Taymans  <wim@fluendo.com>
11444
11445         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11446         (gst_basesink_pad_getcaps), (gst_basesink_init),
11447         (gst_basesink_chain_unlocked):
11448         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11449         (gst_type_find_helper):
11450         * gst/elements/gsttypefindelement.c:
11451         (gst_type_find_element_have_type), (gst_type_find_element_init),
11452         (stop_typefinding), (gst_type_find_element_handle_event),
11453         (find_suggest), (gst_type_find_element_chain),
11454         (gst_type_find_element_checkgetrange),
11455         (gst_type_find_element_getrange), (do_typefind),
11456         (gst_type_find_element_activate):
11457         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11458         (gst_buffer_default_free), (gst_buffer_default_copy),
11459         (gst_buffer_set_caps):
11460         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11461         (gst_caps_replace):
11462         * gst/gstmessage.c: (gst_message_new),
11463         (gst_message_new_state_changed):
11464         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11465         (gst_pad_set_checkgetrange_function),
11466         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11467         (gst_pad_set_caps), (gst_pad_check_pull_range),
11468         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11469         * gst/gstpad.h:
11470         * gst/gsttypefind.c: (gst_type_find_register):
11471         Make gst_caps_replace() work like other _replace() functions.
11472         Use _caps_replace() where possible.
11473         Make sure _message_new() initialises its field.
11474         Add gst_static_pad_template_get_caps()
11475
11476
11477 2005-04-18  Andy Wingo  <wingo@pobox.com>
11478
11479         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11480         on the peer, not the pad. I think that was a typo. Pass an extra
11481         arg to see if random access is possible. Activate the pads as
11482         PULL_RANGE if possible.
11483
11484         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11485
11486         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11487         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11488         to PROP_....
11489
11490 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11491
11492         * docs/faq/using.xml:
11493           Add note on gstreamer-properties (#154996).
11494
11495 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11496
11497         * docs/random/bbb/optional-properties:
11498           Some analysis on optional properties.
11499
11500 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11501
11502         * docs/gst/tmpl/gstelementfactory.sgml:
11503         * gst/gstelement.h:
11504         * gst/gstelementfactory.c: (gst_element_factory_init),
11505         (gst_element_factory_cleanup), (gst_element_register),
11506         (__gst_element_factory_add_static_pad_template),
11507         (gst_element_factory_get_static_pad_templates),
11508         (gst_element_factory_can_src_caps),
11509         (gst_element_factory_can_sink_caps):
11510         * gst/registries/Makefile.am:
11511         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11512         (gst_xml_registry_class_init), (gst_xml_registry_init),
11513         (gst_xml_registry_new), (gst_xml_registry_set_property),
11514         (gst_xml_registry_get_property), (get_time), (make_dir),
11515         (gst_xml_registry_get_perms_func),
11516         (plugin_times_older_than_recurse), (plugin_times_older_than),
11517         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11518         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11519         (add_to_char_array), (read_string), (read_uint), (read_enum),
11520         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11521         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11522         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11523         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11524         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11525         (gst_xml_registry_rebuild):
11526         * gst/registries/gstlibxmlregistry.h:
11527         * tools/gst-compprep.c: (main):
11528         * tools/gst-inspect.c: (print_pad_templates_info):
11529         * tools/gst-xmlinspect.c: (print_element_info):
11530           Use libxml2 for registry parsing, use staticpadtemplates in
11531           elementfactories. Makes gst_init() +/- 10x faster.
11532
11533 2005-04-12  Wim Taymans  <wim@fluendo.com>
11534
11535         * gst/base/Makefile.am:
11536         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11537         (gst_basesink_pad_getcaps), (gst_basesink_init),
11538         (gst_basesink_event), (gst_basesink_change_state):
11539         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11540         (gst_basesrc_init), (gst_basesrc_query),
11541         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11542         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11543         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11544         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11545         (gst_basesrc_stop), (gst_basesrc_activate),
11546         (gst_basesrc_change_state):
11547         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11548         (helper_find_suggest), (gst_type_find_helper):
11549         * gst/base/gsttypefindhelper.h:
11550         * gst/elements/Makefile.am:
11551         * gst/elements/gstelements.c:
11552         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11553         (gst_fakesink_get_times), (gst_fakesink_event),
11554         (gst_fakesink_preroll), (gst_fakesink_render):
11555         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11556         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11557         (gst_fakesrc_get_property), (gst_fakesrc_create),
11558         (gst_fakesrc_start), (gst_fakesrc_stop):
11559         * gst/elements/gstfakesrc.h:
11560         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11561         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11562         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11563         (gst_filesrc_create_read), (gst_filesrc_create),
11564         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11565         (gst_filesrc_start):
11566         * gst/elements/gsttypefindelement.c:
11567         (gst_type_find_element_have_type), (gst_type_find_element_init),
11568         (start_typefinding), (stop_typefinding), (push_buffer_store),
11569         (gst_type_find_element_handle_event),
11570         (gst_type_find_element_chain),
11571         (gst_type_find_element_checkgetrange),
11572         (gst_type_find_element_getrange), (do_typefind),
11573         (gst_type_find_element_activate),
11574         (gst_type_find_element_change_state):
11575         * gst/elements/gsttypefindelement.h:
11576         * gst/gstpipeline.c: (pipeline_bus_handler):
11577         Added typefind helper.
11578         Small preroll fix in the base sink.
11579         Disable typefind code in basesrc.
11580         Crude port of typefindelement.
11581         Fakesrc cleanups.
11582
11583
11584 2005-04-11  Wim Taymans  <wim@fluendo.com>
11585
11586         * check/gst/gstbus.c: (gstbus_suite):
11587         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11588         * check/gstcheck.h:
11589           Fix up the timeout so that the test does not fail.
11590
11591 2005-04-06  Wim Taymans  <wim@fluendo.com>
11592
11593         * gst/base/README:
11594         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11595         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11596         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11597         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11598         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11599         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11600         (gst_basesrc_stop), (gst_basesrc_activate),
11601         (gst_basesrc_change_state), (basesrc_find_peek),
11602         (basesrc_find_suggest), (gst_basesrc_type_find):
11603         * gst/base/gstbasesrc.h:
11604         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11605         (gst_filesrc_class_init), (gst_filesrc_init),
11606         (gst_filesrc_finalize), (gst_filesrc_set_location),
11607         (gst_filesrc_set_property), (gst_filesrc_get_property),
11608         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11609         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11610         (gst_filesrc_create_read), (gst_filesrc_create),
11611         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11612         * gst/elements/gstfilesrc.h:
11613         * gst/gstelement.c: (gst_element_get_state_func),
11614         (gst_element_lost_state), (gst_element_pads_activate):
11615         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11616         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11617         (gst_pad_pull_range):
11618         * gst/gstpad.h:
11619         More work on the generic source base class, implement seeking,
11620         query.
11621         Make filesrc extend the base source class.
11622         Added gst_pad_set_checkgetrange_function to GstPad.
11623
11624 2005-04-06  Andy Wingo  <wingo@pobox.com>
11625
11626         * pkgconfig/gstreamer-base.pc.in:
11627         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11628
11629         * pkgconfig/Makefile.am:
11630         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11631
11632 2005-04-04  Wim Taymans  <wim@fluendo.com>
11633
11634         * gst/base/Makefile.am:
11635         * gst/base/README:
11636         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11637         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11638         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11639         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11640         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11641         (gst_basesrc_base_init), (gst_basesrc_class_init),
11642         (gst_basesrc_init), (gst_basesrc_get_formats),
11643         (gst_basesrc_get_query_types), (gst_basesrc_query),
11644         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11645         (gst_basesrc_set_property), (gst_basesrc_get_property),
11646         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11647         (gst_basesrc_loop), (gst_basesrc_activate),
11648         (gst_basesrc_change_state):
11649         * gst/base/gstbasesrc.h:
11650         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11651         (gst_fakesrc_class_init), (gst_fakesrc_init),
11652         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11653         (gst_fakesrc_get_property), (gst_fakesrc_create):
11654         * gst/elements/gstfakesrc.h:
11655         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11656         (gst_filesrc_open_file), (gst_filesrc_loop),
11657         (gst_filesrc_activate), (filesrc_find_peek),
11658         (gst_filesrc_type_find):
11659         Made base source class, make fakesrc extend it.
11660         Add comments to basesink class.
11661         Some filesrc cleanup.
11662
11663 2005-03-31  David Schleef  <ds@schleef.org>
11664
11665         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11666         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11667         expected to link against libgstreamer.
11668         * gst/base/Makefile.am: link against libgstreamer
11669         * gst/elements/Makefile.am: same
11670
11671 2005-03-31  Andy Wingo  <wingo@pobox.com>
11672
11673         * tests/instantiate/Makefile.am:
11674         * tests/instantiate/caps.c: Add test to test speed of caps copy
11675         and free.
11676
11677         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11678         GMemChunk to be fair.
11679
11680         * gst/gsttrashstack.h: Remove warning about using the fallback
11681         trash stack implementation, it's still faster than malloc.
11682
11683 2005-03-30  Andy Wingo  <wingo@pobox.com>
11684
11685         * tests/complexity.c: Add a copyright.
11686
11687 2005-03-31  Wim Taymans  <wim@fluendo.com>
11688
11689         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11690         (gst_base_transform_class_init), (gst_base_transform_init),
11691         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11692         (gst_base_transform_get_property),
11693         (gst_base_transform_sink_activate),
11694         (gst_base_transform_src_activate),
11695         (gst_base_transform_change_state):
11696         * gst/base/gstbasetransform.h:
11697         * gst/elements/gstidentity.c: (gst_identity_class_init),
11698         (gst_identity_event), (gst_identity_check_perfect),
11699         (gst_identity_transform), (gst_identity_start),
11700         (gst_identity_stop):
11701         Added start/stop methods to transform base class so subclasses 
11702         don't need to deal with state changes even.
11703
11704 2005-03-31  Wim Taymans  <wim@fluendo.com>
11705
11706         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11707         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11708         * gst/gstevent.h:
11709         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11710         (gst_pad_pull_range):
11711         Added rate to the discont event to prepare for variable speed
11712         and reverse playback.
11713
11714 2005-03-29  David Schleef  <ds@schleef.org>
11715
11716         * configure.ac:
11717         * testsuite/trigger/Makefile.am:
11718         * testsuite/trigger/trigger.c: A little example program to show
11719         how trigger-based elements can work.
11720
11721 2005-03-29  Wim Taymans  <wim@fluendo.com>
11722
11723         * gst/base/Makefile.am:
11724         * gst/base/README:
11725         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11726         (gst_basesink_base_init), (gst_basesink_class_init),
11727         (gst_basesink_pad_getcaps), (gst_basesink_init),
11728         (gst_basesink_activate), (gst_basesink_change_state):
11729         * gst/base/gstbasesink.h:
11730         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11731         (gst_base_transform_base_init), (gst_base_transform_finalize),
11732         (gst_base_transform_class_init), (gst_base_transform_init),
11733         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11734         (gst_base_transform_event), (gst_base_transform_getrange),
11735         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11736         (gst_base_transform_set_property),
11737         (gst_base_transform_get_property),
11738         (gst_base_transform_sink_activate),
11739         (gst_base_transform_src_activate),
11740         (gst_base_transform_change_state):
11741         * gst/base/gstbasetransform.h:
11742         * gst/elements/gstidentity.c: (gst_identity_finalize),
11743         (gst_identity_class_init), (gst_identity_init),
11744         (gst_identity_event), (gst_identity_check_perfect),
11745         (gst_identity_transform), (gst_identity_set_property),
11746         (gst_identity_get_property), (gst_identity_change_state):
11747         * gst/elements/gstidentity.h:
11748         * gst/gstelement.c: (gst_element_get_state_func),
11749         (gst_element_lost_state), (gst_element_pads_activate):
11750         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11751         (gst_pad_check_pull_range), (gst_pad_pull_range):
11752         * gst/gstpad.h:
11753         Simplify pad activation.
11754         Added function to check if pull_range can be performed.
11755         Error out when pulling inactive or flushing pads.
11756         Removed const from refcounted types as it does not make sense.
11757         Simplify pad templates in basesink
11758         Added base class for simple 1-to-1 transforms.
11759         Make identity subclass the base transform.
11760
11761 2005-03-29  Andy Wingo  <wingo@pobox.com>
11762
11763         * docs/libs/gstreamer-libs-overrides.txt: 
11764         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11765         really don't understand what's going on, but like whatever. I want
11766         green buildbot!
11767
11768         * docs/gst/Makefile.am:
11769         * docs/libs/Makefile.am: Dist the overrides files.
11770
11771         * check/Makefile.am (clean-local): Remove .libs directories.
11772
11773         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11774         elements to EXTRA_DIST, so po/ files are happy.
11775
11776         * po/POTFILES.in: Er, remove it here.
11777
11778         * po/POTFILES: Remove gstspider.c.
11779
11780         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11781
11782         * docs/libs/gstreamer-libs-docs.sgml: 
11783         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11784         bytestream.
11785
11786         * tests/complexity.c (main): Set the length of the preroll queue
11787         on the sinks to prevent a lockup.
11788
11789         * libs/gst/dataprotocol/Makefile.am: 
11790         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11791         the same as the one in check/gst-libs/gdp.c.
11792
11793         * po/, docs/gst/: Commit automatic changes to docs and po files.
11794
11795         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11796         the versioned libgstbase.
11797
11798         * check/Makefile.am: Depend on an unversioned gst-register, seems
11799         to make autoconf happier.
11800
11801         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11802
11803 2005-03-28  Wim Taymans  <wim@fluendo.com>
11804
11805         * configure.ac:
11806         * docs/design/part-gstelement.txt:
11807         * docs/design/part-negotiation.txt:
11808         * docs/design/part-preroll.txt:
11809         * docs/design/part-scheduling.txt:
11810         * docs/design/part-states.txt:
11811         * gst/Makefile.am:
11812         * gst/base/Makefile.am:
11813         * gst/base/README:
11814         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11815         (gst_basesink_base_init), (gst_basesink_class_init),
11816         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11817         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11818         (gst_basesink_set_pad_functions),
11819         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11820         (gst_basesink_set_property), (gst_basesink_get_property),
11821         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11822         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11823         (gst_basesink_preroll_queue_push),
11824         (gst_basesink_preroll_queue_empty),
11825         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11826         (gst_basesink_event), (gst_basesink_get_times),
11827         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11828         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11829         (gst_basesink_loop), (gst_basesink_activate),
11830         (gst_basesink_change_state):
11831         * gst/base/gstbasesink.h:
11832         * gst/elements/Makefile.am:
11833         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11834         (gst_fakesink_class_init), (gst_fakesink_init),
11835         (gst_fakesink_set_property), (gst_fakesink_get_property),
11836         (gst_fakesink_get_times), (gst_fakesink_event),
11837         (gst_fakesink_preroll), (gst_fakesink_render),
11838         (gst_fakesink_change_state):
11839         * gst/elements/gstfakesink.h:
11840         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11841         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11842         * gst/gstelement.c: (gst_element_add_pad),
11843         (gst_element_get_state_func), (gst_element_abort_state),
11844         (gst_element_commit_state), (gst_element_lost_state),
11845         (gst_element_set_state), (gst_element_pads_activate):
11846         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11847         * gst/gstpipeline.c: (gst_pipeline_send_event),
11848         (gst_pipeline_change_state):
11849         Added state change code.
11850         Added/updated docs.
11851         Added sink base class, make fakesink extend the base class.
11852         Small cleanups in GstPipeline.
11853
11854 2005-03-26  David Schleef  <ds@schleef.org>
11855
11856         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11857         is broken and should be implemented in a different library.
11858         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11859         * gst/gst.h: remove gstcpu.h
11860         * gst/gstcpu.c: remove
11861         * gst/gstcpu.h: remove
11862         * gst/Makefile.am.future: Remove this file.  It's ancient.
11863
11864 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11865
11866         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11867         (gst_bin_send_event):
11868           Add default event/set_manager handlers. The set_manager handler
11869           takes care that the manager is distributed over kids that were
11870           already in the bin before the manager was set. The event handler
11871           is a utility virtual function that sends the event over all sinks,
11872           so that gst_element_send_event (bin, event); has the expected
11873           behaviour.
11874         * gst/gstpad.c: (gst_pad_event_default):
11875           Re-install default event handling for discontinuities, so that
11876           seeking works without requiring hacks in applications or extra
11877           code in sinks.
11878         * gst/gstpipeline.c: (gst_pipeline_class_init),
11879         (gst_pipeline_send_event):
11880           Half hack, half utility: set a pipeline to PAUSED for seek events,
11881           since that is the only way we can guarantee a/v sync. Means that
11882           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11883           and it "just works".
11884
11885 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11886
11887         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11888           Lock/unlock mismatch.
11889
11890 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11891
11892         * docs/faq/gst-uninstalled:
11893           add gst-plugins-base
11894         * docs/gst/Makefile.am:
11895           don't error out until docs are fixed
11896         * docs/gst/gstreamer.types:
11897           remove thread
11898
11899 2005-03-22  Wim Taymans  <wim@fluendo.com>
11900
11901         * check/Makefile.am:
11902         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11903         * gst/gststructure.c: (gst_structure_set_valist),
11904         (gst_structure_copy_conditional):
11905         Activated more tests.
11906         Added message test.
11907         Added G_TYPE_POINTER to GstStructure.
11908         
11909
11910 2005-03-22  Wim Taymans  <wim@fluendo.com>
11911
11912         * docs/design/part-TODO.txt:
11913         * docs/design/part-events.txt:
11914         * docs/design/part-gstbin.txt:
11915         * docs/design/part-gstbus.txt:
11916         * docs/design/part-gstpipeline.txt:
11917         * docs/design/part-messages.txt:
11918         * gst/gstbus.c:
11919         * gst/gstmessage.c:
11920         Docs updates
11921
11922 2005-03-21  Wim Taymans  <wim@fluendo.com>
11923
11924         * gst/gstbus.c: (gst_bus_post):
11925         Fix copy-and-paste error.
11926
11927 2005-03-21  Wim Taymans  <wim@fluendo.com>
11928
11929         * check/Makefile.am:
11930         * gst/Makefile.am:
11931         * gst/elements/Makefile.am:
11932         * gst/elements/gstelements.c:
11933         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11934         (gst_fakesink_event), (gst_fakesink_chain):
11935         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11936         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11937         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11938         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11939         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11940         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11941         (gst_fakesrc_loop), (gst_fakesrc_activate),
11942         (gst_fakesrc_change_state):
11943         * gst/elements/gstfakesrc.h:
11944         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11945         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11946         (gst_filesrc_open_file), (gst_filesrc_loop),
11947         (gst_filesrc_activate), (gst_filesrc_change_state),
11948         (filesrc_find_peek), (filesrc_find_suggest),
11949         (gst_filesrc_type_find):
11950         * gst/elements/gstidentity.c: (gst_identity_finalize),
11951         (gst_identity_class_init), (gst_identity_init),
11952         (gst_identity_proxy_getcaps), (identity_queue_push),
11953         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11954         (gst_identity_getrange), (gst_identity_chain),
11955         (gst_identity_sink_loop), (gst_identity_src_loop),
11956         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11957         (gst_identity_set_property), (gst_identity_get_property),
11958         (gst_identity_change_state):
11959         * gst/elements/gstidentity.h:
11960         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11961         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11962         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11963         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11964         (gst_tee_sink_activate):
11965         * gst/elements/gsttee.h:
11966         * gst/gst.c: (gst_register_core_elements), (init_post):
11967         * gst/gst.h:
11968         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11969         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11970         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11971         (gst_bin_change_state):
11972         * gst/gstbin.h:
11973         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11974         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11975         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11976         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11977         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11978         (bus_watch_callback), (bus_watch_destroy),
11979         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11980         (poll_timeout), (gst_bus_poll):
11981         * gst/gstbus.h:
11982         * gst/gstcaps.h:
11983         * gst/gstdata.h:
11984         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11985         (gst_element_post_message), (gst_element_message_full),
11986         (gst_element_get_state_func), (gst_element_get_state),
11987         (gst_element_abort_state), (gst_element_commit_state),
11988         (gst_element_lost_state), (gst_element_set_state),
11989         (gst_element_pads_activate), (gst_element_change_state),
11990         (gst_element_dispose), (gst_element_set_manager_func),
11991         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11992         (gst_element_set_manager), (gst_element_get_manager),
11993         (gst_element_set_bus), (gst_element_get_bus),
11994         (gst_element_set_scheduler), (gst_element_get_scheduler):
11995         * gst/gstelement.h:
11996         * gst/gstevent.c: (gst_event_new_segment_seek),
11997         (gst_event_new_flush):
11998         * gst/gstevent.h:
11999         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12000         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12001         (gst_message_new_eos), (gst_message_new_error),
12002         (gst_message_new_warning), (gst_message_new_tag),
12003         (gst_message_new_state_changed), (gst_message_new_application),
12004         (gst_message_get_structure), (gst_message_parse_tag),
12005         (gst_message_parse_state_changed), (gst_message_parse_error),
12006         (gst_message_parse_warning):
12007         * gst/gstmessage.h:
12008         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12009         (gst_real_pad_set_property), (gst_pad_set_active),
12010         (gst_pad_is_active), (gst_pad_set_blocked_async),
12011         (gst_pad_set_blocked), (gst_pad_is_blocked),
12012         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12013         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12014         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12015         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12016         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12017         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12018         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12019         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12020         (gst_pad_set_caps), (gst_pad_configure_sink),
12021         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12022         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12023         (gst_real_pad_dispose), (gst_real_pad_finalize),
12024         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12025         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12026         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12027         * gst/gstpad.h:
12028         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12029         (pipeline_bus_handler), (gst_pipeline_change_state),
12030         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12031         * gst/gstpipeline.h:
12032         * gst/gstprobe.h:
12033         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12034         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12035         (gst_queue_link_src), (gst_queue_bufferalloc),
12036         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12037         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12038         (gst_queue_loop), (gst_queue_handle_src_event),
12039         (gst_queue_handle_src_query), (gst_queue_src_activate),
12040         (gst_queue_change_state):
12041         * gst/gstqueue.h:
12042         * gst/gstscheduler.c: (gst_scheduler_init),
12043         (gst_scheduler_dispose), (gst_scheduler_create_task),
12044         (gst_scheduler_factory_create):
12045         * gst/gstscheduler.h:
12046         * gst/gststructure.c: (gst_structure_get_type),
12047         (gst_structure_copy_conditional):
12048         * gst/gststructure.h:
12049         * gst/gsttaginterface.h:
12050         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12051         (gst_task_init), (gst_task_dispose), (gst_task_create),
12052         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12053         (gst_task_pause):
12054         * gst/gsttask.h:
12055         * gst/gstthread.c:
12056         * gst/gstthread.h:
12057         * gst/gsttypes.h:
12058         * gst/schedulers/Makefile.am:
12059         * gst/schedulers/cothreads_compat.h:
12060         * gst/schedulers/entryscheduler.c:
12061         * gst/schedulers/faircothreads.c:
12062         * gst/schedulers/faircothreads.h:
12063         * gst/schedulers/fairscheduler.c:
12064         * gst/schedulers/gstbasicscheduler.c:
12065         * gst/schedulers/gstoptimalscheduler.c:
12066         * gst/schedulers/gthread-cothreads.h:
12067         * gst/schedulers/threadscheduler.c:
12068         (gst_thread_scheduler_task_get_type),
12069         (gst_thread_scheduler_task_class_init),
12070         (gst_thread_scheduler_task_init),
12071         (gst_thread_scheduler_task_start),
12072         (gst_thread_scheduler_task_stop),
12073         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12074         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12075         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12076         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12077         (plugin_init):
12078         * libs/gst/Makefile.am:
12079         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12080         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12081         (gst_file_pad_parent_set):
12082         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12083         (gst_dp_event_from_packet):
12084         * tests/complexity.c: (main):
12085         * tests/mass_elements.c: (main):
12086         * testsuite/states/locked.c: (message_received), (main):
12087         * testsuite/states/parent.c: (main):
12088         * tools/gst-inspect.c: (print_element_flag_info),
12089         (print_implementation_info), (print_pad_info):
12090         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12091         (main):
12092         * tools/gst-md5sum.c: (event_loop), (main):
12093         * tools/gst-typefind.c: (main):
12094         * tools/gst-xmlinspect.c: (print_element_info):
12095         Next big merge.
12096         Added GstBus for mainloop integration.
12097         Added GstMessage for sending notifications on the bus.
12098         Added GstTask as an abstraction for pipeline entry points.
12099         Removed GstThread.
12100         Removed Schedulers.
12101         Simplified GstQueue for multithreaded core.
12102         Made _link threadsafe, removed old capsnego.
12103         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12104         Added pad blocking functions.
12105         Reworked scheduling functions in GstPad to prepare for
12106         scheduling updates soon.
12107         Moved events out of data stream.
12108         Simplified GstEvent types.
12109         Added return values to push/pull.
12110         Removed clocking from GstElement.
12111         Added prototypes for state change function for next merge.
12112         Removed iterate from bins and state change management.
12113         Fixed some elements, disabled others for now.
12114         Fixed -inspect and -launch.
12115         Added check for GstBus.
12116
12117 2005-03-10  Wim Taymans  <wim@fluendo.com>
12118
12119         * docs/design/part-MT-refcounting.txt:
12120         * docs/design/part-clocks.txt:
12121         * docs/design/part-gstelement.txt:
12122         * docs/design/part-gstobject.txt:
12123         * docs/design/part-standards.txt:
12124         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12125         (gst_bin_remove_func), (gst_bin_remove):
12126         * gst/gstbin.h:
12127         * gst/gstbuffer.c:
12128         * gst/gstcaps.h:
12129         * testsuite/clock/clock1.c: (main):
12130         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12131         (main):
12132         * testsuite/dlopen/loadgst.c: (do_test):
12133         * testsuite/refcounting/bin.c: (add_remove_test1),
12134         (add_remove_test2), (main):
12135         * testsuite/refcounting/element.c: (main):
12136         * testsuite/refcounting/element_pad.c: (main):
12137         * testsuite/refcounting/pad.c: (main):
12138         * tools/gst-launch.c: (sigint_handler_sighandler):
12139         * tools/gst-typefind.c: (main):
12140         Doc updates.
12141         Added doc about clock.
12142         removed gst_bin_iterate_recurse_up(), marked methods
12143         for removal.
12144         Fix more testsuites.
12145
12146 2005-03-09  Wim Taymans  <wim@fluendo.com>
12147
12148         * gst/gstpad.c: (gst_pad_get_direction),
12149         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12150         (gst_pad_collect_valist):
12151         * testsuite/bins/interface.c: (main):
12152         * testsuite/caps/audioscale.c: (test_caps):
12153         * testsuite/caps/caps.c: (test1), (test2), (test3):
12154         * testsuite/caps/deserialize.c: (main):
12155         * testsuite/caps/enumcaps.c: (main):
12156         * testsuite/caps/filtercaps.c: (main):
12157         * testsuite/caps/intersect2.c: (main):
12158         * testsuite/caps/random.c: (main):
12159         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12160         * testsuite/caps/sets.c: (check_caps):
12161         * testsuite/caps/simplify.c: (check_caps), (main):
12162         * testsuite/caps/subtract.c: (check_caps):
12163         Fix _pad_get_direction wrt ghostpads.
12164         Fix caps testsuite.
12165
12166 2005-03-09  Wim Taymans  <wim@fluendo.com>
12167
12168         * check/Makefile.am:
12169         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12170         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12171         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12172         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12173         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12174         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12175         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12176         (bin_element_is_sink), (gst_bin_iterate_sinks),
12177         (gst_bin_iterate_all_by_interface):
12178         * gst/gstbin.h:
12179         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12180         (gst_element_change_state), (gst_element_dispose),
12181         (gst_element_finalize), (gst_element_set_loop_function):
12182         * gst/gstelement.h:
12183         * gst/gstiterator.c: (find_custom_fold_func):
12184         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12185         (gst_pad_collectv), (gst_pad_collect_valist),
12186         (gst_pad_template_new):
12187         * gst/gstpipeline.c: (gst_pipeline_class_init),
12188         (gst_pipeline_dispose), (gst_pipeline_set_property),
12189         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12190         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12191         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12192         * gst/gstutils.h:
12193         * gst/schedulers/entryscheduler.c:
12194         * gst/schedulers/gstbasicscheduler.c:
12195         (gst_basic_scheduler_cothreaded_chain),
12196         (gst_basic_scheduler_chain_add_element):
12197         * testsuite/bins/interface.c: (main):
12198         Added GstBin test.
12199         Added GstSystemClock test.
12200         Implemented clock distribution code in GstBin.
12201         Implemented iterate sinks method for future use.
12202         Rearranged gstelement.h
12203         Fix GstIterator comparison bug.
12204         Moved some code to GstPipeline, mostly clocking related.
12205
12206 2005-03-09  Wim Taymans  <wim@fluendo.com>
12207
12208         * configure.ac:
12209         * gst/gst_private.h:
12210         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12211         (gst_bin_remove_func), (gst_bin_remove),
12212         (gst_bin_get_by_name_recurse_up):
12213         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12214         (gst_clock_id_compare_func), (gst_clock_id_wait),
12215         (gst_clock_id_wait_async), (gst_clock_init),
12216         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12217         * gst/gstelement.h:
12218         * gst/gstinfo.c: (_gst_debug_init):
12219         * gst/gstobject.h:
12220         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12221         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12222         * gst/gstpad.h:
12223         Bump version number, we're now 0.9.0
12224         Add future debugging category.
12225         Fix NULL _unref() in _get_by_name_recurse_up
12226         Rearrange gstpad.h.
12227         Update some docs.
12228
12229 2005-03-08  Wim Taymans  <wim@fluendo.com>
12230
12231         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12232         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12233         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12234         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12235         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12236         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12237         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12238         * gst/elements/gstidentity.c: (gst_identity_class_init):
12239         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12240         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12241         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12242         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12243         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12244         (gst_tee_link):
12245         * gst/gstelement.c: (gst_element_class_init),
12246         (gst_element_base_class_init), (gst_element_init),
12247         (gst_element_get_random_pad), (gst_element_wait_state_change),
12248         (gst_element_change_state), (gst_element_dispose),
12249         (gst_element_finalize), (gst_element_set_loop_function):
12250         * gst/gstelement.h:
12251         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12252         * gst/gstthread.c: (gst_thread_class_init),
12253         (gst_thread_release_children_locks), (gst_thread_change_state):
12254         * gst/schedulers/gstbasicscheduler.c:
12255         (gst_basic_scheduler_loopfunc_wrapper),
12256         (gst_basic_scheduler_chain_wrapper),
12257         (gst_basic_scheduler_src_wrapper),
12258         (gst_basic_scheduler_remove_element):
12259         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12260         Remove threadsafe properties. Fix elements because GObject
12261         complains when installing a property before declaring a
12262         set/get_property handler.
12263         Rearrange gstelement.h file, use STATE macros for state locks.
12264         Free mutexes in the finalize method instead of dispose.
12265
12266 2005-03-08  Wim Taymans  <wim@fluendo.com>
12267
12268         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12269         * gst/gstthread.c: (gst_thread_release_children_locks):
12270         Added parentage check.
12271         Fix build og GstThread again.
12272
12273 2005-03-08  Wim Taymans  <wim@fluendo.com>
12274
12275         * docs/design/part-MT-refcounting.txt:
12276         * docs/design/part-conventions.txt:
12277         * docs/design/part-gstobject.txt:
12278         * docs/design/part-relations.txt:
12279         * docs/design/part-standards.txt:
12280         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12281         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12282         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12283         (gst_bin_iterate_all_by_interface):
12284         * gst/gstbuffer.h:
12285         * gst/gstclock.h:
12286         * gst/gstelement.c: (gst_element_class_init),
12287         (gst_element_change_state), (gst_element_set_loop_function):
12288         * gst/gstelement.h:
12289         * gst/gstiterator.c:
12290         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12291         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12292         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12293         (gst_object_set_parent), (gst_object_unparent),
12294         (gst_object_check_uniqueness):
12295         * gst/gstobject.h:
12296         Docs updates, clean up some headers.
12297
12298 2005-03-07  Wim Taymans  <wim@fluendo.com>
12299
12300         * check/.cvsignore:
12301         * check/Makefile.am:
12302         * check/gst-libs/.cvsignore:
12303         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12304         * check/gst/.cvsignore:
12305         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12306         (START_TEST), (gstbus_suite), (main):
12307         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12308         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12309         (gst_data_suite), (main):
12310         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12311         (add_fold_func), (gstiterator_suite), (main):
12312         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12313         (thread_name_object), (thread_name_object_default),
12314         (gst_object_name_compare), (gst_object_suite), (main):
12315         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12316         (gst_pad_suite), (main):
12317         * check/gstcheck.c: (gst_check_log_message_func),
12318         (gst_check_log_critical_func), (gst_check_init):
12319         * check/gstcheck.h:
12320         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12321         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12322         Added checks.
12323
12324 2005-03-07  Wim Taymans  <wim@fluendo.com>
12325
12326         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12327         (gst_list_iterator_next), (gst_list_iterator_resync),
12328         (gst_list_iterator_free), (gst_iterator_new_list),
12329         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12330         (gst_iterator_free), (gst_iterator_push), (filter_next),
12331         (filter_resync), (filter_uninit), (filter_free),
12332         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12333         (gst_iterator_foreach), (find_custom_fold_func),
12334         (gst_iterator_find_custom):
12335         * gst/gstiterator.h:
12336         Added missing files.
12337
12338 2005-03-07  Wim Taymans  <wim@fluendo.com>
12339
12340         * Makefile.am:
12341         * configure.ac:
12342         * docs/design/part-MT-refcounting.txt:
12343         * docs/design/part-conventions.txt:
12344         * docs/design/part-gstobject.txt:
12345         * docs/design/part-relations.txt:
12346         * examples/mixer/mixer.c: (main):
12347         * examples/thread/thread.c: (eos), (main):
12348         * gst/Makefile.am:
12349         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12350         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12351         (gst_spider_plug_from_srcpad):
12352         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12353         (gst_spider_identity_change_state),
12354         (gst_spider_identity_sink_loop_type_finding):
12355         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12356         * gst/elements/gstidentity.c: (gst_identity_init):
12357         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12358         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12359         * gst/elements/gsttypefindelement.c: (free_entry):
12360         * gst/gst.c:
12361         * gst/gst.h:
12362         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12363         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12364         (gst_bin_set_index), (gst_bin_set_element_sched),
12365         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12366         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12367         (gst_bin_iterate_elements), (iterate_child_recurse),
12368         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12369         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12370         (compare_interface), (gst_bin_get_by_interface),
12371         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12372         * gst/gstbin.h:
12373         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12374         (gst_buffer_default_free), (gst_buffer_default_copy),
12375         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12376         (gst_buffer_create_sub):
12377         * gst/gstbuffer.h:
12378         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12379         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12380         (gst_caps_unref), (gst_static_caps_get),
12381         (gst_caps_remove_and_get_structure), (gst_caps_append),
12382         (gst_caps_append_structure), (gst_caps_remove_structure),
12383         (gst_caps_copy_nth), (gst_caps_set_simple),
12384         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12385         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12386         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12387         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12388         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12389         (gst_caps_structure_figure_out_union),
12390         (gst_caps_switch_structures), (gst_caps_do_simplify),
12391         (gst_caps_replace), (gst_caps_from_string),
12392         (gst_caps_copy_conditional):
12393         * gst/gstcaps.h:
12394         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12395         (_gst_clock_id_free), (gst_clock_id_unref),
12396         (gst_clock_id_compare_func), (gst_clock_id_wait),
12397         (gst_clock_id_wait_async), (gst_clock_class_init),
12398         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12399         (gst_clock_get_time), (gst_clock_set_time_adjust),
12400         (gst_clock_set_property), (gst_clock_get_property):
12401         * gst/gstclock.h:
12402         * gst/gstcompat.h:
12403         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12404         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12405         * gst/gstdata.h:
12406         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12407         (gst_element_requires_clock), (gst_element_provides_clock),
12408         (gst_element_set_clock), (gst_element_clock_wait),
12409         (gst_element_wait), (gst_element_set_time_delay),
12410         (gst_element_is_indexable), (gst_element_add_pad),
12411         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12412         (pad_compare_name), (gst_element_get_static_pad),
12413         (gst_element_request_pad), (gst_element_get_request_pad),
12414         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12415         (gst_element_class_get_pad_template_list),
12416         (gst_element_class_get_pad_template), (gst_element_error_func),
12417         (gst_element_get_random_pad), (gst_element_get_event_masks),
12418         (gst_element_send_event), (gst_element_seek),
12419         (gst_element_get_query_types), (gst_element_query),
12420         (gst_element_get_formats), (gst_element_convert),
12421         (gst_element_is_locked_state), (gst_element_set_locked_state),
12422         (gst_element_sync_state_with_parent), (gst_element_change_state),
12423         (gst_element_finalize), (gst_element_yield),
12424         (gst_element_interrupt), (gst_element_set_scheduler),
12425         (gst_element_get_scheduler), (gst_element_set_loop_function):
12426         * gst/gstelement.h:
12427         * gst/gstevent.h:
12428         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12429         (gst_format_get_by_nick), (gst_format_get_details),
12430         (gst_format_iterate_definitions):
12431         * gst/gstformat.h:
12432         * gst/gstindex.c: (gst_index_gtype_resolver):
12433         * gst/gstinfo.c:
12434         * gst/gstinfo.h:
12435         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12436         (gst_mem_chunk_free):
12437         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12438         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12439         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12440         (gst_object_dispatch_properties_changed),
12441         (gst_object_set_name_default), (gst_object_set_name),
12442         (gst_object_get_name), (gst_object_set_name_prefix),
12443         (gst_object_get_name_prefix), (gst_object_set_parent),
12444         (gst_object_get_parent), (gst_object_unparent),
12445         (gst_object_check_uniqueness), (gst_object_save_thyself),
12446         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12447         (gst_object_set_property), (gst_object_get_property),
12448         (gst_object_get_path_string):
12449         * gst/gstobject.h:
12450         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12451         (gst_real_pad_init), (gst_real_pad_get_property),
12452         (gst_pad_custom_new), (gst_pad_get_direction),
12453         (gst_pad_set_active), (gst_pad_is_active),
12454         (gst_pad_set_event_function), (gst_pad_is_linked),
12455         (gst_pad_link_free), (gst_pad_link_intersect),
12456         (gst_pad_link_fixate), (gst_pad_set_caps),
12457         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12458         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12459         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12460         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12461         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12462         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12463         (gst_pad_realize), (gst_pad_get_allowed_caps),
12464         (gst_real_pad_dispose), (gst_real_pad_finalize),
12465         (gst_pad_collectv), (gst_pad_collect_valist),
12466         (gst_pad_template_dispose), (gst_pad_template_new),
12467         (gst_pad_get_internal_links):
12468         * gst/gstpad.h:
12469         * gst/gstpipeline.c: (gst_pipeline_dispose),
12470         (gst_pipeline_change_state):
12471         * gst/gstpipeline.h:
12472         * gst/gstplugin.c:
12473         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12474         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12475         * gst/gstpluginfeature.h:
12476         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12477         * gst/gstquery.c: (_gst_query_type_initialize),
12478         (gst_query_type_register), (gst_query_type_get_by_nick),
12479         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12480         * gst/gstquery.h:
12481         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12482         * gst/gstscheduler.c: (gst_scheduler_add_element),
12483         (gst_scheduler_factory_create):
12484         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12485         (gst_structure_free), (gst_structure_set_name),
12486         (gst_structure_id_set_value), (gst_structure_set_value),
12487         (gst_structure_set_valist), (gst_structure_remove_field),
12488         (gst_structure_remove_fields),
12489         (gst_structure_remove_fields_valist),
12490         (gst_structure_remove_all_fields), (gst_structure_foreach),
12491         (gst_structure_map_in_place),
12492         (gst_caps_structure_fixate_field_nearest_int),
12493         (gst_caps_structure_fixate_field_nearest_double):
12494         * gst/gststructure.h:
12495         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12496         (gst_system_clock_init), (gst_system_clock_dispose),
12497         (gst_system_clock_async_thread),
12498         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12499         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12500         * gst/gstsystemclock.h:
12501         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12502         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12503         * gst/gsttaginterface.c:
12504         * gst/gstthread.c: (gst_thread_dispose),
12505         (gst_thread_release_children_locks), (gst_thread_change_state),
12506         (gst_thread_main_loop):
12507         * gst/gsttrashstack.h:
12508         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12509         * gst/gsttypes.h:
12510         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12511         (gst_element_request_pad), (gst_element_get_pad_from_template),
12512         (gst_element_request_compatible_pad),
12513         (gst_element_get_compatible_pad_filtered),
12514         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12515         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12516         (gst_element_link_many), (gst_element_link),
12517         (gst_element_link_pads), (gst_element_unlink_pads),
12518         (gst_element_unlink_many), (gst_element_unlink),
12519         (gst_pad_can_link_filtered), (gst_pad_can_link),
12520         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12521         (gst_object_default_error), (gst_bin_add_many),
12522         (gst_bin_remove_many), (gst_element_populate_std_props),
12523         (gst_element_class_install_std_props), (gst_buffer_merge),
12524         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12525         (link_fold_func), (gst_pad_proxy_setcaps):
12526         * gst/gstutils.h:
12527         * gst/gstvalue.c: (gst_value_deserialize_string):
12528         * gst/parse/grammar.y:
12529         * gst/schedulers/gstbasicscheduler.c:
12530         (gst_basic_scheduler_cothreaded_chain),
12531         (gst_basic_scheduler_chain_recursive_add),
12532         (gst_basic_scheduler_pad_link):
12533         * gst/schedulers/gstoptimalscheduler.c:
12534         (get_group_schedule_function),
12535         (gst_opt_scheduler_state_transition),
12536         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12537         * libs/gst/bytestream/bytestream.c:
12538         * libs/gst/dataprotocol/dataprotocol.c:
12539         (gst_dp_header_from_buffer):
12540         * po/nb.po:
12541         * po/ru.po:
12542         * tests/threadstate/threadstate2.c: (eos):
12543         * tools/gst-compprep.c: (main):
12544         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12545         (print_pad_info), (print_children_info):
12546         * tools/gst-launch.c: (idle_func), (main):
12547         * tools/gst-md5sum.c: (idle_func), (main):
12548         * tools/gst-xmlinspect.c: (print_element_info):
12549         First THREADED backport attempt, focusing on adding locks and
12550         making sure the API is threadsafe. Needs more work. More docs
12551         follow this week.
12552
12553 2005-02-24  Andy Wingo  <wingo@pobox.com>
12554
12555         * tests/bench-complexity.scm:
12556         * tests/complexity.gnuplot: New files, good for running complexity
12557         benchmarks.
12558
12559         * tests/Makefile.am:
12560         * tests/complexity.c: New test, sets up N elements, at each level
12561         teeing into M streams per element. Eeeenteresting.
12562
12563         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12564         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12565         running bench-mass_elements.scm.
12566
12567         * tests/bench-mass_elements.scm: New script, runs mass_elements
12568         for various numbers of identities, outputting the results to a
12569         file. Requires guile 1.6. Just for testing.
12570
12571 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12572
12573         * gst/schedulers/fairscheduler.c:
12574           compile with debug disabled
12575
12576 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12577
12578         * configure.ac:
12579           hunting season on 0.9 is now OPEN