win32/common/gstconfig.h: add large padding
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * win32/common/gstconfig.h:
4           add large padding
5
6 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7
8         * win32/common/libgstreamer.def:
9           rename symbols; sort base section
10
11 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12
13         * gst/gstclock.c: (do_linear_regression):
14           remove crack non-portable handrolled DEBUG macro
15
16 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17
18         * docs/random/release:
19           update notes
20         * win32/common/gstenumtypes.c: (register_gst_object_flags),
21         (gst_object_flags_get_type), (register_gst_bin_flags),
22         (gst_bin_flags_get_type), (register_gst_buffer_flag),
23         (gst_buffer_flag_get_type), (register_gst_bus_flags),
24         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
25         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
26         (gst_caps_flags_get_type), (register_gst_clock_return),
27         (gst_clock_return_get_type), (register_gst_clock_entry_type),
28         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
29         (gst_clock_flags_get_type), (register_gst_state),
30         (gst_state_get_type), (register_gst_state_change_return),
31         (gst_state_change_return_get_type), (register_gst_state_change),
32         (gst_state_change_get_type), (register_gst_element_flags),
33         (gst_element_flags_get_type), (register_gst_core_error),
34         (gst_core_error_get_type), (register_gst_library_error),
35         (gst_library_error_get_type), (register_gst_resource_error),
36         (gst_resource_error_get_type), (register_gst_stream_error),
37         (gst_stream_error_get_type), (register_gst_event_type_flags),
38         (gst_event_type_flags_get_type), (register_gst_event_type),
39         (gst_event_type_get_type), (register_gst_seek_type),
40         (gst_seek_type_get_type), (register_gst_seek_flags),
41         (gst_seek_flags_get_type), (register_gst_format),
42         (gst_format_get_type), (register_gst_index_certainty),
43         (gst_index_certainty_get_type), (register_gst_index_entry_type),
44         (gst_index_entry_type_get_type),
45         (register_gst_index_lookup_method),
46         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
47         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
48         (gst_index_resolver_method_get_type), (register_gst_index_flags),
49         (gst_index_flags_get_type), (register_gst_debug_level),
50         (gst_debug_level_get_type), (register_gst_debug_color_flags),
51         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
52         (gst_iterator_result_get_type), (register_gst_iterator_item),
53         (gst_iterator_item_get_type), (register_gst_message_type),
54         (gst_message_type_get_type), (register_gst_mini_object_flags),
55         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
56         (gst_pad_link_return_get_type), (register_gst_flow_return),
57         (gst_flow_return_get_type), (register_gst_activate_mode),
58         (gst_activate_mode_get_type), (register_gst_pad_direction),
59         (gst_pad_direction_get_type), (register_gst_pad_flags),
60         (gst_pad_flags_get_type), (register_gst_pad_presence),
61         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
62         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
63         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
64         (gst_plugin_error_get_type), (register_gst_plugin_flags),
65         (gst_plugin_flags_get_type), (register_gst_rank),
66         (gst_rank_get_type), (register_gst_query_type),
67         (gst_query_type_get_type), (register_gst_tag_merge_mode),
68         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
69         (gst_tag_flag_get_type), (register_gst_task_state),
70         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
71         (gst_alloc_trace_flags_get_type),
72         (register_gst_type_find_probability),
73         (gst_type_find_probability_get_type), (register_gst_uri_type),
74         (gst_uri_type_get_type), (register_gst_parse_error),
75         (gst_parse_error_get_type):
76         * win32/common/gstenumtypes.h:
77         * win32/common/gstversion.h:
78           update visual studio generated files
79
80 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
81
82         * win32/vs6/libgstbase.dsp:
83         * win32/vs6/libgstelements.dsp:
84           update project files for new locations
85
86 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
87
88         * Makefile.am:
89           remove some files
90         * README:
91           reinstate and update
92         * DEVEL:
93         * REQUIREMENTS:
94           removed
95         * LICENSE:
96         * docs/random/LICENSE:
97           moved to random
98
99 2005-11-30  Edward Hervey  <edward@fluendo.com>
100
101         * gst/gsttypefind.c: (gst_type_find_register):
102         * gst/gsttypefind.h:
103         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
104         (gst_type_find_factory_dispose):
105         * gst/gsttypefindfactory.h:
106         Fix memory leak in GstTypeFindFactory.
107
108 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
109
110         * gst/gst.c:
111         * plugins/elements/Makefile.am:
112         * plugins/elements/gstelements.c:
113         * plugins/elements/gstqueue.c:
114           move queue from core to the elements plugin
115
116 2005-11-29  Andy Wingo  <wingo@pobox.com>
117
118         * libs/gst/base/gstbasetransform.h: 
119         * libs/gst/base/gstbasesrc.h: 
120         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
121
122         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
123         of pointers by which to pad very extensible base classes (like the
124         ones in libs/gst/base).
125
126 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
127
128         * docs/gst/gstreamer-docs.sgml:
129         * docs/gst/gstreamer-sections.txt:
130         * docs/libs/gstreamer-libs-docs.sgml:
131         * docs/libs/gstreamer-libs-sections.txt:
132           moving documentation from core to lib
133
134 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
135
136         * check/Makefile.am:
137         * configure.ac:
138         * docs/gst/Makefile.am:
139         * gst/Makefile.am:
140         * gst/base/.cvsignore:
141         * gst/base/Makefile.am:
142         * gst/base/README:
143         * gst/base/gstadapter.c:
144         * gst/base/gstadapter.h:
145         * gst/base/gstbasesink.c:
146         * gst/base/gstbasesink.h:
147         * gst/base/gstbasesrc.c:
148         * gst/base/gstbasesrc.h:
149         * gst/base/gstbasetransform.c:
150         * gst/base/gstbasetransform.h:
151         * gst/base/gstcollectpads.c:
152         * gst/base/gstcollectpads.h:
153         * gst/base/gstpushsrc.c:
154         * gst/base/gstpushsrc.h:
155         * gst/base/gsttypefindhelper.c:
156         * gst/base/gsttypefindhelper.h:
157         * gst/check/Makefile.am:
158         * gst/check/gstcheck.c:
159         * gst/check/gstcheck.h:
160         * gst/net/Makefile.am:
161         * gst/net/gstnet.h:
162         * gst/net/gstnetclientclock.c:
163         * gst/net/gstnetclientclock.h:
164         * gst/net/gstnettimepacket.c:
165         * gst/net/gstnettimepacket.h:
166         * gst/net/gstnettimeprovider.c:
167         * gst/net/gstnettimeprovider.h:
168         * libs/gst/Makefile.am:
169         * libs/gst/base/Makefile.am:
170         * libs/gst/base/gstbasetransform.c:
171         * libs/gst/check/Makefile.am:
172         * plugins/elements/Makefile.am:
173         * po/POTFILES.in:
174           CVS surgery + support to move base, check, and net out of gst
175           and into libs/gst
176
177 2005-11-29  Andy Wingo  <wingo@pobox.com>
178
179         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
180
181         * gst/gststructure.h (struct _GstStructure): Only one pointer of
182         padding.
183
184         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
185
186         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
187
188         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
189
190         * gst/gstobject.h: (struct _GstObject): Only one pointer of
191         padding; reduces object size by about 30%. We don't expect
192         anything else to go into gstobject.
193
194         * gst/gstminiobject.h (struct _GstMiniObject)
195         (struct _GstMiniObjectClass): Only one pointer of padding; the
196         payload is only a pointer and two ints anyway. For the class there
197         are only two methods as well.
198         
199         * gst/gstelement.h (struct _GstElementClass): Removed
200         the state_changed signal callback, it is not used.
201
202 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
203
204         * docs/gst/gstreamer.types:
205           fix includes, though they are a little dinky
206
207 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
208
209         * check/Makefile.am:
210           look in the right place for elements, a lot more chance of
211           success
212         * gst/Makefile.am:
213           remove indexers and elements subdirs
214         * plugins/Makefile.am:
215           make indexers conditional
216
217 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
218
219         * Makefile.am:
220         * configure.ac:
221         * plugins/elements/Makefile.am:
222         * plugins/elements/gstcapsfilter.c:
223         * plugins/elements/gstfilesink.c:
224         * plugins/elements/gstfilesrc.c:
225         * plugins/elements/gstidentity.c:
226         * plugins/indexers/Makefile.am:
227           do CVS surgery and related build fixery to move elements
228           and indexers in a new gstreamer/plugins directory, out of the
229           gst/ directory
230
231 2005-11-29  Andy Wingo  <wingo@pobox.com>
232
233         * check/Makefile.am:
234         * pkgconfig/gstreamer-net-uninstalled.pc.in:
235         * pkgconfig/gstreamer-net.pc.in:
236         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
237         #322257.
238
239 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
240
241         * tools/Makefile.am:
242         * tools/gst-complete.1.in:
243         * tools/gst-complete.c:
244         * tools/gst-compprep.1.in:
245         * tools/gst-compprep.c:
246           removing -compprep and -complete
247
248 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
249
250         * gst/gstevent.c: (gst_event_new_new_segment),
251         (gst_event_parse_new_segment):
252         * gst/gstevent.h:
253           fix #320529 - clean up new_segment API and structure.
254           Let's hope everyone was using the methods, and not the structure.
255
256 2005-11-29  Edward Hervey  <edward@fluendo.com>
257
258         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
259         (gst_base_sink_event), (gst_base_sink_do_sync),
260         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
261         Properly handle non GST_FORMAT_TIME segment
262         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
263         Properly handle non GST_FORMAT_TIME segment
264         * gst/gstsegment.c:
265         This function is valid if the accumulator is 0 and the format
266         is different from the requested format.
267         
268 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
269
270         * docs/gst/gstreamer-sections.txt:
271         Add gst_query_new_seeking and gst_query_parse_seeking to the
272         docs.
273
274 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
275
276         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
277           Treat a pad alloc with new caps the same as if we were not
278           negotiated, in order to allow a changing upstream output
279           to produce a new format of data.
280
281 2005-11-29  Edward Hervey  <edward@fluendo.com>
282
283         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
284         (gst_base_transform_event), (gst_base_transform_eventfunc):
285         The event virtual method is now properly implemented, with a default
286         handler
287         Sub classes should call the parent_class event method. They should
288         return FALSE if they had a problem handling the given event, or don't
289         want GstBaseTransform to send that even downstream
290         * gst/elements/gstidentity.c: (gst_identity_class_init),
291         (gst_identity_init), (gst_identity_event),
292         (gst_identity_transform_ip), (gst_identity_set_property),
293         (gst_identity_get_property):
294         * gst/elements/gstidentity.h:
295         Added the single-segment boolean property.
296         If set to TRUE, it will output a single segment of data, starting from
297         0, will eat up all incoming newsegment, and modify the timestamp of the
298         buffers accordingly
299
300 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
301
302         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
303           Don't ref NULL target pad (#322751). Improve docs.
304
305 2005-11-29  Michael Smith  <msmith@fluendo.com>
306
307         * gst/gstregistryxml.c: (load_plugin):
308           Don't crash if we failed to load a feature from a plugin. 
309
310 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
311
312         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
313         (GST_START_TEST):
314           use more check API and less GLib API
315
316 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
317
318         * Makefile.am:
319           don't run checks if we don't have check
320         * common/check.mak:
321           remove the registry when running make torture
322         * docs/gst/gstreamer-sections.txt:
323           remove second multiply
324         * gst/gstqueue.c: (gst_queue_loop):
325           fix a compile warning when disabling debug
326
327 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
328
329         * gst/gstinfo.h:
330         Hey! Let's print the pad name if the pointer != NULL instead
331         of when it == NULL :-)
332
333 2005-11-28  Wim Taymans  <wim@fluendo.com>
334
335         * check/gst/gstutils.c: (GST_START_TEST):
336         Updated check, add some scaling accuracy checking code.
337
338         * gst/gstutils.c: (gst_util_div128_64),
339         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
340         (gst_util_uint64_scale_int):
341         Fix 6 times faster division code. Optimize for common 
342         1/1 and less common X/1 cases.
343
344 2005-11-28  Wim Taymans  <wim@fluendo.com>
345
346         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
347         More checks.
348
349         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
350         (do_linear_regression), (gst_clock_add_observation):
351         Cleanups.
352         Release lock when the clock cannot be slaved.
353         Catch the case where the regression returned an invalid denominator.
354
355         * gst/gstutils.c: (gst_util_div128_64_iterate),
356         (gst_util_div128_64), (gst_util_uint64_scale_int64),
357         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
358         Add protentially more performant non-iterative 128/64 divide function
359         that unfortunatly does not work yet.
360         Shortcut the trivial 0/X = 0 case.
361         Remove the warnings on overflow.
362
363 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
364
365         * gst/gstplugin.c: (gst_plugin_register_func):
366           everything causing a plugin not to load should be at least a WARNING
367
368 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
369
370         * docs/random/ensonic/dparams.txt:
371           some TODOs for the next dev cycle
372         * libs/gst/controller/gstcontroller.c:
373         (gst_controlled_property_set_interpolation_mode),
374         (gst_controlled_property_new):
375         * libs/gst/controller/gstcontroller.h:
376           use base type to assign acccessor functions
377
378 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
379
380         * check/Makefile.am:
381         Oops, that should have been top_srcdir
382
383 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
384
385         * check/Makefile.am:
386         * check/elements/fdsrc.c: (GST_START_TEST):
387         Use a cmdline define to specify the location of a file to use for
388         testing, to avoid breaking distcheck.
389
390 2005-11-28  Andy Wingo  <wingo@pobox.com>
391
392         * gst/gstpad.c (fixate_value): Use array functions for arrays.
393
394 2005-11-28  Edward Hervey  <edward@fluendo.com>
395
396         * tools/gst-launch.c: (main):
397         Clarify the output strings, makes it easier to translate.
398         Fixes #322626
399
400 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
401
402         * gst/Makefile.am:
403           don't try and build net if we don't even have <sys/socket.h>
404
405 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
406
407         * check/Makefile.am:
408         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
409         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
410           Add tests for fdsrc seekability
411
412         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
413         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
414         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
415         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
416         * gst/elements/gstfdsrc.h:
417           fdsrc should not be a 'live' source.
418           Implement seeking on seekable fd's.
419
420         * gst/gstquery.c: (gst_query_new_seeking),
421         (gst_query_parse_seeking):
422         * gst/gstquery.h:
423           Implement SEEKING query functions: 
424             *_new_seeking and *_parse_seeking
425
426 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
427
428         * gst/gstelement.c: (gst_element_dispose):
429           don't loop forever
430
431         * gst/gstiterator.c:
432         * gst/gststructure.c:
433           doc fixes
434
435         * libs/gst/controller/gstcontroller.c:
436         (gst_controlled_property_set_interpolation_mode):
437         * libs/gst/controller/gstcontroller.h:
438         * libs/gst/controller/gstinterpolation.c:
439         (interpolate_none_get_enum_value_array):
440           support controlling enums
441
442 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
443
444         * gst/gstvalue.c:
445           Improve documentation for gst_value_union().
446
447         * gst/gstvalue.h:
448           Change return value for union, intersect and subtract functions
449           from gint to gboolean.
450
451 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
452
453         * gst/gstvalue.c: (gst_value_serialize_any_list),
454         (gst_value_transform_any_list_string),
455         (gst_value_deserialize_list), (gst_value_deserialize_array),
456         (gst_value_set_int_range), (gst_value_deserialize_int_range),
457         (gst_value_set_double_range), (gst_value_deserialize_double_range),
458         (gst_value_set_fraction_range_full),
459         (gst_value_deserialize_fraction_range),
460         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
461         (gst_value_deserialize_boolean),
462         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
463         (gst_value_serialize_float), (gst_value_deserialize_float),
464         (gst_string_wrap), (gst_value_deserialize_string),
465         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
466         (gst_value_union_int_range_int_range),
467         (gst_value_intersect_int_range_int_range),
468         (gst_value_intersect_double_range_double_range),
469         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
470         (gst_value_subtract_int_range_int_range),
471         (gst_value_subtract_double_double_range),
472         (gst_value_subtract_double_range_double_range),
473         (gst_value_deserialize_fraction):
474         * gst/gstvalue.h:
475           Use gint, gdouble and gchar in our API instead of int, double and
476           char (and make usage in gstvalue.c more consistent).
477
478 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
479
480         * check/Makefile.am:
481         * libs/gst/controller/Makefile.am:
482         * libs/gst/dataprotocol/Makefile.am:
483           fix up Makefile.am and remove GST_ENABLE_NEW
484
485 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
486
487         * configure.ac:
488         * gst/Makefile.am:
489         * gst/base/Makefile.am:
490         * gst/check/Makefile.am:
491         * gst/elements/Makefile.am:
492         * gst/net/Makefile.am:
493           update LDFLAGS use some more
494
495 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
496
497         * common/m4/gst-doc.m4:
498           Fixes #312589
499
500 2005-11-26  Edward Hervey  <edward@fluendo.com>
501
502         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
503         This shouldn't issue a g_warning since it returns NULL if it
504         couldn't find the plugin, and all functions using this behave
505         properly on a NULL return. Switching to a GST_WARNING.
506
507 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
508
509         * gst/gstbin.c: (gst_bin_handle_message_func):
510         Don't leak clock messages.
511
512 2005-11-25  Wim Taymans  <wim@fluendo.com>
513
514         * gst/gstutils.c: (gst_util_uint64_scale_int64),
515         (gst_util_uint64_scale_int):
516         Optimisations, remove unneeded vars.
517
518 2005-11-25  Wim Taymans  <wim@fluendo.com>
519
520         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
521         Added more checks for the high precision uint64 cases.
522
523         * gst/gstutils.c: (gst_util_uint64_scale_int64),
524         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
525         Implement high precission (guint64 * guint64) / guint64.
526
527 2005-11-24  Wim Taymans  <wim@fluendo.com>
528
529         * gst/base/gstbasesrc.c: (gst_base_src_query):
530         Fix wrong percentage query.
531
532         * gst/gstutils.c: (gst_util_uint64_scale),
533         (gst_util_uint64_scale_int):
534         Add some more common cases that can be handled 
535         efficiently to _scale.
536
537 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
538
539         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
540         (gst_mini_object_suite):
541           don't use check calls from threads; check probably isn't
542           threadsafe and using a lock to make it threadsafe would
543           defeat the purpose of this check
544         * gst/check/gstcheck.c:
545         * gst/check/gstcheck.h:
546           use GST_DEBUG some more
547
548 2005-11-24  Wim Taymans  <wim@fluendo.com>
549
550         * gst/gstutils.c: (gst_util_uint64_scale),
551         (gst_util_uint64_scale_int):
552         Chain trivial case to _scale_int.
553
554 2005-11-24  Wim Taymans  <wim@fluendo.com>
555
556         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
557         Added test for scaling.
558
559         * gst/gstclock.h:
560         Small doc fix.
561
562         * gst/gstutils.c: (gst_util_uint64_scale_int):
563         Implemented high precision scaling code.
564
565 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
566
567         * gst/gstinfo.h:
568           do not crash on pad==NULL
569
570 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
571
572         Patch by: Stefan Kost
573
574         * common/gtk-doc.mak:
575         * docs/gst/Makefile.am:
576         * docs/libs/Makefile.am:
577           Fix distcheck issues for the libraries docs build
578           Closes #319599.
579
580 2005-11-24  Michael Smith <msmith@fluendo.com>
581
582         * docs/manual/basics-helloworld.xml:
583           Fix bug #315027: memory leak in example code in docs.
584
585 2005-11-24  Michael Smith <msmith@fluendo.com>
586
587         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
588           Unlock the PREROLL_LOCK in a failure case.
589
590 2005-11-24  Wim Taymans  <wim@fluendo.com>
591
592         * docs/gst/gstreamer-sections.txt:
593         * gst/base/gstadapter.h:
594         * gst/base/gstbasesink.h:
595         * gst/base/gstbasesrc.h:
596         * gst/base/gstbasetransform.h:
597         * gst/base/gstpushsrc.h:
598         * gst/elements/gstfakesink.h:
599         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
600         * gst/elements/gstfakesrc.h:
601         * gst/elements/gstfilesink.h:
602         * gst/elements/gstfilesrc.h:
603         * gst/gst.c:
604         * gst/gstbin.c:
605         * gst/gstbuffer.c: (_gst_buffer_copy):
606         * gst/gstbus.h:
607         * gst/gstcaps.c:
608         * gst/gstchildproxy.c:
609         * gst/gstclock.c:
610         * gst/gstelement.c:
611         * gst/gstelementfactory.c:
612         * gst/gstelementfactory.h:
613         * gst/gstevent.c:
614         * gst/gstghostpad.h:
615         * gst/gstindex.h:
616         * gst/gstinterface.h:
617         * gst/gstminiobject.c:
618         * gst/gstminiobject.h:
619         * gst/gstpad.c:
620         * gst/gstpad.h:
621         * gst/gstpadtemplate.h:
622         * gst/gstpipeline.h:
623         * gst/gstpluginfeature.h:
624         * gst/gstquery.h:
625         * gst/gstqueue.h:
626         * gst/gsttaglist.c:
627         * gst/gsttaglist.h:
628         * gst/gsttagsetter.c:
629         * gst/gsttagsetter.h:
630         * gst/gsttrace.c:
631         * gst/gsttrace.h:
632         * gst/gsttypefind.h:
633         * gst/gsturi.h:
634         * gst/gstvalue.c:
635         * gst/net/gstnetclientclock.c:
636         * gst/net/gstnetclientclock.h:
637         * gst/net/gstnettimepacket.c:
638         * gst/net/gstnettimeprovider.c:
639         * gst/net/gstnettimeprovider.h:
640         Doc fixes.
641
642 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
643
644         * configure.ac: back to HEAD
645
646 === release 0.9.6 ===
647
648 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
649
650         * configure.ac:
651           releasing 0.9.6, "Always On Time"
652
653 2005-11-23  Wim Taymans  <wim@fluendo.com>
654
655         * docs/gst/gstreamer-sections.txt:
656         * gst/glib-compat.c:
657         * gst/gsttagsetter.c:
658         * gst/gstvalue.c:
659         * gst/net/gstnetclientclock.c:
660         * gst/net/gstnettimepacket.h:
661         Doc updates.
662
663 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
664
665         * docs/faq/using.xml:
666         * docs/libs/tmpl/gstcontrol.sgml:
667         * docs/manual/advanced-dparams.xml:
668         * docs/manual/appendix-checklist.xml:
669         * docs/manual/basics-elements.xml:
670         * docs/pwg/other-source.xml:
671         * docs/random/moving-plugins:
672         * gst/gstpad.c:
673         * tools/gst-launch.1.in:
674           remove mentions of sinesrc
675
676 2005-11-23  Michael Smith <msmith@fluendo.com>
677
678         * docs/gst/gstreamer-sections.txt:
679           Update for new API and API changes.
680         * gst/gstobject.h:
681           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
682         * gst/gstvalue.c:
683           Documentation typo fix.
684         * gst/net/gstnettimepacket.c:
685           Documentation fixes for arguments.
686
687 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
688
689         * gst/gststructure.c: (gst_structure_get_fraction),
690         (gst_structure_parse_value),
691         (gst_structure_fixate_field_nearest_fraction):
692         * gst/gststructure.h:
693         * gst/gstutils.c: (gst_util_uint64_scale_int):
694         * gst/gstutils.h:
695         * scripts/update-funcnames:
696         API Changes. 
697         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
698         Make gst_structure_fixate_field_nearest_fraction take a numerator
699         and denominator argument instead of a GValue
700         add gst_structure_get_fraction helper function.
701
702 2005-11-23  Wim Taymans  <wim@fluendo.com>
703
704         * docs/design/part-TODO.txt:
705         Update TODO.
706
707         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
708         * gst/net/gstnetclientclock.h:
709         Use parent fields for timeout and window_size.
710
711 2005-11-23  Andy Wingo  <wingo@pobox.com>
712
713         * check/net/gstnetclientclock.c (test_functioning): Adjust to
714         rate_num/rate_denom change.
715
716         * gst/net/gstnetclientclock.c
717         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
718         OBJECT_LOCK. Don't call add_observation with the lock.
719
720         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
721         fraction.
722         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
723         rate fraction.
724         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
725         deal with rate as a fraction whose numerator and denominator are
726         GstClockTime values.
727         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
728         master; the other fields are protected by the SLAVE_LOCK.
729         (do_linear_regression): Note that this must be called with the
730         SLAVE_LOCK.
731         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
732         OBJECT_LOCK. Call set_calibration instead of touching the
733         variables directly.
734         (gst_clock_set_property, gst_clock_get_property): Protect
735         master/slave parameters with the SLAVE_LOCK.
736
737         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
738         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
739         note that all of the instance variables that add_observation and
740         the set_master functions use are protected by that lock and not
741         the OBJECT_LOCK.
742         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
743
744         * gst/gstclock.c (gst_clock_add_observation): No longer requires
745         the caller to take the object lock.
746
747 2005-11-23  Wim Taymans  <wim@fluendo.com>
748
749         * gst/gsterror.c: (_gst_core_errors_init):
750         * gst/gsterror.h:
751         Add error for clock stuff.
752
753         * gst/gstpipeline.c: (gst_pipeline_change_state),
754         (gst_pipeline_set_clock):
755         Post clock error when clock cannot be used in a pipeline.
756
757 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
758
759         * docs/gst/gstreamer-sections.txt:
760           make two symbols from gstinfo private for the docs
761         * gst/base/gstcollectpads.h:
762         * gst/gstutils.c:
763           fix doc typos, update docs
764
765 2005-11-22  Wim Taymans  <wim@fluendo.com>
766
767         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
768         (gst_base_sink_wait), (gst_base_sink_do_sync),
769         (gst_base_sink_handle_event):
770         * gst/base/gstbasesink.h:
771         No need to store the clock, the parent element class already
772         has it.
773
774         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
775         Updates for clock_set returning a gboolean
776
777         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
778         (gst_clock_id_wait_async), (gst_clock_class_init),
779         (gst_clock_init), (gst_clock_finalize),
780         (gst_clock_get_internal_time), (gst_clock_get_time),
781         (gst_clock_slave_callback), (gst_clock_set_master),
782         (gst_clock_get_master), (do_linear_regression),
783         (gst_clock_add_observation), (gst_clock_set_property),
784         (gst_clock_get_property):
785         * gst/gstclock.h:
786         Implement master/slave. When setting a clock as a slave, a
787         periodic timeout is scheduled to sample master and slave times.
788         Then the slave clock is recalibrated to match offset and rate
789         of the master clock.
790         Update logging a bit.
791         Add flag so that a clock can state that is cannot be slaved to
792         another clock.
793
794         * gst/gstelement.c: (gst_element_set_clock):
795         * gst/gstelement.h:
796         The set clock returns a gboolean for when an element cannot
797         deal with the selected clock in the pipeline. 
798
799         * gst/gstpipeline.c: (gst_pipeline_change_state),
800         (gst_pipeline_set_clock):
801         * gst/gstpipeline.h:
802         Handle the case where the selected clock cannot be set on
803         the pipeline.
804
805         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
806         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
807         (gst_net_client_clock_set_property),
808         (gst_net_client_clock_get_property),
809         (gst_net_client_clock_observe_times):
810         * gst/net/gstnetclientclock.h:
811         Use regression code in GstClock parent, remove duplicated
812         functionality.
813
814 2005-11-22  Michael Smith <msmith@fluendo.com>
815
816         * gst/gstutils.c: (gst_util_clock_time_scale):
817         * gst/gstutils.h:
818         * docs/gst/gstreamer-sections.txt:
819           Rename method to have extra underscore.
820
821 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
822
823         * gst/elements/Makefile.am:
824         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
825         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
826         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
827         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
828         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
829         * gst/elements/gstfakesrc.h:
830         * gst/gstqueue.c: (queue_leaky_get_type):
831           correctly fix GEnumValues so that nick is the short lowercase
832           dashed tag
833         * tools/gst-inspect.c: (print_element_properties_info):
834           also show the nick, since it's useful to use from parse_launch
835           syntax
836           Fixes #322139
837
838 2005-11-22  Michael Smith <msmith@fluendo.com>
839
840         * gst/gstutils.c: (gst_util_clocktime_scale):
841         * gst/gstutils.h:
842         * docs/gst/gstreamer-sections.txt:
843           Add util method for scaling a clocktime by a fraction. Useful 
844           implementation is left as an exercise for the reader.
845
846 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
847
848         * gst/gstvalue.c: (gst_value_collect_fraction_range):
849         If needed, allocate storage in the destination value during
850         collection.
851
852 2005-11-22  Edward Hervey  <edward@fluendo.com>
853
854         * docs/gst/gstreamer-sections.txt:
855         * gst/Makefile.am:
856         * gst/gst.h:
857         * gst/gsturitype.c:
858         * gst/gsturitype.h:
859         * gst/gstutils.c: (gst_util_set_object_arg):
860         * tools/gst-compprep.c: (main):
861         * tools/gst-inspect.c: (print_element_properties_info):
862         Removed GstURI, closes bug #321061
863
864 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
865
866         * check/gst/gststructure.c: (GST_START_TEST):
867         * gst/gststructure.c: (gst_structure_parse_value):
868           Oops, broke automatic string type parsing.
869           Add a test to catch it in future.
870
871 2005-11-22  Andy Wingo  <wingo@pobox.com>
872
873         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
874         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
875         Actually rename the function implementations. Grr.
876
877 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
878
879         * check/gst/capslist.h:
880           Comment test cases
881         * check/gst/gststructure.c: (GST_START_TEST),
882         (gst_structure_suite):
883           Test automatic value type detection in gst_structure_from_string.
884         * gst/gststructure.c: (gst_structure_parse_value):
885           Add fraction as a type we try and guess automatically in
886           caps/structure strings.
887
888 2005-11-22  Andy Wingo  <wingo@pobox.com>
889
890         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
891
892         * gst/gsttagsetter.h:
893         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
894         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
895         (gst_tag_setter_add_tag_valist)
896         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
897         _add_values, _add_valist, and _add_valist_values. Since this is an
898         interface the function suffixes should be more explicit so
899         language binding don't end up with element.add_valist ->
900         gst_tag_setter_add_valist, for example. Fixes #322069.
901
902 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
903
904         * check/gst/gstcaps.c: (GST_START_TEST):
905           Extend caps string tests to check that a caps to string
906           conversion is reversible and produces the same caps.
907
908         * gst/gststructure.c: (gst_structure_value_get_generic_type):
909           Output "fraction" as the generic type fraction range, so caps
910           serialisation and deserialisation works.
911         * check/gst/capslist.h:
912         * gst/gstvalue.c: (gst_value_deserialize_fraction):
913           Support 'MIN' and 'MAX' for deserialising fractions.
914
915 2005-11-22  Andy Wingo  <wingo@pobox.com>
916
917         * gst/gstevent.h (gst_event_new_new_segment)
918         (gst_event_parse_new_segment, gst_event_new_buffer_size)
919         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
920         Renamed from *_newsegment, *_buffersize, *_notarget.
921
922         * scripts/update-funcnames: New script, performs the changes
923         listed above.
924
925 2005-11-22  Wim Taymans  <wim@fluendo.com>
926
927         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
928         Make sure the GstFlowReturn is returned.
929
930         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
931         (gst_bus_add_signal_watch):
932         * gst/gstbus.h:
933         add gst_bus_add_signal_watch_full.
934
935         * gst/gstplugin.c: (gst_plugin_load_file):
936         Small style cleanup.
937
938 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
939
940         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
941           Block the fakesrc srcpad when we send an event, to avoid
942           contention on the stream_lock causing random test failures.
943
944 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
945
946         * check/gst/gstvalue.c: (GST_START_TEST):
947         * gst/gstvalue.c: (gst_value_fraction_subtract):
948           Fix subtraction.
949
950 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
951
952         * gst/gst.h:
953           include "gstchildproxy.h"
954         * gst/gstchildproxy.h:
955         * libs/gst/controller/gstcontroller.h:
956           use G_GNUC_NULL_TERMINATED
957
958 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
959
960         * check/gst/capslist.h:
961         * check/gst/gstcaps.c: (GST_START_TEST):
962         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
963         * gst/gststructure.c: (gst_structure_parse_range),
964         (gst_structure_fixate_field_nearest_fraction):
965         * gst/gststructure.h:
966         * gst/gstvalue.c: (gst_value_init_fraction_range),
967         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
968         (gst_value_collect_fraction_range),
969         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
970         (gst_value_set_fraction_range_full),
971         (gst_value_get_fraction_range_min),
972         (gst_value_get_fraction_range_max),
973         (gst_value_serialize_fraction_range),
974         (gst_value_transform_fraction_range_string),
975         (gst_value_compare_fraction_range),
976         (gst_value_deserialize_fraction_range),
977         (gst_value_intersect_fraction_fraction_range),
978         (gst_value_intersect_fraction_range_fraction_range),
979         (gst_value_subtract_fraction_fraction_range),
980         (gst_value_subtract_fraction_range_fraction),
981         (gst_value_subtract_fraction_range_fraction_range),
982         (gst_value_collect_fraction), (gst_value_fraction_multiply),
983         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
984         (gst_value_transform_string_fraction), (_gst_value_initialize):
985         * gst/gstvalue.h:
986           Implement fraction ranges and extend GstFraction to support
987           arithmetic subtraction, as well as deserialization from integer
988           strings such as "100"
989           Add a testsuite as for int and double range set operations
990
991 2005-11-21  Andy Wingo  <wingo@pobox.com>
992
993         * gst/gsttaglist.h: 
994         * gst/gstcaps.h: 
995         * gst/gststructure.h: Add glib-compat.h.
996
997 2005-11-21  Wim Taymans  <wim@fluendo.com>
998
999         * gst/gstbin.c: (gst_bin_change_state_func):
1000         Fix for #321595
1001
1002 2005-11-21  Wim Taymans  <wim@fluendo.com>
1003
1004         * gst/gstsegment.h:
1005         And add a nice define too.
1006
1007 2005-11-21  Wim Taymans  <wim@fluendo.com>
1008
1009         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1010         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1011         (gst_segment_set_duration), (gst_segment_set_last_stop),
1012         (gst_segment_set_seek), (gst_segment_set_newsegment),
1013         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1014         (gst_segment_clip):
1015         * gst/gstsegment.h:
1016         Make binding friendly.
1017
1018 2005-11-21  Andy Wingo  <wingo@pobox.com>
1019
1020         * gst/gsttagsetter.h: 
1021         * gst/gsttaglist.h: 
1022         * gst/gststructure.h: 
1023         * gst/gstcaps.h: 
1024         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1025         #319940.
1026
1027         * gst/gsterror.c (_gst_core_errors_init):
1028         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1029         category.
1030
1031         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1032         (noinst_HEADERS): noinst the -private.
1033
1034 2005-11-21  Michael Smith <msmith@fluendo.com>
1035
1036         * gst/gstplugin.h:
1037         * gst/gstregistry.h:
1038           Remove unimplemented declarations for which we can see no sensible
1039           use.
1040
1041 2005-11-21  Andy Wingo  <wingo@pobox.com>
1042
1043         * gst/gst.h: Include glib-compat.h.
1044
1045         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1046
1047         * gst/glib-compat.c: Include the public and the private header.
1048
1049         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1050
1051         * gst/gstvalue.c: 
1052         * gst/gstpad.c: 
1053         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1054
1055         * check/gst/gstevent.c (create_custom_events): Check that
1056         FLUSH_STOP is serialized.
1057
1058         * check/elements/identity.c (event_func): 
1059         * check/elements/fakesrc.c (event_func): No stream lock, the core
1060         takes it.
1061
1062         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1063         stream lock taking, yay.
1064
1065         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1066         ensure that core takes the stream lock.
1067
1068         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1069         lock name change.
1070
1071         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1072         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1073         it already. For the flush start we do take it though so we get the
1074         right preroll state change messages.
1075
1076         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1077         the stream lock here, the core does it for us.
1078
1079         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1080         GST_STREAM_GET_LOCK.
1081         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1082         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1083         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1084         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1085         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1086         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1087
1088         * gst/gstpad.c: Update for stream lock name change.
1089
1090         * gst/base/gstbasesink.c: Update for preroll lock name change.
1091
1092 2005-11-21  Wim Taymans  <wim@fluendo.com>
1093
1094         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1095         (gst_clock_get_master):
1096         * gst/gstclock.h:
1097         * gst/gstsystemclock.c: (gst_system_clock_init):
1098         Convert Clock flags to object flags.
1099         Added methods to manage master/slave clocks.
1100
1101 2005-11-21  Wim Taymans  <wim@fluendo.com>
1102
1103         * check/gst/gstsegment.c: (GST_START_TEST):
1104         * docs/design/part-TODO.txt:
1105         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1106         (gst_base_sink_event), (gst_base_sink_do_sync),
1107         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1108         (gst_base_sink_query), (gst_base_sink_change_state):
1109         * gst/base/gstbasesink.h:
1110         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1111         (gst_base_src_default_newsegment),
1112         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1113         (gst_base_src_get_range), (gst_base_src_loop),
1114         (gst_base_src_change_state):
1115         * gst/base/gstbasesrc.h:
1116         * gst/base/gstbasetransform.c:
1117         (gst_base_transform_prepare_output_buf),
1118         (gst_base_transform_event), (gst_base_transform_change_state):
1119         * gst/base/gstbasetransform.h:
1120         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1121         (gst_collect_pads_event):
1122         * gst/base/gstcollectpads.h:
1123         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1124         (gst_fake_src_create):
1125         * gst/elements/gstfakesrc.h:
1126         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1127         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1128         (gst_segment_set_last_stop), (gst_segment_set_seek),
1129         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1130         (gst_segment_to_running_time), (gst_segment_clip):
1131         * gst/gstsegment.h:
1132         More segment updates, replace code in plugins with segment
1133         helper functions.
1134
1135 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1136
1137         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1138         Don't ignore sscanf results
1139
1140 2005-11-21  Andy Wingo  <wingo@pobox.com>
1141
1142         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1143
1144         * *.h:
1145         * *.c: Ran scripts/update-macros. Oh yes.
1146
1147         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1148         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1149         GST_GET_LOCK, etc.
1150
1151         * scripts/update-macros: New script. Run it on your files to
1152         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1153         well.
1154
1155 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1156
1157         * docs/gst/Makefile.am:
1158         * docs/gst/gstreamer-docs.sgml:
1159         * docs/gst/gstreamer-sections.txt:
1160         * docs/gst/gstreamer.types:
1161         * gst/gstinfo.h:
1162           more docs fixes, add new api to the docs
1163
1164 2005-11-21  Andy Wingo  <wingo@pobox.com>
1165
1166         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1167         state_broadcast call.
1168
1169         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1170
1171 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1172
1173         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1174         function calls for arrays.
1175
1176 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1177
1178         * docs/random/ensonic/media-device-daemon.txt:
1179           wild idea, can this be done?
1180         * docs/gst/gstreamer-sections.txt:
1181         * gst/gsterror.h:
1182         * gst/gstfilter.c:
1183         * gst/gstfilter.h:
1184         * gst/gstplugin.h:
1185         * gst/gstpluginfeature.c:
1186         * gst/gsttrace.c:
1187         * gst/gstvalue.c:
1188         * gst/gstvalue.h:
1189           doc fixes and additions
1190
1191 2005-11-21  Andy Wingo  <wingo@pobox.com>
1192
1193         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1194         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1195         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1196         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1197         private to the basesrc implementation.
1198
1199         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1200         behalf of event function if necessary. It should no longer be
1201         necessary to take the stream lock in pad's event functions. Fixes
1202         #320299.
1203
1204 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1205         * docs/gst/gstreamer-sections.txt:
1206         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1207         (gst_structure_fixate_field_nearest_double),
1208         (gst_structure_fixate_field_boolean):
1209         * gst/gststructure.h:
1210         * win32/common/libgstreamer.def:
1211         * win32/gstreamer.def:
1212
1213         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1214         (#322027)
1215
1216 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1217
1218         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1219         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1220         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1221         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1222         (gst_fdsrc_uri_handler_init):
1223         * gst/elements/gstfdsrc.h:
1224           Port fd:// URI handler from 0.8 to fdsrc
1225
1226 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1227
1228         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1229         (gst_value_serialize_fourcc):
1230         * gst/gstvalue.h:
1231           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1232           consistent with our other format defines (#320324).
1233
1234 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1235
1236         * gst/gstvalue.c: (gst_value_is_fixed):
1237           Revert previous commit. Value lists are by definition
1238           not fixed, as they are a list of possible values.
1239
1240 2005-11-21  Andy Wingo  <wingo@pobox.com>
1241
1242         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1243         during the stable series if we need it. Fixes #319178.
1244
1245         * gst/gstevent.c (gst_event_new_filler): Removed.
1246
1247         * check/gst/gstevent.c: Update comment about filler events.
1248
1249 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1250
1251         * gst/gstvalue.c: (gst_value_is_fixed):
1252           Should handle both value arrays and value lists.
1253
1254 2005-11-21  Andy Wingo  <wingo@pobox.com>
1255
1256         patch by: Alessandro Dessina <alessandro nnva org>
1257
1258         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1259         functions to access arrays. Fixes #321962.
1260
1261 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1262
1263         * docs/gst/gstreamer.types:
1264           gst_collectpads_get_type => gst_collect_pads_get_type.
1265           
1266         * gst/base/gstbasetransform.c:
1267           Remove unused SIGNAL_HANDOFF enum.
1268
1269 2005-11-21  Andy Wingo  <wingo@pobox.com>
1270
1271         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1272         the event type (upstream, downstream, serialized). Renamed
1273         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1274         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1275         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1276
1277         * gst/gstevent.c: Update for new CUSTOM event names.
1278
1279         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1280
1281         * gst/gstevent.h:
1282         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1283         bug #319392.
1284
1285 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1286
1287         * docs/gst/gstreamer-sections.txt:
1288         * win32/common/libgstbase.def:
1289         * win32/libgstbase.def:
1290         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1291         (gst_collect_pads_class_init), (gst_collect_pads_init),
1292         (gst_collect_pads_finalize), (gst_collect_pads_new),
1293         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1294         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1295         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1296         (gst_collect_pads_start), (gst_collect_pads_stop),
1297         (gst_collect_pads_peek), (gst_collect_pads_pop),
1298         (gst_collect_pads_available), (gst_collect_pads_read),
1299         (gst_collect_pads_flush), (gst_collect_pads_event),
1300         (gst_collect_pads_chain):
1301         * gst/base/gstcollectpads.h:
1302           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1303           unimplemented functions as unimplemented. Add padding to
1304           GstCollectData. (#320766, #320423)
1305
1306 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1307
1308         * gst/gstmessage.c:
1309           Improve docs for DURATION message (usage of duration parameter)
1310           (#320113)
1311
1312 2005-11-20  Wim Taymans  <wim@fluendo.com>
1313
1314         * check/Makefile.am:
1315         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1316         (main):
1317         * gst/Makefile.am:
1318         * gst/gst.h:
1319         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1320         (gst_segment_set_seek), (gst_segment_set_newsegment),
1321         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1322         (gst_segment_clip):
1323         * gst/gstsegment.h:
1324         Added segment helper structure and methods. Not fully implemented
1325         yet.
1326         Added segment check.
1327
1328 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1329
1330         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1331           Add a deserialisation test for fractions
1332         * examples/metadata/read-metadata.c: (message_loop),
1333         (make_pipeline), (main):
1334           Fix up metadata reading sample.
1335         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1336           Debug format fix
1337         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1338           Don't try and fixate empty caps
1339         * gst/gst_private.h:
1340           Wrap in G_BEGIN_DECLS/G_END_DECLS
1341         * gst/gstvalue.c: (gst_value_collect_fraction),
1342         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1343         (gst_value_transform_string_fraction),
1344         (gst_value_compare_fraction):
1345           Add some extra guards to ensure that we don't end up 
1346           with an invalid denominator of 0 in a gstfraction and
1347           that fractions always get reduced.
1348
1349 2005-11-20  Wim Taymans  <wim@fluendo.com>
1350
1351         * docs/gst/gstreamer-sections.txt:
1352         * gst/gstbuffer.h:
1353         * gst/gstelement.c:
1354         * gst/gstformat.c:
1355         * gst/gstformat.h:
1356         * gst/gstindex.h:
1357         * gst/gstquery.c:
1358         * gst/gstquery.h:
1359         * gst/gstvalue.c:
1360         Doc fixes.
1361
1362 2005-11-20  Wim Taymans  <wim@fluendo.com>
1363
1364         * docs/design/part-TODO.txt:
1365         * gst/gstcaps.h:
1366         Make a proper enum of the flag.
1367
1368 2005-11-19  Wim Taymans  <wim@fluendo.com>
1369
1370         * docs/design/part-TODO.txt:
1371         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1372         (gst_format_to_quark), (gst_format_register):
1373         * gst/gstformat.h:
1374         * gst/gstquery.c: (_gst_query_initialize),
1375         (gst_query_type_get_name), (gst_query_type_to_quark),
1376         (gst_query_type_register):
1377         * gst/gstquery.h:
1378         Add type to quark and type to string conversions.
1379
1380 2005-11-19  Andy Wingo  <wingo@pobox.com>
1381
1382         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1383         #320097.
1384
1385 2005-11-19  Wim Taymans  <wim@fluendo.com>
1386
1387         * docs/design/part-TODO.txt:
1388         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1389         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1390         (gst_bin_handle_message_func):
1391         * gst/gstbin.h:
1392         Make message handling overridable.
1393
1394 2005-11-19  Andy Wingo  <wingo@pobox.com>
1395
1396         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1397
1398         * gst/gstclock.h:
1399         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1400         be a GstClockTime.
1401         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1402         is a GstClockTime. Fixes #321710.
1403
1404         * gst/gstclock.h (GstClock): Remove offset property. Add
1405         internal_calibration and external_calibration. Fix padding. Pad
1406         also by GstClockTime so we don't run into problems.
1407
1408         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1409         (gst_clock_get_rate_offset): Remove.
1410         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1411
1412         * gst/gstutils.h:
1413         * gst/gstutils.c (g_static_rec_cond_wait)
1414         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1415
1416         * gst/gstbin.c: Remove terrible continue_state prototype.
1417
1418         * gst/gstelement.h (gst_element_continue_state): Make public.
1419
1420         * gst/gstelement.h:
1421         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1422         by continue_state. Fixes #319389.
1423
1424         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1425         Really fixes #168438. However I don't see anywhere where the
1426         filter function is called... stupid GStreamer...
1427         
1428         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1429         don't have a dispose function, so it won't get called when the
1430         object is unreffed, but oh well!
1431
1432         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1433         allows a destroy function to be set so user_data can be freed.
1434         Fixes #168438.
1435         (gst_index_set_filter): Call gst_index_set_filter_full.
1436
1437         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1438
1439         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1440         string should produce an error, given the lack of a way to
1441         represent NULL strings. Fixes #165650.
1442         
1443         * gst/gstvalue.h: 
1444         * gst/gstvalue.c (gst_value_array_append_value) 
1445         (gst_value_array_prepend_value, gst_value_array_get_size) 
1446         (gst_value_array_get_value): New API, copied from
1447         gst_value_list_*, only operates on arrays.
1448         (gst_value_list_append_value, gst_value_list_prepend_value) 
1449         (gst_value_list_concat, gst_value_list_get_size) 
1450         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1451
1452         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1453         init_list, because it works on both.
1454         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1455         (gst_value_copy_list_or_array): Renamed from copy_list.
1456         (gst_value_free_list_or_array): Renamed from free_list.
1457         (gst_value_collect_list_or_array): Renamed from collect_list.
1458         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1459         (gst_value_list_or_array_peek_pointer): Renamed from
1460         list_peek_pointer.
1461         (_gst_value_array_value_table, _gst_value_list_value_table):
1462         Update value table functions.
1463         (gst_value_compare_list_or_array): Renamed from compare_list.
1464
1465         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1466         some constness.
1467
1468         * gst/gsttaglist.c:
1469         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1470         GstTagList*. Fixes #143472.
1471
1472         * gst/gststructure.h: Clarify what the foreach/map functions can
1473         or can't do to their arguments.
1474
1475 2005-11-18  Wim Taymans  <wim@fluendo.com>
1476
1477         * gst/gstclock.c: (gst_clock_set_calibration),
1478         (gst_clock_get_calibration):
1479         Doc and API fixes.
1480         Calibration can be set with internal time equal to current
1481         internal time too.
1482
1483 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1484
1485         * gst/gsterror.c:
1486         * gst/gsterror.h:
1487           document
1488
1489 2005-11-18  Andy Wingo  <wingo@pobox.com>
1490
1491         * configure.ac: 
1492         * pkgconfig/gstreamer-net.pc.in:
1493         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1494         * pkgconfig/Makefile.am: Add net pkgconfig files.
1495
1496 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1497
1498         * gst/gstcaps.c:
1499         * gst/gstghostpad.c:
1500         * gst/gsttrace.c:
1501         * gst/gstvalue.c:
1502         * gst/gstvalue.h:
1503           docs fixes
1504
1505 2005-11-18  Andy Wingo  <wingo@pobox.com>
1506
1507         * gst/net/gstnetclientclock.c: Turn off debugging.
1508
1509         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1510         times connverge somewhat. Can't make a real test.
1511
1512         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1513         integer arithmetic. Return the minimum of the domain, which can be
1514         set as "internal" for gst_clock_set_calibration.
1515         (gst_net_client_clock_observe_times): Call _set_calibration.
1516         (gst_net_client_clock_new): Call _set_calibration instead of
1517         rate_offset.
1518
1519         * check/net/gstnetclientclock.c (test_functioning): Use the right
1520         adjustment api.
1521
1522         * gst/gstclock.h:
1523         * gst/gstclock.c (gst_clock_get_calibration) 
1524         (gst_clock_set_calibration): New functions, obsolete the ones I
1525         added yesterday. Doh. Precision issues mean we have to extrapolate
1526         from a point in the more recent past than 1970.
1527         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1528         obsolete.
1529         (gst_clock_adjust_unlocked): Use the right calibration data.
1530
1531 2005-11-18  Edward Hervey  <edward@fluendo.com>
1532
1533         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1534         Also reset the ->current_* values in READY->PAUSED
1535
1536 2005-11-18  Andy Wingo  <wingo@pobox.com>
1537
1538         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1539         Whoops, check the right fd. Also add some debugging.
1540         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1541         (do_linear_regression): Add a crapload of debugging. Subtract off
1542         the minimum values from the input series to discard unneeded bits.
1543         Use only int arithmetic. There is still double arithmetic when
1544         calculating the intercept that needs fixing. Return boolean to
1545         indicate success; FALSE would mean the domain or range is too
1546         great. Still needs fixes.
1547
1548 2005-11-18  Wim Taymans  <wim@fluendo.com>
1549
1550         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1551         For the current position in stream time, we need to subtract
1552         accumulated time.
1553         
1554         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1555         Release lock before calling the callback function of async
1556         entries.
1557
1558 2005-11-18  Andy Wingo  <wingo@pobox.com>
1559
1560         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1561         Port goes all the way to MAXUINT16.
1562
1563         * gst/net/gstnettimeprovider.c: Make the port range the same as
1564         for the kernel: 0 assigns, otherwise ports are less than
1565         MAXUINT16.
1566
1567         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1568         port change.
1569
1570         * check/net/gstnetclientclock.c (test_functioning): Add the start
1571         of another test. 
1572
1573 2005-11-18  Wim Taymans  <wim@fluendo.com>
1574
1575         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1576         (gst_bin_remove_func), (bin_bus_handler):
1577         * gst/gstbin.h:
1578         Removing a clock provider from a bin, triggers a clock lost message
1579         so that a new clock will be selected.
1580         Adding a clock to a bin triggers a clock provider message.
1581         Make sure we reselect a clock when we received a clock lost message.
1582         Keep a reference to the element that provided the clock.
1583
1584 2005-11-18  Andy Wingo  <wingo@pobox.com>
1585
1586         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1587         the clock initially so it produces values around the base time.
1588         (gst_net_client_clock_class_init): Typo fix.
1589         (gst_net_client_clock_thread): Add note on when the socket gets
1590         closed.
1591
1592 2005-11-17  Wim Taymans  <wim@fluendo.com>
1593
1594         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1595         Free remote and local time arrays.
1596
1597 2005-11-17  Wim Taymans  <wim@fluendo.com>
1598
1599         * gst/net/gstnetclientclock.c: (do_linear_regression),
1600         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1601         Fix compilation, uninitialized vars and a forgotten continue.
1602
1603 2005-11-17  Andy Wingo  <wingo@pobox.com>
1604
1605         * check/Makefile.am (check_PROGRAMS): 
1606         * check/net/gstnetclientclock.c: Add a most minimal test for the
1607         net client clock. More to come later.
1608
1609         * gst/net/gstnet.h: 
1610         * gst/net/Makefile.am: Add netclientclock.
1611
1612         * gst/net/gstnetclientclock.h:
1613         * gst/net/gstnetclientclock.c: New files, implement an untested
1614         GstClock that takes its time from a network time provider.
1615         Implements the algorithm in network-clock.scm.
1616
1617         * tests/network-clock.scm (*window-size*): Rename from
1618         *queue-length*.
1619         * tests/network-clock.scm (network-time): 
1620         * tests/network-clock-utils.scm (q-push): Update callers.
1621
1622 2005-11-17  Wim Taymans  <wim@fluendo.com>
1623
1624         * gst/gstbin.c: (gst_bin_provide_clock_func),
1625         (gst_bin_sort_iterator_new):
1626         And unref the child too..
1627
1628 2005-11-17  Wim Taymans  <wim@fluendo.com>
1629
1630         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1631         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1632         Refactor the sort iterator so it can be used while holding the
1633         LOCK too.
1634         Make clock selection select a clock closest to the source.
1635
1636 2005-11-17  Michael Smith <msmith@fluendo.com>
1637
1638         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1639         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1640         * gst/gstclock.h:
1641           Anonymous structs are a gcc (and some other compilers) extension, so
1642           don't use them. Since this is only for ABI-compatibility, and our
1643           API/ABI freeze is over in a few days, this whole thing will only
1644           last a few days, so don't bother trying to think up a meaningful
1645           name for the struct.
1646
1647 2005-11-17  Andy Wingo  <wingo@pobox.com>
1648
1649         * gst/gstclock.h (GstClock): Add rate and offset properties,
1650         preserving ABI stability. Add rate/offset accessors. Will file bug
1651         for the freeze break.
1652
1653         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1654         and offset, trying to keep precision and avoiding
1655         underflow/overflow.
1656         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1657         functions. Make gst_clock_set_time_adjust obsolete.
1658         (gst_clock_set_time_adjust): Note that this function is obsolete.
1659         Will file bug soon.
1660
1661         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1662         greppable by using GST_PADDING-1+1.
1663
1664 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1665
1666         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1667
1668         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1669           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1670
1671         * gst/gstpadtemplate.h:
1672         * gst/gstpluginfeature.h:
1673           Don't use c++ style comments in headers (#321638).
1674
1675 2005-11-16  Andy Wingo  <wingo@pobox.com>
1676
1677         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1678         buffer.
1679
1680         * check/net/gstnettimeprovider.c: Check to see that the time
1681         provider actually provides times. Works, yo!
1682
1683 2005-11-16  Wim Taymans  <wim@fluendo.com>
1684
1685         * check/Makefile.am:
1686         Enable more tests.
1687
1688         * check/elements/fakesrc.c: (GST_START_TEST):
1689         Set element to NULL before disposing it.
1690
1691 2005-11-16  Andy Wingo  <wingo@pobox.com>
1692
1693         * gst/net/Makefile.am:
1694         * gst/net/gstnet.h:
1695         * gst/net/gstnettimeprovider.c: 
1696         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1697         provider, include it from gstnet.h, and add it to the build.
1698
1699         * gst/net/gstnettimepacket.h: 
1700         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1701         sending and receiving.
1702
1703 2005-11-16  Wim Taymans  <wim@fluendo.com>
1704
1705         * check/Makefile.am:
1706         Enable valgrind check.
1707
1708         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1709         (gst_fake_src_alloc_buffer):
1710         Fix memleak.
1711
1712 2005-11-16  Wim Taymans  <wim@fluendo.com>
1713
1714         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1715         Call parent finalize too.
1716
1717 2005-11-16  Wim Taymans  <wim@fluendo.com>
1718
1719         * check/Makefile.am:
1720         Enable valgrind check that should work fine now.
1721
1722         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1723         * gst/gstqueue.c: (gst_queue_init):
1724         Fix memleaks in pad allocation.
1725
1726 2005-11-16  Andy Wingo  <wingo@pobox.com>
1727
1728         * gst/net/Makefile.am:
1729         * gst/net/gstnet.h: New part of core to hold network elements and
1730         objects. Put in core because it exposes API that applications want
1731         to use. The library is named libgstnet-tempname right now because
1732         of the existing libgstnet in gst-plugins-base. Solution is
1733         probably to rename the one in plugins-base; will file a bug for
1734         the freeze break.
1735
1736         * gst/net/gstnettimeprovider.c: 
1737         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1738         get_time call over the network.
1739
1740         * configure.ac: 
1741         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1742
1743         * check/Makefile.am:
1744         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1745         get additions shortly.
1746
1747 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1748
1749         * gst/gstpad.c: (gst_pad_new_from_static_template):
1750         * gst/gstpad.h:
1751           add gst_pad_new_from_static_template functions
1752         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1753         (gst_check_setup_sink_pad):
1754         * gst/elements/gsttee.c: (gst_tee_init):
1755           and use them
1756
1757 2005-11-16  Wim Taymans  <wim@fluendo.com>
1758
1759         * gst/gstpad.c: (gst_pad_pause_task):
1760         Removed warning, it's not really an error either.
1761
1762 2005-11-16  Wim Taymans  <wim@fluendo.com>
1763
1764         * gst/base/gstbasetransform.c:
1765         (gst_base_transform_prepare_output_buf),
1766         (gst_base_transform_event):
1767         Check if the caps are NULL, this can happen if the element
1768         is shutting down and the pad caps are set to NULL.
1769
1770 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1771
1772         * gst/elements/gsttee.c: (gst_tee_init):
1773           fix pad template leak in tee
1774
1775 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1776
1777         * gst/glib-compat.c: (g_value_dup_gst_object):
1778         * gst/glib-compat.h:
1779         * gst/gstpad.c: (gst_pad_set_property):
1780           use gst_object_ref when setting the pad template; this will
1781           trigger the pad template leaks on GLib 2.6 and the slaves
1782
1783 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1784
1785         * gst/glib-compat.c: (gst_flags_get_first_value):
1786         * gst/glib-compat.h:
1787         * gst/gstregistryxml.c:
1788           remove functions copied from GLib 2.6
1789
1790 2005-11-16  Michael Smith <msmith@fluendo.com>
1791
1792         * gst/Makefile.am:
1793           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1794           do, but only breaks with newer valgrind versions. We're not a
1795           valgrind tool, we have no link-time dependencies on libcoregrind.
1796
1797 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1798
1799         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1800           some debug changes
1801         * gst/gstmessage.h:
1802           typo fixes
1803
1804 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1805
1806         * gst/base/gstbasesrc.c: (gst_base_src_init):
1807         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1808         * gst/gstqueue.c: (gst_queue_init):
1809         * gst/gstregistryxml.c: (load_feature):
1810           Revert all these unrefs, they don't even pass make check !
1811
1812 2005-11-15  Johan Dahlin  <johan@gnome.org>
1813
1814         * gst/base/gstbasesrc.c: (gst_base_src_init):
1815         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1816         * gst/gstqueue.c: (gst_queue_init): 
1817         Free pad templates, fixes a couple of leaks.
1818
1819 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1820
1821         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1822
1823         * gst/gstpad.c: (gst_pad_get_property):
1824           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1825           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1826           (#321452)
1827
1828 2005-11-15  Wim Taymans  <wim@fluendo.com>
1829
1830         * gst/gstevent.c:
1831         Small doc update.
1832
1833 2005-11-15  Andy Wingo  <wingo@pobox.com>
1834
1835         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1836
1837         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1838         using GST_CLOCK_TIME_NONE to disable base time management.
1839         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1840         time if it was NONE before.
1841         (gst_pipeline_change_state): Only munge the base time if
1842         stream_time != GST_CLOCK_TIME_NONE.
1843
1844         * check/gst/gstpipeline.c (test_base_time): Punt around the
1845         problem of the probe not being called, because that's not the
1846         issue I'm looking at. Add a check that setting stream_time to NONE
1847         disables base time management.
1848         
1849 2005-11-15  Wim Taymans  <wim@fluendo.com>
1850
1851         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1852         segment_stop == -1 at startup.
1853
1854         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1855         (gst_base_transform_change_state):
1856         Init segment values at start.
1857
1858 2005-11-15  Wim Taymans  <wim@fluendo.com>
1859
1860         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1861         0 segment values are 0 in any format.
1862
1863         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1864         * gst/base/gstbasetransform.h:
1865         Parse newsegment correctly in basetransform
1866
1867         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1868         Sync to clock using updated segment values.
1869
1870 2005-11-15  Andy Wingo  <wingo@pobox.com>
1871
1872         * check/gst/gstpipeline.c (test_base_time): Add check that the
1873         base time and stream time are reset correctly.
1874
1875 2005-11-15  Wim Taymans  <wim@fluendo.com>
1876
1877         * docs/design/part-TODO.txt:
1878         Some more TODO items.
1879
1880 2005-11-15  Andy Wingo  <wingo@pobox.com>
1881
1882         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1883         error if the user selected "no clock" as the clocking method.
1884
1885         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1886         timestamps with live capture.
1887
1888         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1889         is 0 but we are a live source, timestamp the buffers using the
1890         element's clock.
1891
1892 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1893
1894         * docs/gst/gstreamer-sections.txt:
1895         * gst/gsterror.c:
1896         * gst/gstghostpad.c:
1897         * gst/gstobject.h:
1898         * gst/gstxml.c:
1899           more section docs
1900
1901 2005-11-14  Wim Taymans  <wim@fluendo.com>
1902
1903         * common/gst.supp:
1904           add suppressions from Wim's Debian machine
1905
1906 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1907
1908         * common/gst.supp:
1909           add suppressions from Andy's AMD64 Ubuntu machine
1910
1911 2005-11-14  Andy Wingo  <wingo@pobox.com>
1912
1913         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1914         STATE_LOCK not necessary. Fixes #311489.
1915
1916         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1917         #305291.
1918
1919         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1920         this function is not implemented.
1921
1922 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1923
1924         * gst/base/gstbasetransform.c:
1925         (gst_base_transform_prepare_output_buf):
1926         Ref the source pad caps while we need them.
1927         Fixes (#321386)
1928
1929 2005-11-11  Wim Taymans  <wim@fluendo.com>
1930
1931         * docs/gst/gstreamer-sections.txt:
1932         Added some docs for GstCollectData.
1933
1934         * gst/base/gstadapter.c:
1935         Some small code example fix.
1936
1937         * gst/base/gstcollectpads.c:
1938         * gst/base/gstcollectpads.h:
1939         Document some more.
1940
1941 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1942
1943         * configure.ac: back to HEAD
1944
1945 === release 0.9.5 ===
1946
1947 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1948
1949         * configure.ac:
1950           releasing 0.9.5, "Bike Lunch Day"
1951
1952 2005-11-11  Wim Taymans  <wim@fluendo.com>
1953
1954         * gst/gstbuffer.c: (_gst_buffer_copy):
1955         Copy more flags.
1956
1957         * gst/gstcaps.c: (gst_caps_is_equal):
1958         Fix some docs.
1959         Make _is_equal fast in the trivial cases.
1960
1961         * gst/gstminiobject.c:
1962         * gst/gstminiobject.h:
1963         More docs. Spifify .h file.
1964
1965         * gst/gstutils.c:
1966         Small doc update.
1967
1968 2005-11-11  Wim Taymans  <wim@fluendo.com>
1969
1970         * gst/base/gstbasetransform.c:
1971         (gst_base_transform_prepare_output_buf),
1972         (gst_base_transform_handle_buffer):
1973         Small cleanups.
1974         If we're processing a buffer and need to allocate an output
1975         buffer, we cannot accept a format change. If we did get a 
1976         format change, we have to alloc a buffer ourselves of the 
1977         right size.
1978
1979 2005-11-11  Wim Taymans  <wim@fluendo.com>
1980
1981         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1982         While checking the flag for reentrancy in the gstcaps function
1983         is nice to detect recursive invocations, it also makes it 
1984         impossible to call getcaps from multiple threads, which must be
1985         possible. So, checking for recursive calls has to go.
1986
1987 2005-11-11  Michael Smith <msmith@fluendo.com>
1988
1989         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1990           Don't sync on buffers that fall partially outside our current
1991           segment. Prevents an assertion failure/abort playing some files.
1992
1993 2005-11-10  Andy Wingo  <wingo@pobox.com>
1994
1995         * check/gst/gstbin.c (test_message_state_changed_children): Style
1996         fix..
1997
1998         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1999         gst_bus_poll with the signal watch. Ensures that poll and a signal
2000         watch see the same messages.
2001
2002         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2003         a poll and a watch at the same time get the same messages.
2004
2005 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2006
2007         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2008         * gst/gstcaps.c: (gst_caps_intersect):
2009           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2010           and it's not needed.
2011
2012 2005-11-10  Wim Taymans  <wim@fluendo.com>
2013
2014         * docs/design/part-TODO.txt:
2015         Updated todo.
2016
2017 2005-11-10  Wim Taymans  <wim@fluendo.com>
2018
2019         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2020         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2021         (gst_base_src_do_sync), (gst_base_src_get_range):
2022         Implement clock sync in base class.
2023
2024 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2025
2026         patch by: Tim-Philipp Müller <tim at centricular dot net>
2027
2028         * gst/gststructure.c: (gst_structure_parse_field),
2029         (gst_structure_from_string):
2030           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2031           so that gst_parse_launch() can deal with spaces in filtered link
2032           caps (fixes #164479)
2033         * check/gst/capslist.h:
2034         * check/gst/gststructure.c: (GST_START_TEST):
2035           add unit tests for this change
2036
2037 2005-11-10  Wim Taymans  <wim@fluendo.com>
2038
2039         * docs/gst/gstreamer-sections.txt:
2040         * gst/gstelement.c:
2041         * gst/gstelement.h:
2042         Fix docs, move some STATE macros to private.
2043
2044 2005-11-10  Wim Taymans  <wim@fluendo.com>
2045
2046         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2047         Added check for bug #317341
2048
2049         * gst/gstbuffer.c:
2050         * gst/gstbuffer.h:
2051         Some more spiffifying.
2052
2053         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2054         Call peer linkfunction if we are a source pad. Totally fixes
2055         #317341
2056
2057         * gst/gstpad.c:
2058         Update docs, source pads should call the peer linkfunction
2059         so they can atomically perform the pad link.
2060
2061 2005-11-09  Wim Taymans  <wim@fluendo.com>
2062
2063         * gst/gstbuffer.c:
2064         * gst/gstbuffer.h:
2065         Uber-spiffy-spiffify some more.
2066
2067 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2068
2069         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2070         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2071         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2072         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2073         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2074         * gst/gstpad.c: (gst_pad_init):
2075           Use GST_DEBUG_FUNCPTR() more extensively.
2076
2077 2005-11-09  Wim Taymans  <wim@fluendo.com>
2078
2079         * gst/gstobject.c: (gst_object_class_init):
2080         * gst/gstobject.h:
2081         Documentation fixes.
2082
2083 2005-11-09  Edward Hervey  <edward@fluendo.com>
2084
2085         * gst/gsttypefindfactory.c:
2086         Fix docs.
2087         
2088 2005-11-09  Edward Hervey  <edward@fluendo.com>
2089
2090         * gst/base/gsttypefindhelper.c:
2091         * gst/gsttypefind.c:
2092         * gst/gsttypefind.h:
2093         Fix docs.
2094
2095 2005-11-09  Wim Taymans  <wim@fluendo.com>
2096
2097         * gst/gstiterator.c:
2098         Fix revision data.
2099
2100         * gst/gsttask.c:
2101         * gst/gsttask.h:
2102         Fix docs.
2103
2104 2005-11-09  Wim Taymans  <wim@fluendo.com>
2105
2106         * gst/gstevent.h:
2107         * gst/gsturi.h:
2108         Fix docs.
2109
2110 2005-11-09  Wim Taymans  <wim@fluendo.com>
2111
2112         * docs/gst/gstreamer-sections.txt:
2113         Moved the message async delivery private lock and cond
2114         to the private section.
2115
2116         * gst/gstmessage.c:
2117         * gst/gstmessage.h:
2118         Fixed docs.
2119
2120 2005-11-09  Edward Hervey  <edward@fluendo.com>
2121
2122         * docs/gst/gstreamer-sections.txt:
2123         * gst/gsturi.c:
2124         * gst/gsturi.h:
2125         Document GstURIHandler
2126
2127 2005-11-09  Wim Taymans  <wim@fluendo.com>
2128
2129         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2130         (gst_iterator_find_custom):
2131         * gst/gstiterator.h:
2132         Fix iterator docs.
2133
2134 2005-11-09  Wim Taymans  <wim@fluendo.com>
2135
2136         * gst/gstbin.h:
2137         Document another field.
2138
2139         * gst/gststructure.c:
2140         * gst/gststructure.h:
2141         Document.
2142
2143 2005-11-09  Wim Taymans  <wim@fluendo.com>
2144
2145         * gst/gstbin.h:
2146         Documented structs.
2147
2148 2005-11-09  Wim Taymans  <wim@fluendo.com>
2149
2150         * docs/gst/gstreamer-sections.txt:
2151         Added some new macros.
2152
2153         * gst/gstclock.c:
2154         * gst/gstclock.h:
2155         * gst/gstobject.h:
2156         Docs updates.
2157
2158 2005-11-09  Wim Taymans  <wim@fluendo.com>
2159
2160         * docs/design/part-TODO.txt:
2161         Some more items for the TODO
2162
2163         * gst/gstcaps.c:
2164         * gst/gstcaps.h:
2165         Document GstCaps.
2166
2167 2005-11-09  Andy Wingo  <wingo@pobox.com>
2168
2169         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2170         to work on something else now tho...
2171
2172         * gst/base/gstadapter.c: More adapter docs.
2173
2174         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2175         (gst_file_sink_stop): New functions, replace the state change
2176         handler.
2177         (gst_file_sink_class_init): Hook up the start and stop functions.
2178         (gst_file_sink_base_init): Don't set the state change handler any
2179         more. It was a bit ugly too, being set from here...
2180         (gst_file_sink_get_property, gst_file_sink_set_property):
2181         Cleanups...
2182         (gst_file_sink_set_location): More robust check that doesn't call
2183         GST_STATE. Ugggggg.
2184
2185 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2186
2187         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2188           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2189
2190 2005-11-08  Wim Taymans  <wim@fluendo.com>
2191
2192         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2193         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2194         (gst_base_sink_chain), (gst_base_sink_change_state):
2195         * gst/base/gstbasesink.h:
2196         * gst/base/gstbasesrc.h:
2197         * gst/gstelement.h:
2198         * gst/gstevent.h:
2199         Avoid excessive typechecking in macros.
2200
2201         * gst/gstminiobject.c: (gst_mini_object_get_type),
2202         (gst_mini_object_init), (gst_mini_object_new),
2203         (gst_mini_object_free):
2204         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2205         (gst_object_finalize):
2206         Remove cruft code, optimize alloc_trace.
2207
2208 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2209
2210         * docs/faq/gst-uninstalled:
2211           fix up PS1 for systems that try to reset it
2212
2213 2005-11-07  Wim Taymans  <wim@fluendo.com>
2214
2215         * gst/base/gstbasesrc.c: (gst_base_src_init),
2216         (gst_base_src_get_range):
2217         Set the segment_end to -1 initially. Fixed typefind.
2218
2219 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2220
2221         * gst/base/gstadapter.c:
2222           Debug category should be 'adapter', not 'GstAdapter'.
2223           
2224         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2225         (gst_collectpads_class_init), (gst_collectpads_init),
2226         (gst_collectpads_peek), (gst_collectpads_pop),
2227         (gst_collectpads_event), (gst_collectpads_chain):
2228           Add debug category and some debugging output. Use boilerplate
2229           macros. Remove some extraneous words from docs.
2230
2231 2005-11-05  Andy Wingo  <wingo@pobox.com>
2232
2233         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2234         macro.
2235
2236 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2237
2238         * docs/gst/gstreamer-sections.txt:
2239         * gst/gstcaps.h:
2240         * gst/gstinfo.c:
2241         * gst/gstminiobject.h:
2242         * gst/gstobject.h:
2243         * gst/gstutils.h:
2244           more docs added
2245
2246 2005-11-04  Wim Taymans  <wim@fluendo.com>
2247
2248         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2249         Small update to stop at the configured segment_end
2250         position.
2251
2252 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2253
2254         * gst/gstregistry.c:
2255         * gst/gstregistry.h:
2256           added missing docs
2257
2258 2005-11-04  Edward Hervey  <edward@fluendo.com>
2259
2260         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2261         Check if we are doing a segment seek and have arrived at the
2262         end of that segment.
2263
2264 2005-11-04  Wim Taymans  <wim@fluendo.com>
2265
2266         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2267         Don't leak a mutex unlock in case of an error.
2268
2269         * gst/gstbus.h:
2270         Doc fixes.
2271
2272 2005-11-04  Wim Taymans  <wim@fluendo.com>
2273
2274         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2275         (gst_bus_post):
2276         Get the context to wake up only once.
2277
2278 2005-11-03  Wim Taymans  <wim@fluendo.com>
2279
2280         * check/states/sinks.c: (GST_START_TEST):
2281         Uncomment fixed check.
2282
2283         * docs/design/part-TODO.txt:
2284         Updated TODO.
2285
2286         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2287         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2288         (gst_base_sink_get_position):
2289         If we are going to PLAYING, post the right pending state
2290         when we post the intermediate paused message.
2291
2292         * gst/gstelement.c: (gst_element_continue_state),
2293         (gst_element_set_state_func), (gst_element_change_state):
2294         Don't post state changes that were between the same state
2295         and were not ASYNC.
2296
2297 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2298
2299         * docs/gst/gstreamer-sections.txt:
2300         * gst/gstcaps.h:
2301         * gst/gstinfo.c:
2302         * gst/gstminiobject.h:
2303         * gst/gstobject.h:
2304         * gst/gstutils.h:
2305           more docs and doc style fixes
2306
2307 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2308
2309         * docs/gst/gstreamer-sections.txt:
2310         * gst/gstelement.c:
2311         * gst/gstminiobject.c:
2312         doc fixes
2313
2314 2005-11-03  Andy Wingo  <wingo@pobox.com>
2315
2316         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2317         state-changed messages actually have the right order and the right
2318         values.
2319
2320 2005-11-03  Wim Taymans  <wim@fluendo.com>
2321
2322         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2323         Added some more checks. Specifically the case where NO_PREROLL
2324         elements are in the pipeline.
2325
2326         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2327         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2328         (gst_base_sink_get_position):
2329         Post READY->PAUSED state change messages too.
2330         Fix bug where VOID was posted as pending state...
2331
2332         * gst/gstbin.c: (gst_bin_recalc_state):
2333         use _element_continue_state() to continue the state change.
2334
2335         * gst/gstelement.c: (gst_element_continue_state),
2336         (gst_element_commit_state), (gst_element_set_state_func),
2337         (gst_element_change_state), (gst_element_change_state_func):
2338         Lots of state change cleanups, assign the STATE_RETURN in
2339         a new continue_state() function that also propagates the
2340         last return value from a state change to the app.
2341         Update some debug statements with proper category.
2342
2343 2005-11-03  Wim Taymans  <wim@fluendo.com>
2344
2345         * docs/design/part-events.txt:
2346         * docs/design/part-gstpipeline.txt:
2347         * docs/design/part-messages.txt:
2348         * docs/design/part-overview.txt:
2349         * docs/design/part-seeking.txt:
2350         * docs/design/part-states.txt:
2351         * docs/design/part-trickmodes.txt:
2352         * docs/manual/advanced-position.xml:
2353         Small docs updates.
2354
2355         * gst/gstobject.h:
2356         People think !! is ugly, this looks better.
2357
2358         * gst/gstpad.c: (gst_pad_set_blocked_async):
2359         Remove !! since it's fixed elsewhere now.
2360
2361 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2362
2363         * gst/gstminiobject.h:
2364         * gst/gstobject.h:
2365           Add !! to _FLAG_IS_SET macros to make the result boolean.
2366
2367 2005-11-03  Edward Hervey  <edward@fluendo.com>
2368
2369         * gst/gstpad.c: (gst_pad_set_blocked_async):
2370         comparing a flag and a gboolean rarely returns coherent results...
2371         Added two characters (!!) to make that work correctly.
2372         
2373 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2374
2375         * gst/gstbus.c: (gst_bus_class_init):
2376           Fix some typos.
2377           
2378         * gst/gstqueue.c: (gst_queue_loop):
2379           Don't assume a miniobject that isn't a buffer is an
2380           event (it could be that there is a refcounting
2381           problem somewhere and the pointer is stale and
2382           refers to an already destroyed miniobject).
2383
2384 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2385
2386         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2387
2388 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2389
2390         * docs/manual/advanced-position.xml:
2391           Update seek example and explanations to current 0.9 API.
2392
2393         * gst/elements/gsttypefindelement.c:
2394         (gst_type_find_element_activate):
2395           Remove FIXME comment now that the found caps
2396           are unreffed.
2397
2398 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2399
2400         * gst/gstregistryxml.c: (load_feature):
2401           Add another GST_STR_NULL instance
2402
2403 2005-11-02  Edward Hervey  <edward@fluendo.com>
2404
2405         * gst/gstpad.c: (handle_pad_block):
2406         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2407         
2408 2005-11-02  Wim Taymans  <wim@fluendo.com>
2409
2410         * gst/gstbin.c:
2411         Fix typo in docs.
2412
2413         * gst/gstelement.c: (gst_element_commit_state):
2414         Remove unused value.
2415
2416         * gst/gstiterator.c:
2417         Mention that the returned element is reffed in the docs.
2418
2419 2005-11-02  Wim Taymans  <wim@fluendo.com>
2420
2421         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2422         (gst_pad_push), (gst_pad_push_event):
2423         Unlock blocked pads when they are flushed.
2424
2425 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2426
2427         * docs/README:
2428         * docs/gst/gstreamer-sections.txt:
2429         * gst/gstbin.c:
2430           doc updates
2431         * gst/gstregistry.c: (gst_registry_scan_path_level):
2432           fix for a nasty little missed situation where an installed plug-in
2433           which was in the cache did not get overridden by an uninstalled one
2434           which was earlier in the plugin path because the newly created plugin
2435           for the uninstalled one (not in the registry) didn't get its
2436           ->registered set to TRUE
2437
2438 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2439
2440         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2441         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2442         (gst_collectpads_is_active), (gst_collectpads_collect),
2443         (gst_collectpads_collect_range), (gst_collectpads_start),
2444         (gst_collectpads_stop), (gst_collectpads_peek),
2445         (gst_collectpads_pop), (gst_collectpads_available),
2446         (gst_collectpads_read), (gst_collectpads_flush):
2447           Guard public API with assertions.
2448         
2449         * gst/gstpad.c:
2450           Fix docs for gst_pad_set_link_function().
2451
2452 2005-11-02  Johan Dahlin  <johan@gnome.org>
2453
2454         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2455         Unref found_caps after we used it.
2456
2457 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2458
2459         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2460           Don't try to ref NULL.
2461
2462 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2463
2464         * win32/common/config.h.in:
2465           provide a GST_FUNCTION that just gives a string for now
2466
2467 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2468
2469         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2470         (gst_object_flags_get_type), (register_gst_bin_flags),
2471         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2472         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2473         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2474         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2475         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2476         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2477         (gst_clock_flags_get_type), (register_gst_state),
2478         (gst_state_get_type), (register_gst_state_change_return),
2479         (gst_state_change_return_get_type), (register_gst_state_change),
2480         (gst_state_change_get_type), (register_gst_element_flags),
2481         (gst_element_flags_get_type), (register_gst_core_error),
2482         (gst_core_error_get_type), (register_gst_library_error),
2483         (gst_library_error_get_type), (register_gst_resource_error),
2484         (gst_resource_error_get_type), (register_gst_stream_error),
2485         (gst_stream_error_get_type), (register_gst_event_type),
2486         (gst_event_type_get_type), (register_gst_seek_type),
2487         (gst_seek_type_get_type), (register_gst_seek_flags),
2488         (gst_seek_flags_get_type), (register_gst_format),
2489         (gst_format_get_type), (register_gst_index_certainty),
2490         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2491         (gst_index_entry_type_get_type),
2492         (register_gst_index_lookup_method),
2493         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2494         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2495         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2496         (gst_index_flags_get_type), (register_gst_debug_level),
2497         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2498         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2499         (gst_iterator_result_get_type), (register_gst_iterator_item),
2500         (gst_iterator_item_get_type), (register_gst_message_type),
2501         (gst_message_type_get_type), (register_gst_mini_object_flags),
2502         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2503         (gst_pad_link_return_get_type), (register_gst_flow_return),
2504         (gst_flow_return_get_type), (register_gst_activate_mode),
2505         (gst_activate_mode_get_type), (register_gst_pad_direction),
2506         (gst_pad_direction_get_type), (register_gst_pad_flags),
2507         (gst_pad_flags_get_type), (register_gst_pad_presence),
2508         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2509         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2510         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2511         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2512         (gst_plugin_flags_get_type), (register_gst_rank),
2513         (gst_rank_get_type), (register_gst_query_type),
2514         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2515         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2516         (gst_tag_flag_get_type), (register_gst_task_state),
2517         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2518         (gst_alloc_trace_flags_get_type),
2519         (register_gst_type_find_probability),
2520         (gst_type_find_probability_get_type), (register_gst_uri_type),
2521         (gst_uri_type_get_type), (register_gst_parse_error),
2522         (gst_parse_error_get_type):
2523         * win32/common/gstversion.h:
2524           update win32 copies
2525
2526 2005-11-01  Luca Ognibene  <luogni@tin.it>
2527
2528         * gst/gst.c:
2529           fix docs. popt is dead, long live GOption.
2530
2531 2005-10-31  Wim Taymans  <wim@fluendo.com>
2532
2533         * gst/gstbuffer.h:
2534         Small doc fix.
2535
2536 2005-10-31  Andy Wingo  <wingo@pobox.com>
2537
2538         * Boo!
2539
2540         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2541
2542         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2543         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2544         the possibility of deadlocks here if code calling notify() or
2545         set() has a lock that can be taken in another notify handler (ABBA
2546         with class lock and e.g. python GIL state lock).
2547
2548 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2549
2550         * gst/gstbus.c: Doc updates.
2551
2552 2005-10-28  Wim Taymans  <wim@fluendo.com>
2553
2554         * docs/design/part-TODO.txt:
2555         * gst/gstiterator.c:
2556         * gst/gstsystemclock.c:
2557         * gst/gstsystemclock.h:
2558         Doc updates.
2559
2560 2005-10-28  Edward Hervey  <edward@fluendo.com>
2561
2562         * docs/gst/gstreamer-docs.sgml:
2563         * docs/gst/gstreamer-sections.txt:
2564         the GstURIType documentation page is private, it only defines GstURIType
2565         which should be defined in the GstURIHandler page
2566         
2567 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2568
2569         * gst/gstbin.c: (gst_bin_class_init):
2570         * gst/gstbin.h:
2571         * gst/gstutils.c:
2572         Documentation updates.
2573
2574 2005-10-28  Wim Taymans  <wim@fluendo.com>
2575
2576         * docs/gst/gstreamer-sections.txt:
2577         * gst/gstclock.c:
2578         * gst/gstclock.h:
2579         Documented the clocks.
2580
2581 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2582
2583         * docs/gst/gstreamer-sections.txt:
2584           move some macros to private sections
2585         * gst/gstminiobject.c:
2586         * gst/gstminiobject.h:
2587           add descriptions provided by ds and some more
2588         * gst/gstpad.h:
2589           mark macro as to be removed
2590
2591 2005-10-28  Wim Taymans  <wim@fluendo.com>
2592
2593         * docs/design/part-TODO.txt:
2594         Add an item to TODO.
2595
2596         * gst/gstiterator.c: (gst_iterator_fold),
2597         (gst_iterator_find_custom):
2598         * gst/gstiterator.h:
2599         Add iterator docs.
2600
2601 2005-10-28  Wim Taymans  <wim@fluendo.com>
2602
2603         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2604         (gst_base_transform_init):
2605         Don't leak class.
2606
2607         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2608         An EOS event marks the queue as completely filled.
2609
2610 2005-10-27  Wim Taymans  <wim@fluendo.com>
2611
2612         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2613         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2614         Some more debugging.
2615
2616         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2617         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2618         (gst_base_transform_event), (gst_base_transform_getrange),
2619         (gst_base_transform_chain):
2620         * gst/base/gstbasetransform.h:
2621         Fix debugging,
2622         Protect transform and concurrent buffer alloc with a new lock.
2623         Try not to break ABI/API.
2624
2625 2005-10-27  Wim Taymans  <wim@fluendo.com>
2626
2627         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2628         (gst_base_src_init), (gst_base_src_query),
2629         (gst_base_src_default_newsegment),
2630         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2631         (gst_base_src_send_event), (gst_base_src_event_handler),
2632         (gst_base_src_pad_get_range), (gst_base_src_loop),
2633         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2634         (gst_base_src_start), (gst_base_src_deactivate),
2635         (gst_base_src_activate_push), (gst_base_src_change_state):
2636         Move some stuff around and cleanup things.
2637
2638 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2639
2640         * gst/base/gstbasesrc.c: (gst_base_src_query):
2641           Add missing break statements.
2642
2643 2005-10-27  Wim Taymans  <wim@fluendo.com>
2644
2645         * check/gst/gstbin.c: (GST_START_TEST):
2646         An extra refcount is taken in basesrc.
2647
2648         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2649         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2650         (gst_base_src_loop):
2651         Small cleanups, check for flushing after being unlocked from the 
2652         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2653         Don't send out EOS when going to READY.
2654
2655 2005-10-27  Wim Taymans  <wim@fluendo.com>
2656
2657         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2658         (gst_base_sink_get_position):
2659         Some more debug.
2660
2661         * gst/gstbin.c: (message_check), (bin_replace_message),
2662         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2663         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2664         (bin_query_duration_init), (bin_query_duration_fold),
2665         (bin_query_duration_done), (bin_query_generic_fold),
2666         (gst_bin_query):
2667         * tools/gst-launch.c: (main):
2668         Remove old option.
2669
2670 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2671
2672         * examples/controller/audio-example.c: (main):
2673         * examples/queue/queue.c: (event_loop):
2674         * gst/base/gstbasetransform.h:
2675         * gst/gstelement.c: (gst_element_send_event):
2676         * gst/gstevent.h:
2677         * gst/gstpad.c: (gst_pad_send_event):
2678           fixing examples
2679           fixing docs typos
2680           changing log priority in error situations
2681
2682 2005-10-25  Wim Taymans  <wim@fluendo.com>
2683
2684         * gst/gstbin.c: (message_check), (bin_replace_message),
2685         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2686         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2687         (bin_query_duration_init), (bin_query_duration_fold),
2688         (bin_query_duration_done), (bin_query_generic_fold),
2689         (gst_bin_query):
2690         Some doc and debug updates.
2691         Cache previously requested query DURATION for speed. invalidate
2692         cached duration if element posts a DURATION message.
2693
2694 2005-10-25  Wim Taymans  <wim@fluendo.com>
2695
2696         * docs/design/part-TODO.txt:
2697         Update TODO.
2698
2699         * gst/gstbin.c: (message_check), (bin_replace_message),
2700         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2701         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2702         (bin_query_duration_init), (bin_query_duration_fold),
2703         (bin_query_duration_done), (bin_query_generic_fold),
2704         (gst_bin_query):
2705         Handle SEGMENT_START/DONE messages correctly.
2706         More evolved query algorithm that handles duration queries
2707         correctly.
2708
2709         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2710         (gst_element_get_state_func), (gst_element_abort_state),
2711         (gst_element_commit_state), (gst_element_lost_state):
2712         Some more debugging.
2713
2714         * gst/gstmessage.h:
2715         Added doc.
2716
2717 2005-10-25  Wim Taymans  <wim@fluendo.com>
2718
2719         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2720         Don't use invalid stream_time.
2721
2722         * gst/gstevent.c: (gst_event_new_newsegment):
2723         stream_time in newsegment cannot be undefined.
2724
2725 2005-10-24  Wim Taymans  <wim@fluendo.com>
2726
2727         * gst/gstbus.c:
2728         Doc fix.
2729
2730         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2731         (gst_queue_loop):
2732         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2733
2734 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2735
2736         * docs/libs/tmpl/gstdparam.sgml:
2737         * docs/libs/tmpl/gstdplinint.sgml:
2738         * docs/libs/tmpl/gstdpman.sgml:
2739         * docs/libs/tmpl/gstdpsmooth.sgml:
2740         * docs/libs/tmpl/gstunitconvert.sgml:
2741           these are obsolete
2742
2743 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2744
2745         * configure.ac:
2746           back to HEAD
2747
2748 === release 0.9.4 ===
2749
2750 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2751
2752         * configure.ac:
2753           releasing 0.9.4, "Tyrannosaurus Rex"
2754
2755 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2756
2757         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2758         (gst_file_sink_get_current_offset):
2759           Use fseeko() and ftello() if available. When falling back on
2760           lseek() to get the current offset, fflush() first to make sure
2761           everything is up-to-date and we get the right offset.
2762
2763 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2764
2765         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2766         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2767         * gst/gsterror.c: (_gst_stream_errors_init):
2768         * gst/gsterror.h:
2769         * gst/gstqueue.c: (gst_queue_loop):
2770         * po/POTFILES.in:
2771           remove prematurely added error category and clean up the instances
2772
2773 2005-10-21  Wim Taymans  <wim@fluendo.com>
2774
2775         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2776         (gst_base_sink_get_position), (gst_base_sink_query),
2777         (gst_base_sink_change_state):
2778         Simply set the right flag when going to playing, that's all
2779         we need to do instead of calling a function inside the object
2780         lock (that could take the lock as well and deadlock)
2781
2782 2005-10-21  Wim Taymans  <wim@fluendo.com>
2783
2784         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2785         (gst_base_src_loop):
2786         Don't warn, the peer element knows what to do best when
2787         the seek failed, it might try something else.
2788
2789 2005-10-21  Wim Taymans  <wim@fluendo.com>
2790
2791         * gst/base/gstbasesrc.c: (gst_base_src_init),
2792         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2793         Fix seeking.
2794
2795 2005-10-21  Wim Taymans  <wim@fluendo.com>
2796
2797         * docs/design/part-segments.txt:
2798         More docs.
2799
2800         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2801         Correctly set caps, even on the subbufer.
2802
2803 2005-10-21  Wim Taymans  <wim@fluendo.com>
2804
2805         * docs/gst/gstreamer-docs.sgml:
2806         * docs/gst/gstreamer-sections.txt:
2807         * gst/gstelement.h:
2808         * gst/gstevent.c:
2809         * gst/gstevent.h:
2810         * gst/gstmessage.h:
2811         * gst/gstpad.h:
2812         * gst/gstparse.h:
2813         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2814         * gst/gsttask.h:
2815         * gst/gstutils.c:
2816         * gst/gstutils.h:
2817         And 2% more doc coverage.
2818
2819 2005-10-21  Andy Wingo  <wingo@pobox.com>
2820
2821         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2822         position reporting.
2823
2824 2005-10-20  Wim Taymans  <wim@fluendo.com>
2825
2826         * gst/gsterror.c: (gst_error_get_message):
2827         * gst/gstparse.h:
2828         * gst/gstquery.h:
2829         * gst/gststructure.c:
2830         * gst/gsttrace.c:
2831         * gst/gstutils.c:
2832         More docs.
2833
2834 2005-10-20  Wim Taymans  <wim@fluendo.com>
2835
2836         * gst/gstbuffer.h:
2837         * gst/gstpad.c:
2838         * gst/gstparse.c:
2839         Another 1% more coverage.
2840
2841 2005-10-20  Wim Taymans  <wim@fluendo.com>
2842
2843         * docs/gst/gstreamer-sections.txt:
2844         * gst/gstelement.c: (gst_element_get_state_func),
2845         (gst_element_abort_state), (gst_element_commit_state),
2846         (gst_element_lost_state):
2847         * gst/gstevent.h:
2848         * gst/gstquery.c: (gst_query_set_position),
2849         (gst_query_parse_position), (gst_query_set_duration),
2850         (gst_query_parse_duration), (gst_query_new_convert):
2851         * gst/gstutils.c:
2852         Yay! 1% more docs coverage.
2853
2854 2005-10-20  Wim Taymans  <wim@fluendo.com>
2855
2856         * gst/gstpad.h:
2857         * gst/gstquery.c: (gst_query_set_position),
2858         (gst_query_parse_position), (gst_query_set_duration),
2859         (gst_query_parse_duration), (gst_query_new_convert):
2860         * gst/gstquery.h:
2861         * gst/gstutils.c: (gst_element_query_convert):
2862         * gst/gstutils.h:
2863         Docs and consistency fixes.
2864
2865 2005-10-20  Wim Taymans  <wim@fluendo.com>
2866
2867         * gst/gsttask.c:
2868         * gst/gsttask.h:
2869         More docs.
2870
2871 2005-10-20  Wim Taymans  <wim@fluendo.com>
2872
2873         * gst/gstbin.c: (message_check), (bin_replace_message),
2874         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2875         (update_degree), (gst_bin_sort_iterator_next),
2876         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2877         Reworked the message handling a bit, cache the messages instead of
2878         only the senders. alows us to do more in the future.
2879
2880 2005-10-20  Wim Taymans  <wim@fluendo.com>
2881
2882         * docs/design/part-TODO.txt:
2883         Update TODO
2884
2885         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2886         (gst_base_sink_query):
2887         Don't use clock time to report position when in EOS.
2888
2889 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2890
2891         * tools/gst-inspect.c: (print_interfaces),
2892         (print_element_properties_info), (print_element_info):
2893           Fix interface output with gst-inspect -a; don't print
2894           newlines after double/float properties.
2895
2896 2005-10-20  Wim Taymans  <wim@fluendo.com>
2897
2898         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2899         (gst_base_sink_query):
2900         Speed up current position calculation.
2901
2902         * gst/base/gstbasesrc.c: (gst_base_src_query),
2903         (gst_base_src_default_newsegment):
2904         Correctly set stream position in newsegment.
2905
2906         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2907         (update_degree), (gst_bin_sort_iterator_next),
2908         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2909         * gst/gstmessage.c: (gst_message_new_custom):
2910         Clean up debugging info
2911
2912         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2913         (gst_queue_loop), (gst_queue_handle_src_query):
2914         Pause task faster.
2915
2916 2005-10-19  Wim Taymans  <wim@fluendo.com>
2917
2918         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2919         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2920         Fix query handling again.
2921
2922 2005-10-19  Wim Taymans  <wim@fluendo.com>
2923
2924         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2925         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2926         * gst/base/gstbasesrc.c: (gst_base_src_query):
2927         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2928         * gst/elements/gsttypefindelement.c:
2929         (gst_type_find_handle_src_query), (find_element_get_length),
2930         (gst_type_find_element_activate):
2931         API change fix.
2932
2933         * gst/gstquery.c: (gst_query_new_position),
2934         (gst_query_set_position), (gst_query_parse_position),
2935         (gst_query_new_duration), (gst_query_set_duration),
2936         (gst_query_parse_duration), (gst_query_set_segment),
2937         (gst_query_parse_segment):
2938         * gst/gstquery.h:
2939         Bundling query position/duration is not a good idea since duration
2940         does not change much and we don't want to recalculate it for every
2941         position query, so they are separated again..
2942         Base value in segment query is not needed.
2943
2944         * gst/gstqueue.c: (gst_queue_handle_src_query):
2945         * gst/gstutils.c: (gst_element_query_position),
2946         (gst_element_query_duration), (gst_pad_query_position),
2947         (gst_pad_query_duration):
2948         * gst/gstutils.h:
2949         Updates for query API change.
2950         Added some docs here and there.
2951
2952 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2953
2954         * check/gst/gstbin.c: (GST_START_TEST):
2955         * check/gst/gstghostpad.c: (GST_START_TEST):
2956         * check/pipelines/cleanup.c: (GST_START_TEST):
2957           wait on thread to die so we can check refcount correctly
2958
2959 2005-10-18  Wim Taymans  <wim@fluendo.com>
2960
2961         * check/pipelines/stress.c: (GST_START_TEST):
2962         Make check a little more time consuming.
2963
2964 2005-10-18  Wim Taymans  <wim@fluendo.com>
2965
2966         * check/Makefile.am:
2967         * check/pipelines/stress.c: (GST_START_TEST),
2968         (simple_launch_lines_suite), (main):
2969         Small state change torture test.
2970
2971         * docs/design/part-states.txt:
2972         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2973         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2974         (gst_base_sink_change_state):
2975         Never take state lock from streaming thread, clean up ugly
2976         hacks. Unfortunatly core does not yet support nice ways to
2977         async commit state.
2978         
2979         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2980         (bin_bus_handler):
2981         Start state recalc if a STATE_DIRTY message is posted, but only
2982         on the toplevel bin.
2983
2984         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2985         (gst_element_get_state_func), (gst_element_abort_state),
2986         (gst_element_commit_state), (gst_element_lost_state),
2987         (gst_element_set_state_func), (gst_element_change_state):
2988         * gst/gstelement.h:
2989         State variables are now protected with the LOCK, the state
2990         lock is only used to serialize _set_state().
2991
2992 2005-10-18  Wim Taymans  <wim@fluendo.com>
2993
2994         * check/gst/gstbin.c: (GST_START_TEST):
2995         * check/gst/gstmessage.c: (GST_START_TEST):
2996         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2997         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2998         (bin_bus_handler):
2999         * gst/gstelement.c: (gst_element_abort_state),
3000         (gst_element_commit_state), (gst_element_lost_state):
3001         * gst/gstmessage.c: (gst_message_new_state_changed),
3002         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3003         (gst_message_new_segment_done), (gst_message_new_duration),
3004         (gst_message_parse_state_changed),
3005         (gst_message_parse_segment_start),
3006         (gst_message_parse_segment_done), (gst_message_parse_duration):
3007         * gst/gstmessage.h:
3008         * tools/gst-launch.c: (event_loop):
3009         Seriously, this is better than a previous commit as we only need
3010         to notify the fact that an element changed state in a streaming
3011         thread, marking the state of the parents dirty, hence the 
3012         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3013         message.
3014
3015 2005-10-18  Wim Taymans  <wim@fluendo.com>
3016
3017         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3018         (gst_bin_recalc_func):
3019         * gst/gstelement.c: (gst_element_set_clock),
3020         (gst_element_abort_state), (gst_element_lost_state):
3021         Cleanups, prepare for state change fixes.
3022
3023 2005-10-18  Wim Taymans  <wim@fluendo.com>
3024
3025         * gst/gstbin.h:
3026         * gst/gstelement.c: (gst_element_class_init),
3027         (gst_element_set_state), (gst_element_set_state_func):
3028         * gst/gstelement.h:
3029         Pending ABI changes.
3030         GThreadPool in GstBinClass to monitor async state changes.
3031         state_cookie in GstElement to detect concurrent gst/set state.
3032         set_state is now virtual too in case a very complicated element
3033         has to be constructed.
3034
3035 2005-10-18  Wim Taymans  <wim@fluendo.com>
3036
3037         * check/gst/gstbin.c: (GST_START_TEST):
3038         * check/gst/gstmessage.c: (GST_START_TEST):
3039         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3040         * gst/gstbin.c: (bin_bus_handler):
3041         * gst/gstelement.c: (gst_element_commit_state),
3042         (gst_element_lost_state):
3043         * gst/gstmessage.c: (gst_message_new_state_changed),
3044         (gst_message_new_segment_start), (gst_message_new_segment_done),
3045         (gst_message_new_duration), (gst_message_parse_state_changed),
3046         (gst_message_parse_segment_start),
3047         (gst_message_parse_segment_done), (gst_message_parse_duration):
3048         * gst/gstmessage.h:
3049         * tools/gst-launch.c: (event_loop):
3050         Make messages future proof.
3051         state-change gets a flag if it was a message comming from the
3052         streaming thread.
3053         segment-start/stop can also be specified in other formats.
3054         A message to notify an app that a pipeline changed playback 
3055         duration.
3056         Also fix a GstMessage leak in -launch
3057
3058 2005-10-18  Andy Wingo  <wingo@pobox.com>
3059
3060         * gst/gstelement.c (gst_element_dispose): More helpful message.
3061
3062 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3063
3064         reviewed by: <delete if not using a buddy>
3065
3066         * common/gtk-doc.mak:
3067
3068 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3069
3070         * gst/gstregistry.c: (gst_registry_scan_path_level):
3071           unref a plug-in we get that was already initialized
3072
3073 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3074
3075         * docs/gst/gstreamer-sections.txt:
3076         * docs/libs/gstreamer-libs-sections.txt:
3077         * gst/gstelement.h:
3078           add new api entries
3079           hide internal macro
3080
3081 2005-10-17  Andy Wingo  <wingo@pobox.com>
3082
3083         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3084         cleanup.
3085
3086         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3087
3088         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3089
3090         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3091         (gst_element_get_state_func): Better debug message.
3092         (gst_element_commit_state): s/INFO/DEBUG/.
3093         (gst_element_lost_state, gst_element_change_state): 
3094
3095         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3096         (gst_message_new_custom): s/INFO/LOG/.
3097
3098 2005-10-17  Michael Smith <msmith@fluendo.com>
3099
3100         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3101           Check if end time is valid using end time, not start time.
3102
3103 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3104
3105         * check/gst-libs/controller.c: (GST_START_TEST),
3106         (gst_controller_suite):
3107         * libs/gst/controller/gstcontroller.c:
3108         (gst_controlled_property_set_interpolation_mode):
3109         * libs/gst/controller/gstcontroller.h:
3110         * libs/gst/controller/gstinterpolation.c:
3111         * testsuite/controller/.cvsignore:
3112         * testsuite/controller/Makefile.am:
3113         * testsuite/controller/interpolator.c:
3114           merge controller testsuites
3115           fix broken tests
3116           remove mem-chunk from docs
3117
3118 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3119
3120         * gst/gstmemchunk.c:
3121         * gst/gstmemchunk.h:
3122         * gst/gsttrashstack.c:
3123         * gst/gsttrashstack.h:
3124           out.  get out.  you're fired.  to the Attic !
3125
3126 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3127
3128         * gst/gstcaps.c: (gst_caps_intersect):
3129           fix signedness issues in a (hopefully) correct way
3130         * gst/gstelement.c: (gst_element_pads_activate):
3131           some debugging
3132         * gst/gstobject.c: (gst_object_set_parent):
3133           some debugging
3134
3135 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3136
3137         * gst/gstvalue.h: Fix prototypes.
3138
3139 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3140
3141         * docs/gst/gstreamer-sections.txt:
3142         * gst/gst.c: (gst_version_string):
3143         * gst/gst.h:
3144         * gst/gstversion.h.in:
3145         * win32/common/libgstreamer.def:
3146           add gst_version_string ()
3147
3148 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3149
3150         * configure.ac:
3151           clean up further
3152         * gst/gst.c: (init_post):
3153         * win32/common/config.h.in:
3154           it's PLUGINDIR now
3155         * gst/gstcaps.c: (gst_caps_intersect):
3156           use gint64, the range could be bigger than a guint
3157
3158 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3159
3160         * gst/gstclock.h:
3161           document potential problem in 2038
3162
3163 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3164
3165         * gst/gstcaps.c: (gst_caps_intersect):
3166           Fix guint j diving under 0
3167
3168 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3169
3170         * configure.ac:
3171         * win32/common/config.h:
3172         * win32/common/config.h.in:
3173           check for process.h, declares getpid() on Windows
3174         * gst/gstinfo.c:
3175           include process.h if we have it
3176         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3177         * gst/gstmemchunk.h:
3178           fix signedness issues
3179         * win32/common/libgstreamer.def:
3180           fix get_type's
3181
3182 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3183
3184         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3185         fix. Because of unsigned ints, caps intersection was going nuts and
3186         trying to access structures with G_MAXUINT index. That fixes
3187         videotestsrc ! ffmpegcolorspace ! fakesink
3188         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3189         consistency.
3190
3191 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3192
3193         * configure.ac:
3194           use the gettext macro
3195         * gst/elements/gstelements.c:
3196         * gst/gst.c:
3197         * gst/indexers/gstindexers.c:
3198           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3199         * win32/common/config.h:
3200           updated config.h
3201         * win32/common/config.h.in:
3202           add the template to generate config.h
3203         * win32/common/gstenumtypes.c:
3204         * win32/common/gstversion.h:
3205           updated copies
3206
3207 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3208
3209         * gst/gst.c: (gst_version):
3210         * gst/gstversion.h.in:
3211           add the nano
3212
3213 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3214
3215         * gst/gstevent.h:
3216           Oops, add missing closing bracket.
3217
3218 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3219
3220         * configure.ac:
3221           use common m4's for argument checking
3222
3223 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3224
3225         * docs/gst/gstreamer-sections.txt:
3226         * gst/gstevent.h:
3227           Add GST_EVENT_TYPE_NAME() macro.
3228
3229 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3230
3231         * gst/gstinfo.c:
3232         * gst/gstpluginfeature.c:
3233         * gst/gsttask.c:
3234           privatize more symbols
3235
3236 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3237
3238         * configure.ac:
3239           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3240           everything that uses GStreamer API should have the includes
3241
3242 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3243
3244         * docs/gst/gstreamer-sections.txt:
3245         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3246         * gst/gstvalue.h:
3247           give each value a _get_type, removes the DATA exports
3248
3249 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3250
3251         * gst/gst.c:
3252         * gst/gst.h:
3253           remove _gst_registry_auto_load, not used anymore
3254         * gst/gstbin.c: (gst_bin_get_type):
3255         * gst/gstbin.h:
3256         * gst/gstelement.c: (gst_element_get_type):
3257         * gst/gstelement.h:
3258         * gst/gstobject.c: (gst_object_get_type):
3259         * gst/gstobject.h:
3260         * gst/gstpad.c: (gst_pad_get_type):
3261         * gst/gstpad.h:
3262           make _get_type functions similar, fixes data export from library
3263
3264 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3265
3266         * configure.ac:
3267           correctly make conditionals
3268         * gst/elements/Makefile.am:
3269         * gst/elements/gstelements.c:
3270           fix typo causing fdsrc not to build
3271
3272 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3273
3274         * testsuite/Makefile.am:
3275         * testsuite/bytestream/.cvsignore:
3276         * testsuite/bytestream/Makefile.am:
3277         * testsuite/bytestream/filepadsink.c:
3278         * testsuite/bytestream/gstbstest.c:
3279         * testsuite/bytestream/test1.c:
3280         * testsuite/bytestream/testfile1:
3281         * testsuite/caps/normalisation.c:
3282         * testsuite/caps/random.c: (main):
3283         * testsuite/cleanup/.cvsignore:
3284         * testsuite/cleanup/Makefile.am:
3285         * testsuite/cleanup/cleanup1.c:
3286         * testsuite/cleanup/cleanup2.c:
3287         * testsuite/cleanup/cleanup3.c:
3288         * testsuite/cleanup/cleanup4.c:
3289         * testsuite/cleanup/cleanup5.c:
3290         * testsuite/controller/interpolator.c:
3291         * testsuite/debug/printf_extension.c: (main):
3292         * testsuite/elements/tee.c:
3293         * testsuite/negotiation/.cvsignore:
3294         * testsuite/negotiation/Makefile.am:
3295         * testsuite/negotiation/pad_link.c:
3296         * testsuite/pad/Makefile.am:
3297         * testsuite/pad/chainnopull.c:
3298         * testsuite/pad/getnopush.c:
3299         * testsuite/pad/link.c:
3300         * testsuite/refcounting/sched.c: (create_pipeline):
3301         * testsuite/registry/Makefile.am:
3302         * testsuite/registry/gst-print-formats.c:
3303         * testsuite/schedulers/.cvsignore:
3304         * testsuite/schedulers/142183-2.c:
3305         * testsuite/schedulers/142183.c:
3306         * testsuite/schedulers/143777-2.c:
3307         * testsuite/schedulers/143777.c:
3308         * testsuite/schedulers/147713.c:
3309         * testsuite/schedulers/147819.c:
3310         * testsuite/schedulers/147894-2.c:
3311         * testsuite/schedulers/147894.c:
3312         * testsuite/schedulers/Makefile.am:
3313         * testsuite/schedulers/group_link.c:
3314         * testsuite/schedulers/queue_link.c:
3315         * testsuite/schedulers/relink.c:
3316         * testsuite/schedulers/unlink.c:
3317         * testsuite/schedulers/unref.c:
3318         * testsuite/schedulers/useless_iteration.c:
3319         * testsuite/states/bin.c:
3320           clean out/remove some stuff from the testsuite directories
3321
3322 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3323
3324         * configure.ac:
3325           check for some headers
3326         * gst/elements/Makefile.am:
3327         * gst/elements/gstelements.c:
3328           don't compile fdsrc without sys/socket.h
3329         * gst/indexers/Makefile.am:
3330         * gst/indexers/gstindexers.c: (plugin_init):
3331           don't compile fileindex without mmap
3332
3333 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3334
3335         * configure.ac:
3336           reorganize
3337           clean up
3338           document more
3339           remove cruft
3340         * check/Makefile.am:
3341         * docs/gst/Makefile.am:
3342         * examples/helloworld/Makefile.am:
3343         * gst/Makefile.am:
3344         * gst/base/Makefile.am:
3345         * gst/check/Makefile.am:
3346         * gst/elements/Makefile.am:
3347         * gst/indexers/Makefile.am:
3348         * gst/parse/Makefile.am:
3349         * libs/gst/controller/Makefile.am:
3350         * libs/gst/dataprotocol/Makefile.am:
3351         * examples/helloworld/helloworld.c: (event_loop):
3352           compile fixes, though it's not being compiled currently
3353
3354 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3355
3356         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3357           Add some simple tests for the new taglist date API.
3358
3359 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3360
3361         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3362         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3363           Beautify 'last-message' output: print 'none' for buffer timestamps
3364           and durations if none is set; improve alignment with next messages.
3365
3366 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3367
3368         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3369         * gst/gstpluginfeature.h:
3370         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3371         * gst/gstregistry.h:
3372         * docs/gst/gstreamer-sections.txt:
3373           Add new API to check plugin feature version requirements.
3374
3375         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3376           Some basic tests for the above.         
3377
3378 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3379
3380         * gst/gststructure.c: (gst_structure_to_string):
3381           guard against NULL printf - happens when for example
3382           a message structure with GstClock gets serialized
3383
3384 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3385
3386         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3387           Fix presumable copy'n'pasto.
3388
3389 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3390
3391         * gst/elements/gstfakesrc.h:
3392         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3393         * gst/elements/gsttypefindelement.c:
3394           fix some signedness
3395         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3396           I wonder if this could actually write +2GB files before
3397
3398 2005-10-13  Andy Wingo  <wingo@pobox.com>
3399
3400         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3401         Fix Timmeke Waymans bug.
3402         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3403         string of the proper length to gst_caps_from_string. There's a
3404         potential for, before this fix, that this could cause someone
3405         connecting over the network to cause a segfault if the payload is
3406         not NUL-terminated.
3407
3408 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3409
3410         * docs/design/draft-push-pull.txt:
3411         * docs/design/part-overview.txt:
3412         * docs/random/TODO-pre-0.9:
3413         * docs/random/old/ChangeLog.gstreamer:
3414         * gst/base/gstpushsrc.c:
3415         * gst/gstclock.c:
3416           fixed typos
3417
3418 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3419
3420         * gst/glib-compat.c: (gst_flags_get_first_value):
3421         * gst/glib-compat.h:
3422         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3423         (gst_value_compare_double), (gst_value_serialize_flags):
3424           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3425           infinite loop
3426
3427 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3428
3429         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3430         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3431           fix up debugging
3432         * tools/gst-launch.c: (event_loop):
3433           print out clock nicely
3434
3435 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3436
3437         * docs/gst/gstreamer-sections.txt:
3438         * gst/gsttaglist.h:
3439         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3440         (gst_tag_list_get_date_index):
3441           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3442           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3443
3444 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3445
3446         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3447         (gst_collectpads_chain):
3448         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3449         in CollectData.
3450
3451 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3452
3453         * docs/gst/gstreamer-sections.txt:
3454         * gst/gst.c:
3455         * gst/gsterror.h:
3456         * tools/gst-inspect.c: (main):
3457         * tools/gst-launch.c: (main):
3458         * tools/gst-run.c: (main):
3459         * tools/gst-xmlinspect.c: (main):
3460           fix GOption context leaks
3461           doc fixes
3462
3463 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3464
3465         * gst/gstbus.c:
3466           use HAVE_UNISTD_H
3467         * win32/common/config.h:
3468           update config
3469         * win32/vs6/grammar.dsp:
3470         * win32/vs6/libgstelements.dsp:
3471         * win32/vs6/libgstreamer.dsp:
3472           update vs6 files
3473
3474 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3475
3476         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3477         * gst/base/gstbasesrc.c: (gst_base_src_query):
3478           fix more guint64<->gdouble conversions
3479
3480 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3481
3482         * Makefile.am:
3483           add win32-update target
3484         * win32/common/gstconfig.h:
3485         * win32/common/gstenumtypes.c:
3486         * win32/common/gstenumtypes.h:
3487         * win32/common/gstversion.h:
3488           add files that visual studio can't generate
3489
3490 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3491
3492         * Makefile.am:
3493           add a win32-update target
3494         * configure.ac:
3495
3496 2005-10-12  Wim Taymans  <wim@fluendo.com>
3497
3498         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3499         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3500         * gst/gstelement.c: (gst_element_commit_state),
3501         (gst_element_set_state):
3502         Protect flags with proper lock.
3503         unref provided cached clock in dispose.
3504
3505 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3506
3507         * gst/gst.c:
3508         * gst/gstminiobject.h:
3509         * gst/gstpad.h:
3510         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3511           removed unused flags from miniobject
3512           doc fixes
3513
3514 2005-10-12  Wim Taymans  <wim@fluendo.com>
3515
3516         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3517         (gst_file_sink_event), (gst_file_sink_render):
3518         Flush before seeking.
3519
3520 2005-10-12  Andy Wingo  <wingo@pobox.com>
3521
3522         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3523         always been the case.
3524
3525 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3526
3527         * check/gst/gstbin.c: (GST_START_TEST):
3528         * docs/gst/gstreamer-sections.txt:
3529         * gst/base/gstbasesink.c: (gst_base_sink_init):
3530         * gst/base/gstbasesrc.c: (gst_base_src_init),
3531         (gst_base_src_get_range), (gst_base_src_check_get_range),
3532         (gst_base_src_start), (gst_base_src_stop):
3533         * gst/base/gstbasesrc.h:
3534         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3535         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3536         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3537         (bin_bus_handler):
3538         * gst/gstbin.h:
3539         * gst/gstbuffer.h:
3540         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3541         * gst/gstbus.h:
3542         * gst/gstelement.c: (gst_element_is_locked_state),
3543         (gst_element_set_locked_state), (gst_element_commit_state),
3544         (gst_element_set_state):
3545         * gst/gstelement.h:
3546         * gst/gstindex.c: (gst_index_init):
3547         * gst/gstindex.h:
3548         * gst/gstminiobject.h:
3549         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3550         (gst_object_set_parent):
3551         * gst/gstobject.h:
3552         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3553         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3554         * gst/gstpad.h:
3555         * gst/gstpadtemplate.h:
3556         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3557         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3558         * gst/gstpipeline.h:
3559         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3560         (gst_file_index_commit):
3561         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3562         * testsuite/pad/link.c: (gst_test_src_init),
3563         (gst_test_filter_init), (gst_test_sink_init):
3564         * testsuite/states/locked.c: (main):
3565           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3566           moved bitshift from macro to enum definition
3567
3568 2005-10-12  Wim Taymans  <wim@fluendo.com>
3569
3570         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3571         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3572         (gst_file_sink_render):
3573         Some more debugging info.
3574
3575 2005-10-12  Wim Taymans  <wim@fluendo.com>
3576
3577         * docs/design/part-states.txt:
3578         * tools/gst-launch.c: (main):
3579         Some doc updates.
3580         Revert non-intentional change.
3581
3582 2005-10-12  Wim Taymans  <wim@fluendo.com>
3583
3584         * check/gst/gstbin.c: (GST_START_TEST):
3585         * check/gst/gstelement.c: (GST_START_TEST):
3586         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3587         * check/gst/gstghostpad.c: (GST_START_TEST):
3588         * check/gst/gstpipeline.c: (GST_START_TEST):
3589         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3590         * check/states/sinks.c: (GST_START_TEST):
3591         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3592         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3593         (gst_bin_remove_func), (gst_bin_get_state_func),
3594         (gst_bin_recalc_state), (gst_bin_change_state_func),
3595         (bin_bus_handler):
3596         * gst/gstelement.c: (gst_element_get_state_func),
3597         (gst_element_get_state), (gst_element_abort_state),
3598         (gst_element_commit_state), (gst_element_set_state),
3599         (gst_element_change_state), (gst_element_change_state_func):
3600         * gst/gstelement.h:
3601         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3602         (gst_pipeline_provide_clock_func):
3603         * gst/gstutils.c: (gst_element_link_pads_filtered):
3604         * tools/gst-launch.c: (main):
3605         * tools/gst-typefind.c: (main):
3606         Use GstClockTime in _get_state() instead of GTimeVal.
3607         Remove old code in gstutils.c
3608
3609 2005-10-12  Andy Wingo  <wingo@pobox.com>
3610
3611         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3612         removed.
3613
3614         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3615         there is no task. Shouldn't affect any code, as nothing in our
3616         plugins checks this return value.
3617         (gst_pad_stop_task): Also take the stream lock if the pad has no
3618         task. Docs updated.
3619
3620 2005-10-12  Wim Taymans  <wim@fluendo.com>
3621
3622         * gst/gstpad.c: (pre_activate), (post_activate),
3623         (gst_pad_activate_pull), (gst_pad_activate_push):
3624         Cleanup activation code. Reset old state if
3625         activation failed.
3626
3627 2005-10-12  Wim Taymans  <wim@fluendo.com>
3628
3629         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3630         (gst_base_sink_change_state):
3631         No need to prerol after receiving EOS.
3632
3633         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3634         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3635         * gst/elements/gstidentity.c: (gst_identity_event):
3636         Print events more verbosely.
3637
3638 2005-10-12  Wim Taymans  <wim@fluendo.com>
3639
3640         * check/Makefile.am:
3641         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3642         * check/states/sinks2.c:
3643         Moved sinks2 testcode in sinks check.
3644
3645         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3646         (gst_bin_remove_func), (gst_bin_recalc_state),
3647         (gst_bin_change_state_func), (bin_bus_handler):
3648         Fix potential race condition when _get_state() iterated over an
3649         ASYNC element right before it posted a state completion.
3650
3651         * gst/gstclock.h:
3652         Do proper cast here.
3653
3654         * gst/gstevent.c: (gst_event_new_newsegment),
3655         (gst_event_parse_newsegment):
3656         A playback rate of 0.0 is not allowed.
3657
3658 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3659
3660         * win32/common/config.h:
3661         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3662         (_trewinddir), (_ttelldir), (_tseekdir):
3663         * win32/common/dirent.h:
3664         * win32/common/gtchar.h:
3665         * win32/common/libgstbase.def:
3666         * win32/common/libgstreamer.def:
3667         * win32/vs6/grammar.dsp:
3668         * win32/vs6/gst_inspect.dsp:
3669         * win32/vs6/gst_launch.dsp:
3670         * win32/vs6/gstreamer.dsw:
3671         * win32/vs6/libgstbase.dsp:
3672         * win32/vs6/libgstelements.dsp:
3673         * win32/vs6/libgstreamer.dsp:
3674           Visual Studio 6 project files, and a new common directory.
3675           Phear.
3676
3677 2005-10-11  Wim Taymans  <wim@fluendo.com>
3678
3679         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3680         (gst_base_sink_do_sync), (gst_base_sink_query),
3681         (gst_base_sink_change_state):
3682         * gst/base/gstbasesink.h:
3683         Correctly parse newsegment info.
3684
3685 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3686
3687         * gst/gst.c: (init_post):
3688           split plugin paths correctly
3689
3690 2005-10-11  Wim Taymans  <wim@fluendo.com>
3691
3692         * check/gst/gstevent.c: (GST_START_TEST):
3693         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3694         (gst_base_sink_change_state):
3695         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3696         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3697         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3698         * gst/gstevent.c: (gst_event_new_newsegment),
3699         (gst_event_parse_newsegment):
3700         * gst/gstevent.h:
3701         Added extra flag to newsegment for future API freeze.
3702         Updated check and base elements.
3703
3704 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3705
3706         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3707         (gst_collectpads_add_pad), (gst_collectpads_pop),
3708         (gst_collectpads_event), (gst_collectpads_chain):
3709         * gst/base/gstcollectpads.h: Handle EOS correctly.
3710
3711 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3712
3713         * tools/gst-launch.c: (main):
3714           more null protecting
3715
3716 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3717
3718         * gst/gst-i18n-lib.h:
3719           check for ENABLE_NLS, not GETTEXT_PACKAGE
3720         * gst/gstregistry.c: (gst_registry_add_plugin),
3721         (gst_registry_scan_path_level),
3722         (_gst_registry_remove_cache_plugins):
3723           protect possibly NULL strings
3724         * gst/parse/types.h:
3725           config.h already included before
3726         * tools/gst-inspect.c: (main):
3727           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3728           check for ENABLE_NLS, not GETTEXT_PACKAGE
3729         * tools/gst-launch.c: (main):
3730           check for ENABLE_NLS, not GETTEXT_PACKAGE
3731
3732 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3733
3734         * configure.ac:
3735           if we don't have glib, fail before testing 2.8
3736         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3737           fix a leak, should fix plugins-base testsuite
3738
3739 2005-10-11  Andy Wingo  <wingo@pobox.com>
3740
3741         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3742         take the mode we're going to as an arg. Go head and set the mode
3743         and flushing flags now, so that if the activate function starts a
3744         thread all the flags will be in the right state.
3745         (post_activate): Renamed also. Just handle making sure streaming
3746         finishes for the deactivation case, and setting the deactivated
3747         mode.
3748         (gst_pad_set_active): Complain loudly if deactivation fails.
3749         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3750         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3751         remove the terrible hack.
3752
3753 2005-10-11  Wim Taymans  <wim@fluendo.com>
3754
3755         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3756         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3757         (gst_bin_recalc_state), (gst_bin_change_state_func),
3758         (gst_bin_dispose), (bin_bus_handler):
3759         * gst/gstbin.h:
3760         Prepare to make current EOS message queue more generic.
3761         Fix some typos.
3762
3763         * gst/gstevent.c: (gst_event_new_newsegment),
3764         (gst_event_parse_newsegment):
3765         * gst/gstevent.h:
3766         Rename base to stream_time.
3767
3768         * gst/gstmessage.h:
3769         Fix typo in docs.
3770
3771 2005-10-11  Wim Taymans  <wim@fluendo.com>
3772
3773         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3774         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3775         (gst_bin_change_state_func), (bin_bus_handler):
3776         * gst/gstbin.h:
3777         Work on proper clock selection.
3778
3779 2005-10-11  Edward Hervey  <edward@fluendo.com>
3780
3781         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3782         * libs/gst/controller/gstcontroller.h:
3783         Added GList* version of _remove_properties() in order to be able to wrap
3784         it in bindings.
3785
3786 2005-10-11  Wim Taymans  <wim@fluendo.com>
3787
3788         * docs/design/part-states.txt:
3789         Some more docs.
3790
3791         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3792         (gst_bin_change_state_func), (bin_bus_handler):
3793         Doc updates. Don't distribute the same clock over and over again.
3794
3795         * gst/gstclock.c:
3796         * gst/gstclock.h:
3797         Doc updates.
3798
3799         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3800         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3801         (gst_pad_send_event):
3802         * gst/gstpad.h:
3803         Make probe emission threadsafe again.
3804         Register quarks and move _get_name() from utils.
3805         Doc updates.
3806
3807         * gst/gstpipeline.c: (gst_pipeline_class_init),
3808         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3809         Only redistribute the clock of it changed.
3810
3811         * gst/gstsystemclock.h:
3812         Doc updates. 
3813
3814         * gst/gstutils.c:
3815         * gst/gstutils.h:
3816         Moved the _flow_get_name() to GstPad.
3817
3818 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3819
3820         * check/gst-libs/gdp.c: (GST_START_TEST):
3821         * check/gst/gstcaps.c: (GST_START_TEST):
3822         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3823         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3824         (gst_dp_packet_from_caps):
3825           fix more valgrind warnings before turning up the heat
3826
3827 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3828
3829         * gst/parse/grammar.y:
3830           some cleanup before the hacking
3831
3832 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3833
3834         * gst/base/gstbasesrc.c: (gst_base_src_query):
3835           use conversions
3836         * gst/gstutils.c: (gst_guint64_to_gdouble),
3837         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3838         * gst/gstutils.h:
3839           externalize, basesrc uses it
3840           obviously the implementation needs testing
3841
3842 2005-10-10  Wim Taymans  <wim@fluendo.com>
3843
3844         * tests/sched/Makefile.am:
3845         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3846         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3847
3848 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3849
3850         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3851           apparently converting from guint64 to double is not implemented
3852           on MSVC
3853
3854 2005-10-10  Wim Taymans  <wim@fluendo.com>
3855
3856         * check/Makefile.am:
3857         * check/generic/states.c: (GST_START_TEST):
3858         * check/gst/gstbin.c: (GST_START_TEST):
3859         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3860         * check/states/sinks.c: (GST_START_TEST):
3861         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3862         (main):
3863         Check fixes, use API as stated in design docs, remove hacks.
3864
3865         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3866         (gst_base_sink_change_state):
3867         Catch stopping our task while we're shutting down.
3868
3869         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3870         (gst_bin_remove_func), (gst_bin_get_state_func),
3871         (gst_bin_recalc_state), (gst_bin_change_state_func),
3872         (bin_bus_handler):
3873         * gst/gstbin.h:
3874         * gst/gstelement.c: (gst_element_init),
3875         (gst_element_get_state_func), (gst_element_abort_state),
3876         (gst_element_commit_state), (gst_element_lost_state),
3877         (gst_element_set_state), (gst_element_change_state),
3878         (gst_element_change_state_func):
3879         * gst/gstelement.h:
3880         New state change algorithm (see #318116)
3881
3882         * gst/gstpipeline.c: (gst_pipeline_class_init),
3883         (gst_pipeline_init), (gst_pipeline_set_property),
3884         (gst_pipeline_get_property), (do_pipeline_seek),
3885         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3886         * gst/gstpipeline.h:
3887         Remove crude state change hacks.
3888
3889         * gst/gstutils.h:
3890         Remove crude hacks.
3891
3892         * tools/gst-launch.c: (main):
3893         Fixes for state change. Needs some more work to fully use the
3894         new stuff.
3895
3896 2005-10-10  Andy Wingo  <wingo@pobox.com>
3897
3898         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3899
3900         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3901         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3902         issue.
3903
3904 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3905
3906         * gst/gstiterator.c: (gst_iterator_new):
3907           Fix my previous commit: GTypes passed to gst_iterator_new()
3908           can be fundamental types.
3909
3910 2005-10-10  Wim Taymans  <wim@fluendo.com>
3911
3912         * gst/gstelement.c: (gst_element_iterate_pad_list),
3913         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3914         (gst_element_iterate_sink_pads):
3915         Use src/sink pads lists for the respective iterators instead
3916         of filtering.
3917
3918 2005-10-10  Andy Wingo  <wingo@pobox.com>
3919
3920         Merged in popt removal + GOption addition patch from Ronald, bug
3921         #169772.
3922
3923         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3924         GstElement macros around, remove popt-related symbols, add goption
3925         stuff.
3926
3927         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3928         
3929         * docs/gst/Makefile.am:
3930         * docs/libs/Makefile.am: No POPT_CFLAGS.
3931         
3932         * examples/manual/Makefile.am:
3933         * docs/manual/basics-init.xml: Doc updates with an example.
3934         
3935         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3936         (gst_init), (parse_one_option), (parse_goption_arg):
3937         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3938         bit of hand merging and debugging to get the GOption stuff working
3939         tho.
3940         
3941         * tests/Makefile.am:
3942         * tools/Makefile.am:
3943         * tools/gst-inspect.c: (main):
3944         * tools/gst-launch.c: (main):
3945         * tools/gst-run.c: (main):
3946         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3947
3948 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3949
3950         * gst/gstiterator.c: (gst_iterator_new):
3951           Add assertions to make sure passed GType is likely to really
3952           be a GType (as the compiler won't catch it if the size and
3953           GType arguments get mixed up, see #318447).
3954
3955 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3956
3957         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3958
3959         * gst/gstbin.c: (gst_bin_iterate_sorted):
3960           Pass GType and size arguments to gst_iterator_new() in the right
3961           order (maybe we should make _new() take the GType as first argument
3962           just like _new_list()?) (#318447).
3963           
3964
3965 2005-10-10  Wim Taymans  <wim@fluendo.com>
3966
3967         * gst/gstelement.c: (gst_element_finalize):
3968         And free the GStaticRecMutex too
3969
3970 2005-10-10  Andy Wingo  <wingo@pobox.com>
3971
3972         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3973         Allocate and free the mutex properly.
3974
3975         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3976         New macros.
3977         (GstElement): The state_lock is now recursive. Rebuild your
3978         plugins, suckers. Old macros adapted.
3979
3980         * docs/gst/gstreamer-sections.txt: Doc updates.
3981
3982         * gst/gstutils.h:
3983         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3984         (g_static_rec_cond_wait): Ported from state changes patch, while
3985         we wait on bug #317802 to be solved in a well-distributed GLib.
3986
3987         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3988         gst_element_change_state, variable name changes.
3989         (gst_element_change_state): Split out of gst_element_set_state in
3990         preparation for the state change merge. Doesn't pay attention to
3991         the 'transition' argument.
3992         (gst_element_set_state): Updates, hopefully purely cosmetic.
3993         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3994         state change patch.
3995         (gst_element_get_state_func): Renamed from get_state, cosmetic
3996         changes.
3997
3998 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3999
4000         * gst/elements/gstelements.c:
4001         * win32/GStreamer.vcproj:
4002         * win32/config.h:
4003         * win32/dirent.c: (_tseekdir):
4004         * win32/gst-inspect.vcproj:
4005         * win32/gst-launch.vcproj:
4006         * win32/gstconfig.h:
4007         * win32/gstelements.vcproj:
4008         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4009         * win32/gstreamer.def:
4010         * win32/msvc71.sln:
4011           updates for the win32 build (patch from Sebastien Moutte)
4012
4013 2005-10-10  Andy Wingo  <wingo@pobox.com>
4014
4015         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4016         gst_bin_get_state, cleaned up (but no logic changes).
4017         (bin_element_is_sink): Comment updates.
4018         (sink_iterator_filter): Remove needless cast.
4019         (gst_bin_iterate_sinks): Doc update.
4020         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4021         cleaned up (but no logic changes).
4022
4023         * check/states/sinks.c (test_src_sink): Cleanups from the state
4024         change patch.
4025         (test_livesrc_sink): Sync on the state.
4026
4027         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4028         the state change patch.
4029
4030         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4031         change patch.
4032
4033         * check/gst/gstbin.c: Merge in some style fixes and additional
4034         checks from Wim's state change patch.
4035
4036 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4037
4038         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4039         (gst_type_find_helper):
4040           Check whether we have the requested data already in our list of
4041           cached buffers before pulling a new buffer; also make the buffer
4042           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4043
4044 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4045
4046         * gst/gstcaps.c:
4047         * gst/gstevent.c:
4048           doc updates
4049         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4050           don't use long long, it's not portable.  Replacing with
4051           gint64 seems to work; let's hope no skeletons fall out of the closet.
4052
4053 2005-10-10  Andy Wingo  <wingo@pobox.com>
4054
4055         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4056
4057 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4058
4059         * docs/gst/gstreamer-sections.txt:
4060         * gst/gstevent.c:
4061         * gst/gstevent.h:
4062         * gst/gstinfo.c:
4063         * gst/gstinfo.h:
4064         * gst/gstmessage.c: (gst_message_parse_state_changed):
4065         * gst/gstpad.c:
4066         * gst/gstpad.h:
4067           more docs, fix compilation
4068
4069 2005-10-09  Philippe Khalaf <burger@speedy.org>
4070         * gst/gstmessage.c:
4071           Fixed a few forgotten variables on previous commit
4072
4073 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4074
4075         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4076           Fix evil typefind crasher: getrange() might return a short
4077           buffer at the end of a file, but gst_type_find_peek() must
4078           either return the full data as requested or NULL, but
4079           never a short buffer.
4080
4081 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4082
4083         * gst/gstmessage.c: (gst_message_new_state_changed),
4084         (gst_message_parse_state_changed):
4085         * gst/gstmessage.h:
4086           don't use "new", it's a C++ keyword
4087
4088 2005-10-08  Wim Taymans  <wim@fluendo.com>
4089
4090         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4091         * gst/gstelement.c: (gst_element_post_message):
4092         * gst/gstpipeline.c: (gst_pipeline_change_state):
4093         Small docs and debug updates.
4094
4095 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4096
4097         * docs/gst/gstreamer-sections.txt:
4098         * gst/gstelementfactory.c:
4099         * gst/gstevent.c:
4100         * gst/gsttaglist.c:
4101           more docs
4102
4103 2005-10-08  Wim Taymans  <wim@fluendo.com>
4104
4105         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4106         (gst_bin_dispose), (bin_bus_handler):
4107         Fix typos, add comments.
4108         Clear EOS list when going to PAUSED from any direction and do it
4109         in a threadsafe way.
4110         Get base time in a threadsafe way too.
4111         Fix confusing debug in the change_state function.
4112         Various other small cleanups.
4113         
4114         * gst/gstelement.c: (gst_element_post_message):
4115         Fix very verbose bus posting code.
4116
4117         * gst/gstpipeline.c: (gst_pipeline_class_init),
4118         (gst_pipeline_set_property), (gst_pipeline_get_property),
4119         (gst_pipeline_change_state):
4120         Small ARG_ -> PROP_ cleanup
4121
4122 2005-10-08  Wim Taymans  <wim@fluendo.com>
4123
4124         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4125         Do a less CPU demanding EOS check because we can.
4126
4127 2005-10-08  Wim Taymans  <wim@fluendo.com>
4128
4129         * libs/gst/dataprotocol/dataprotocol.c:
4130         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4131         (gst_dp_packet_from_event):
4132         * libs/gst/dataprotocol/dataprotocol.h:
4133         * libs/gst/dataprotocol/dp-private.h:
4134         It's about time we bump the version number.
4135         Since event types don't fit in the guint8 anymore describing
4136         the payload type, make payload type 16 bits wide.
4137
4138 2005-10-08  Wim Taymans  <wim@fluendo.com>
4139
4140         * docs/design/part-TODO.txt:
4141         * docs/design/part-clocks.txt:
4142         * docs/design/part-events.txt:
4143         * docs/design/part-gstbin.txt:
4144         * docs/design/part-gstelement.txt:
4145         * docs/design/part-gstpipeline.txt:
4146         * docs/design/part-live-source.txt:
4147         * docs/design/part-messages.txt:
4148         * docs/design/part-overview.txt:
4149         * docs/design/part-states.txt:
4150         Many doc updates.
4151
4152 2005-10-08  Wim Taymans  <wim@fluendo.com>
4153
4154         * gst/gstevent.c:
4155         * gst/gstevent.h:
4156         Fix event quark registration.
4157         Add some space between events so we can insert them in the
4158         right groups.
4159
4160 2005-10-08  Wim Taymans  <wim@fluendo.com>
4161
4162         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4163         (gst_base_sink_handle_buffer):
4164         Better log message.
4165
4166         * gst/gstbus.h:
4167         * gst/gstelement.h:
4168         More docs.
4169
4170         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4171         (gst_queue_set_property), (gst_queue_get_property):
4172         * gst/gstqueue.h:
4173         Remove old unused properties.
4174
4175 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4176         * docs/gst/gstreamer-sections.txt:
4177         * gst/gstmessage.c:
4178         * gst/gstmessage.h:
4179         * gst/gstminiobject.c:
4180         * gst/gstminiobject.h:
4181         * gst/gstobject.h:
4182         * gst/gstpad.h:
4183         * gst/gstutils.h:
4184           lots of new docs and doc fixes
4185
4186 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4187
4188         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4189         * gst/gstplugin.h:
4190         * gst/gstregistry.c: (gst_registry_lookup_locked),
4191         (gst_registry_scan_path_level):
4192         * gst/gstregistryxml.c: (load_plugin):
4193           Only ever load one plugin for a given plugin basename.
4194           This ensures correct overriding of GST_PLUGIN_PATH over
4195           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4196           system installed plugins.
4197
4198 2005-10-08  Wim Taymans  <wim@fluendo.com>
4199
4200         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4201         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4202         Prepare for doing QOS.
4203
4204 2005-10-08  Wim Taymans  <wim@fluendo.com>
4205
4206         * check/gst/gstbin.c: (GST_START_TEST):
4207         * check/pipelines/cleanup.c: (GST_START_TEST):
4208         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4209         Allow new clock message too.
4210
4211 2005-10-08  Wim Taymans  <wim@fluendo.com>
4212
4213         * gst/gstmessage.c: (gst_message_new_error),
4214         (gst_message_new_warning), (gst_message_new_tag),
4215         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4216         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4217         (gst_message_new_segment_start), (gst_message_new_segment_done),
4218         (gst_message_parse_state_changed),
4219         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4220         (gst_message_parse_new_clock):
4221         * gst/gstmessage.h:
4222         Also carry the clock in question.
4223
4224 2005-10-08  Wim Taymans  <wim@fluendo.com>
4225
4226         * gst/gstmessage.c: (gst_message_new_custom),
4227         (gst_message_new_eos), (gst_message_new_error),
4228         (gst_message_new_warning), (gst_message_new_tag),
4229         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4230         (gst_message_new_new_clock), (gst_message_new_segment_start),
4231         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4232         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4233         * gst/gstmessage.h:
4234         Clean up.
4235         Added clock related messages.
4236
4237         * gst/gstpipeline.c: (gst_pipeline_change_state):
4238         Post message when the clock changed.
4239
4240         * tools/gst-launch.c: (event_loop):
4241         Print new clock.
4242
4243 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4244
4245         * tools/gst-inspect.c: (print_element_properties_info):
4246           Can't pass NULL strings to g_print() on windows.
4247
4248 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4249
4250         * docs/Makefile.am:
4251         * docs/gst/Makefile.am:
4252         * docs/gst/gstreamer-docs.sgml:
4253         * docs/gst/running.xml:
4254         * docs/version.entities.in:
4255           add a chapter on running GStreamer.
4256           document GST_DEBUG and GST_PLUGIN* env vars
4257
4258 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4259
4260         * Makefile.am:
4261           remove include dir
4262         * configure.ac:
4263           remove PLUGINS_BUILDDIR stuff
4264         * gst/gst.c: (init_post):
4265           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4266         * idiottest.mak:
4267           remove, it was condescending and not needed
4268
4269 2005-10-08  Wim Taymans  <wim@fluendo.com>
4270
4271         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4272         (gst_base_sink_handle_object), (gst_base_sink_event),
4273         (gst_base_sink_wait), (gst_base_sink_handle_event),
4274         (gst_base_sink_change_state):
4275         * gst/base/gstbasesink.h:
4276         Repost EOS message while going to PLAYING if still EOS.
4277         Make sure that when receiving a FLUSH_START we don't attempt
4278         to sync on the clock anymore.
4279
4280 2005-10-08  Wim Taymans  <wim@fluendo.com>
4281
4282         * tools/gst-launch.c: (event_loop):
4283         Better message printout.
4284
4285 2005-10-08  Wim Taymans  <wim@fluendo.com>
4286
4287         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4288         (gst_bin_child_proxy_get_children_count):
4289         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4290         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4291         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4292         (gst_child_proxy_set_valist):
4293         * gst/parse/grammar.y:
4294         Make ChildProxy threadsafe and fix mem leaks.
4295
4296 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4297
4298         * gst/gst.c: (init_post):
4299           debug the GST_PLUGIN_ env vars
4300
4301 2005-10-08  Wim Taymans  <wim@fluendo.com>
4302
4303         * check/gst/gstbin.c: (GST_START_TEST):
4304         * check/gst/gstmessage.c: (GST_START_TEST):
4305         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4306         * gst/gstelement.c: (gst_element_commit_state),
4307         (gst_element_lost_state):
4308         * gst/gstmessage.c: (gst_message_new_state_changed),
4309         (gst_message_parse_state_changed):
4310         * gst/gstmessage.h:
4311         * tools/gst-launch.c: (event_loop):
4312         Added extra field to STATE_CHANGE message with the pending
4313         state, which will be different from the new state soon.
4314
4315 2005-10-08  Wim Taymans  <wim@fluendo.com>
4316
4317         * gst/gstbus.c: (gst_bus_pop):
4318         * gst/gstclock.c:
4319         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4320         Small cleanups and doc updates.
4321
4322 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4323
4324         * gst/gst.c: (init_pre):
4325         * gst/gstbin.c: (gst_bin_add_func):
4326           log distributing clocks and base time
4327         * gst/gstregistry.c: (gst_registry_add_plugin),
4328         (gst_registry_scan_path_level), (gst_registry_scan_path):
4329           clean up the debugging output a little
4330         * gst/gstutils.c: (gst_element_state_get_name):
4331           warn about a memleak (I've actually seen this be used, though
4332           it was probably a bug)
4333
4334 2005-10-07  Wim Taymans  <wim@fluendo.com>
4335
4336         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4337         (gst_base_src_init), (gst_base_src_default_newsegment),
4338         (gst_base_src_newsegment), (gst_base_src_do_seek),
4339         (gst_base_src_loop), (gst_base_src_start):
4340         * gst/base/gstbasesrc.h:
4341         Make the newsegment event customizable by subclasses.
4342
4343 2005-10-07  Wim Taymans  <wim@fluendo.com>
4344
4345         * gst/gstevent.c: (gst_event_new_buffersize),
4346         (gst_event_parse_buffersize):
4347         * gst/gstevent.h:
4348         New event for future idea.
4349
4350 2005-10-07  Andy Wingo  <wingo@pobox.com>
4351
4352         * gst/gstelement.c (gst_element_post_message): Doc update.
4353
4354         * docs/gst/gstreamer-sections.txt: Update.
4355
4356         * gst/gstmessage.c (gst_message_new_application): Made into a
4357         function like honest API calls.
4358         (gst_message_new_element): New message type.
4359
4360         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4361
4362         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4363         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4364         times.
4365
4366         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4367         NO_PREROLL from gst_element_change_state to fall through.
4368
4369 2005-10-07  Wim Taymans  <wim@fluendo.com>
4370
4371         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4372         (gst_ghost_pad_do_activate_push):
4373         Activating a ghostpad with no internal pad in push mode
4374         is ok.
4375
4376 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4377
4378         * gst/gstobject.h:
4379           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4380           Fixes compilation on Windows.
4381
4382 2005-10-07  Michael Smith <msmith@fluendo.com>
4383
4384         * tools/gst-inspect.c:
4385           Print out feature and plugin count at the end when printing out
4386           all features.
4387
4388 2005-10-04  Michael Smith <msmith@fluendo.com>
4389
4390         * gst/gsterror.c: (_gst_stream_errors_init):
4391           Add another error string used in a few existing plugins.
4392
4393         * gst/gstplugin.c:
4394         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4395         * tools/gst-inspect.c: (print_element_info):
4396           When a feature disappears from a plugin (and the feature exists in
4397           the cached registry file), things went horribly wrong. This isn't a
4398           complete fix, we should actually be removing the 'missing' features
4399           from the features list when we load the actual plugin. That's not
4400           yet implemented. 
4401
4402 2005-10-04  Johan Dahlin  <johan@gnome.org>
4403
4404         * check/gst/gstiterator.c: (GST_START_TEST):
4405         * gst/gstbin.c: (gst_bin_iterate_elements),
4406         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4407         * gst/gstelement.c: (gst_element_iterate_pads):
4408         * gst/gstformat.c: (gst_format_iterate_definitions):
4409         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4410         (gst_iterator_new_list), (gst_iterator_filter):
4411         * gst/gstiterator.h:
4412         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4413         Add a GType to GstIterator, update callsites and tests.
4414
4415 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4416
4417         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4418           give events a chance to be handled by event probes when the pad
4419           is not linked
4420
4421 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4422
4423         * gst/gstevent.c: (gst_event_type_get_name),
4424         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4425         * gst/gstevent.h:
4426           add string representations for event types
4427
4428 2005-10-06  Wim Taymans  <wim@fluendo.com>
4429
4430         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4431         Don't use NULL pointers.
4432
4433 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4434
4435         * gst/gst_private.h:
4436         * gst/gstbus.c:
4437         * gst/gstelement.c:
4438         * gst/gstinfo.c:
4439         * gst/gstpluginfeature.c:
4440           widen the debug category in output to fit the biggest one we have
4441           add a bus category and use it
4442           play with the colors
4443           fix up some categories
4444
4445 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4446
4447         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4448           add push activation of sink ghost pads.
4449           Andye, please verify
4450
4451 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4452
4453         * gst/gstutils.c: (gst_element_link_pads):
4454           fix a bug in the case where neither element has a pad
4455         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4456           add a test for that case
4457
4458 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4459
4460         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4461           emit have-data before checking for peers.  This allows
4462           for probe handlers to connect elements.  This helps autopluggers.
4463         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4464         (gst_pad_suite):
4465           add six checks, linked/unlinked with no/true/false probe
4466
4467 2005-10-04  Wim Taymans  <wim@fluendo.com>
4468
4469         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4470         (gst_fake_sink_event), (gst_fake_sink_preroll),
4471         (gst_fake_sink_render), (gst_fake_sink_change_state):
4472         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4473         (gst_fake_src_get_property), (gst_fake_src_create),
4474         (gst_fake_src_stop):
4475         * gst/elements/gstidentity.c: (gst_identity_stop):
4476         Protect last_message with lock.
4477
4478 2005-10-04  Edward Hervey  <edward@fluendo.com>
4479
4480         * gst/gstformat.h: 
4481         Added precision in the comments for GST_FORMAT_DEFAULT
4482
4483 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4484
4485         * tools/gst-launch.c: (main):
4486           Don't try to run erroneous pipelines.
4487
4488 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4489
4490         * gst/gstbus.c: We don't need this header.
4491
4492 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4493
4494         * configure.ac:
4495           back to development
4496
4497 === release 0.9.3 ===
4498
4499 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4500
4501         * README:
4502         * configure.ac:
4503           Releasing 0.9.3, "Unregistered"
4504
4505 2005-10-03  Andy Wingo  <wingo@pobox.com>
4506
4507         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4508         whereby calling a pad's activatepush() function can start a thread
4509         that starts to push or pull before the pad gets the FLUSHING flag
4510         unset. Hack around it by holding the stream lock until the flag is
4511         set. Need to replace this with a proper solution. Together with
4512         the ghost pad fixes, this fixes mp3 playing/tagreading.
4513
4514         * docs/design/part-gstghostpad.txt: Add a note about activation of
4515         proxy pads outside of ghost pads.
4516
4517         * gst/gstghostpad.c: Implement the ghost pad activation design.
4518
4519 2005-10-02  Andy Wingo  <wingo@pobox.com>
4520
4521         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4522         It is volatile, after all.
4523
4524         * docs/design/part-gstghostpad.txt: Flesh out activation with
4525         ghost pads.
4526
4527         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4528         GST_DEBUG_FUNCPTR.
4529
4530 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4531
4532         * configure.ac:
4533           Fix (unused) AM_CONDITIONAL tests.
4534
4535 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4536
4537         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4538
4539         * gst/gstutils.c: (gst_pad_query_convert):
4540           Add assertion that makes sure src_val is >=0, just like
4541           gst_query_new_convert() has. (#315895)
4542
4543 2005-09-30  Edward Hervey  <edward@fluendo.com>
4544
4545         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4546         Let's not iterate pads we're not interested in, it avoids getting 
4547         sky-high refcounts on sinkpad.
4548
4549 2005-09-30  Wim Taymans  <wim@fluendo.com>
4550
4551         * gst/gstelement.c: (gst_element_set_state),
4552         (gst_element_change_state):
4553         Small tweak, element in ASYNC remains ASYNC.
4554
4555 2005-09-30  Wim Taymans  <wim@fluendo.com>
4556
4557         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4558         Only error is an error.
4559
4560         * gst/gstbin.c: (gst_bin_change_state):
4561         Better debugging.
4562
4563         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4564         Also call pad_block in pad alloc.
4565
4566         * gst/gstutils.c: (gst_flow_get_name):
4567         Better debugging.
4568
4569 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4570
4571         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4572         (gst_base_src_get_range):
4573           Fix documentation typos. Add some more debug info.
4574
4575 2005-09-29  David Schleef  <ds@schleef.org>
4576
4577         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4578           more end-user friendly.
4579         * tools/gst-inspect.c: (main): Check if command-line argument is
4580           a file and attempt to load that file as a plugin.
4581
4582 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4583
4584         * check/gst/gstbin.c:
4585         * check/states/sinks.c:
4586           fix tests for the new warning
4587         * check/gst/gstpipeline.c:
4588           add a test for pipeline and bus interaction
4589         * gst/gstelement.c:
4590           elements should be NULL if they get disposed; add a warning if not
4591
4592 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4593
4594         * gst/gstobject.c:
4595           for 2.6 refcounting, make debug log more correct by printing
4596           the actual refcounts at the time of swap (Wim)
4597
4598 2005-09-29  Andy Wingo  <wingo@pobox.com>
4599
4600         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4601         removes signal watches previously added via
4602         gst_bus_add_signal_watch.
4603         (gst_bus_add_signal_watch): Don't return the source id, just store
4604         it on the bus if there wasn't an id already.
4605
4606         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4607         add_signal_watch and remove_signal_watch.
4608
4609 2005-09-29  Edward Hervey  <edward@fluendo.com>
4610
4611         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4612         Better if we actually iterate the list :)
4613
4614 2005-09-29  Wim Taymans  <wim@fluendo.com>
4615
4616         * check/gst/gstbin.c: (GST_START_TEST):
4617         Change for new bus API.
4618
4619         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4620         (send_messages), (GST_START_TEST), (gstbus_suite):
4621         Change for new bus signal API.
4622
4623         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4624         (gst_bus_source_prepare), (gst_bus_source_check),
4625         (gst_bus_create_watch), (gst_bus_add_watch_full),
4626         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4627         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4628         * gst/gstbus.h:
4629         Remove support for multiple GSources operating on different
4630         message types as it is too complex and unneeded when using
4631         signals.
4632         Added support for receiving signals from the bus.
4633
4634 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4635
4636         * docs/libs/tmpl/gstdataprotocol.sgml:
4637         * docs/manual/advanced-dataaccess.xml:
4638         * gst/elements/gstcapsfilter.c:
4639         * gst/gstutils.c:
4640           rename filter-caps to caps property
4641
4642 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4643
4644         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4645           More robust fraction string parsing.
4646
4647         * docs/pwg/appendix-porting.xml:
4648           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4649
4650 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4651
4652         * gst/gstcaps.c: (gst_caps_do_simplify):
4653           Thou shalt not free a structure and then continue using it
4654           in the next loop iteration.
4655
4656         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4657         (gst_caps_suite):
4658           Add test case for caps simplification.
4659
4660 2005-09-29  Wim Taymans  <wim@fluendo.com>
4661
4662         * check/gst/gstbin.c: (GST_START_TEST):
4663         Oops.
4664
4665 2005-09-29  Wim Taymans  <wim@fluendo.com>
4666
4667         * check/gst/gstbin.c: (GST_START_TEST):
4668         Add bus to bin.
4669
4670         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4671         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4672         (find_element), (gst_bin_sort_iterator_next),
4673         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4674         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4675         (gst_bin_change_state), (gst_bin_dispose):
4676         A bin does not have a bus, it gets the bus from the parent.
4677
4678         * gst/gstelement.c: (gst_element_requires_clock),
4679         (gst_element_provides_clock), (gst_element_is_indexable),
4680         (gst_element_is_locked_state), (gst_element_change_state),
4681         (gst_element_set_bus_func):
4682         Small cleanups.
4683
4684         * gst/gstpipeline.c: (gst_pipeline_class_init),
4685         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4686         The pipeline provides a bus.
4687
4688 2005-09-28  Johan Dahlin  <johan@gnome.org>
4689
4690         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4691         gst_structure_get_enum instead of gst_structure_get_int
4692
4693         * gst/gststructure.c (gst_structure_get_enum): Impl.
4694
4695         * gst/gststructure.h (gst_structure_get_enum): Add
4696
4697         * docs/gst/gstreamer-sections.txt: Ditto
4698
4699         * gst/gstmessage.c (gst_message_new_state_changed): Use
4700         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4701         which does introspection.
4702         Reviewed by Christian Schaller
4703
4704 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4705
4706         * gst/gstinfo.c: (gst_debug_log_default):
4707           don't do dummy g_strdup()s
4708         * libs/gst/controller/gstcontroller.c:
4709         (on_object_controlled_property_changed),
4710         (gst_controlled_property_new), (gst_controller_new_valist),
4711         (gst_controller_new_list),
4712         (gst_controller_remove_properties_valist), (gst_controller_set),
4713         (gst_controller_get), (gst_controller_sync_values),
4714         (gst_controller_get_value_array), (_gst_controller_class_init),
4715         (gst_controller_get_type):
4716         * libs/gst/controller/gstcontroller.h:
4717         * libs/gst/controller/gstinterpolation.c:
4718         (gst_controlled_property_find_timed_value_node):
4719           convert // to /**/ comments
4720
4721 2005-09-28  Wim Taymans  <wim@fluendo.com>
4722
4723         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4724         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4725         (gst_bus_sync_signal_handler):
4726         * gst/gstbus.h:
4727         Added async-message and sync-message signals to the bus.
4728         Added helper BusFunc to emit signals for all posted messages.
4729
4730         * gst/gstmessage.c: (gst_message_type_get_name),
4731         (gst_message_type_to_quark), (gst_message_get_type):
4732         * gst/gstmessage.h:
4733         Register quarks for message names.
4734
4735 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4736
4737         * docs/libs/gstreamer-libs-sections.txt:
4738         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4739         (gst_controller_new_list):
4740         * libs/gst/controller/gstcontroller.h:
4741           added another constructor for language bindings
4742
4743 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4744
4745         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4746           add another check
4747         * gst/gstbus.c:
4748           add some doc
4749         * gst/gstinfo.c: (_gst_debug_init):
4750           slightly more readable color for refcount debugging
4751
4752 2005-09-28  Wim Taymans  <wim@fluendo.com>
4753
4754         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4755         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4756         (find_element), (gst_bin_sort_iterator_next),
4757         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4758         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4759         (gst_bin_change_state), (gst_bin_dispose):
4760         Small doc fixes. get_clock -> provide_clock.
4761
4762         * gst/gstelement.c: (gst_element_class_init),
4763         (gst_element_provides_clock), (gst_element_provide_clock),
4764         (gst_element_get_clock), (gst_element_commit_state),
4765         (gst_element_lost_state):
4766         * gst/gstelement.h:
4767         Make get/set_clock() symetric. Add provide_clock vmethod since
4768         that is actually what this function does.
4769
4770         * gst/gstpipeline.c: (gst_pipeline_class_init),
4771         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4772         (gst_pipeline_get_clock):
4773         get_clock -> provide_clock.
4774
4775 2005-09-28  Andy Wingo  <wingo@pobox.com>
4776
4777         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4778         lieu of real docs...
4779
4780         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4781
4782 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4783
4784         * gst/elements/gstcapsfilter.c:
4785         * gst/elements/gstfakesink.c:
4786         * gst/elements/gstfakesrc.c:
4787         * gst/elements/gstfdsink.c:
4788         * gst/elements/gstfdsrc.c:
4789         * gst/elements/gstfilesink.c:
4790         * gst/elements/gstfilesrc.c:
4791         * gst/elements/gstidentity.c:
4792         * gst/elements/gsttee.c:
4793         * gst/elements/gsttypefindelement.c:
4794           Make element details static.
4795
4796 2005-09-28  Wim Taymans  <wim@fluendo.com>
4797
4798         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4799         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4800         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4801         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4802         (gst_bin_change_state), (gst_bin_dispose):
4803         Some documentation updates.
4804         Clean up dispose handlers.
4805
4806         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4807         * gst/gstpad.c: (gst_pad_dispose):
4808         Clean up dispose handler.
4809
4810         * gst/gstpipeline.c: (gst_pipeline_change_state):
4811         Removed spurious UNLOCK.
4812
4813 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4814
4815         * docs/gst/gstreamer-sections.txt:
4816         * gst/base/gstbasesrc.h:
4817         * gst/gstelement.h:
4818         * gst/gstevent.h:
4819         * gst/gstobject.h:
4820         * gst/gstpad.h:
4821         * gst/gstpipeline.c:
4822         * gst/gstpipeline.h:
4823         * gst/gstutils.h:
4824         * gst/gstxml.h:
4825           added two new functions to the docs
4826                 documents all undocumented GstXXXFlags
4827                 completed some incomplete docs 
4828
4829 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4830
4831         * gst/gstbin.c: (gst_bin_dispose):
4832         * gst/gstelement.c: (gst_element_dispose):
4833           remove now useless and leaky resurrection code in dispose
4834         * gst/base/gstbasesrc.c: (gst_base_src_init):
4835         * gst/gstelementfactory.c: (gst_element_factory_create):
4836         * gst/gstobject.c: (gst_object_set_parent):
4837           add some debugging
4838
4839 2005-09-27  Wim Taymans  <wim@fluendo.com>
4840
4841         * docs/design/part-TODO.txt:
4842         Update TODO.
4843
4844         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4845         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4846         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4847         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4848         (gst_bin_change_state):
4849         * gst/gstelement.h:
4850         Remove element variable, we keep element info in the iterator now.
4851
4852 2005-09-27  Andy Wingo  <wingo@pobox.com>
4853
4854         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4855         values.
4856
4857 2005-09-27  Wim Taymans  <wim@fluendo.com>
4858
4859         * check/gst/gstbin.c: (GST_START_TEST):
4860         Enable check that works now.
4861
4862         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4863         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4864         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4865         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4866         (gst_bin_change_state):
4867         * gst/gstbin.h:
4868         Redid the state change algorithm using a topological sort algo.
4869         Handles all cases correctly.
4870         Exposed iterator for state change order.
4871
4872         * gst/gstelement.h:
4873         Temp storage for state changes. Need to get rid of this soon.
4874
4875 2005-09-27  Wim Taymans  <wim@fluendo.com>
4876
4877         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4878         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4879         (link_fold_func), (gst_pad_proxy_setcaps):
4880         Leak fixes, the fold functions need to unref the passed object and
4881         _get_parent_*() returns ref to parent.
4882
4883 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4884
4885         * check/gst/gstbuffer.c: (test_make_writable):
4886           Plug leak in test case and fix 'make check-valgrind'
4887
4888 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4889
4890         * gst/gstbuffer.c: (gst_subbuffer_init):
4891           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4892           works correctly in all circumstances (we could have just copied
4893           the parent buffer's readonly flag, but conceptually it seems
4894           cleaner to mark all subbuffers as read-only). (based on patch
4895           by Alessandro Decina, #314710).
4896         
4897         * check/gst/gstbuffer.c: (create_read_only_buffer),
4898         (test_make_writable), (test_subbuffer_make_writable),
4899         (gst_test_suite):
4900           Add some tests for gst_buffer_make_writable().
4901
4902 2005-09-27  Wim Taymans  <wim@fluendo.com>
4903
4904         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4905         use gst_object_has_ancestor().
4906
4907         * gst/gstobject.c: (gst_object_has_ancestor):
4908         * gst/gstobject.h:
4909         gst_object_has_ancestor() copied from gstbin.c as it is a
4910         usefull function.
4911
4912         * tests/instantiate/create.c: (create_all_elements):
4913         * tests/lat.c: (handoff_src), (handoff_sink):
4914         * tests/sched/runxml.c: (main):
4915         * tests/seeking/seeking1.c: (main):
4916         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4917         (main):
4918         Fix compilation of some tests.
4919
4920 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4921
4922         * gst/gsterror.h:
4923           Remove comment. GST_TYPE_G_ERROR is here to stay,
4924           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4925           (#316961, #300610).
4926
4927 2005-09-26  Wim Taymans  <wim@fluendo.com>
4928
4929         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4930         Added check that shows error in state change order.
4931
4932 2005-09-26  Wim Taymans  <wim@fluendo.com>
4933
4934         * gst/gstbin.c: (gst_bin_change_state):
4935         Make state change function use 3 queues again, we were
4936         adding elements in the wrong order.
4937
4938         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4939         Some debug info,
4940
4941         * gst/gstpad.c: (gst_pad_dispose):
4942         Added some debug info first.
4943
4944 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4945
4946         * docs/design/draft-push-pull.txt:
4947         * docs/design/part-events.txt:
4948         * docs/design/part-overview.txt:
4949         * docs/design/part-scheduling.txt:
4950           Replace all _pull_region() with _pull_range()
4951           
4952 2005-09-26  Andy Wingo  <wingo@pobox.com>
4953
4954         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4955
4956         * check/gst-libs/controller.c: Update for controller api change.
4957
4958         * configure.ac: 
4959         * tests/Makefile.am:
4960         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4961         over by GLib bug 118439.
4962         
4963         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4964         routines to a function.
4965
4966         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4967
4968         * libs/gst/controller/gsthelper.c:
4969         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4970         (gst_object_sync_values): Renamed from sink_values. Ugh.
4971
4972         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4973
4974         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4975         Renamed from controller_key, as it is exported.
4976
4977         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4978
4979 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4980
4981         * gst/Makefile.am:
4982         * gst/gst.h:
4983         * gst/gstpad.h:
4984         * gst/gstpadtemplate.h:
4985         * gst/gstquery.c:
4986         * gst/gstquery.h:
4987         * gst/gstqueryutils.c:
4988         * gst/gstqueryutils.h:
4989           remove queryutils headers after moving the two used functions
4990           to gstquery.  also fixes build problem for gstsiddec
4991
4992 2005-09-26  Michael Smith <msmith@fluendo.com>
4993
4994         * tools/gst-launch.1.in:
4995         Correct documentation in manpage of debug syntax
4996
4997 2005-09-26  Wim Taymans  <wim@fluendo.com>
4998
4999         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5000         (gst_base_src_is_seekable), (gst_base_src_change_state):
5001         Some more debugging info.
5002
5003 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5004
5005         * docs/gst/gstreamer-sections.txt:
5006         * gst/base/gstbasetransform.h:
5007         * gst/gstindex.h:
5008           added more docs
5009
5010 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5011
5012         * docs/gst/.cvsignore:
5013         * docs/gst/tmpl/.cvsignore:
5014         * docs/gst/tmpl/gstpipeline.sgml:
5015         * docs/gst/tmpl/gstplugin.sgml:
5016         * gst/gstpipeline.c:
5017         * gst/gstplugin.c:
5018         * gst/gstplugin.h:
5019           inlined the last two docs files
5020           removed the tmpl directory from cvs (no more conflicts here!)
5021
5022 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5023
5024         * docs/gst/gstreamer-sections.txt:
5025         * docs/gst/tmpl/.cvsignore:
5026         * docs/gst/tmpl/gstpad.sgml:
5027         * docs/gst/tmpl/gstpadtemplate.sgml:
5028         * gst/Makefile.am:
5029         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5030         (gst_pad_finalize), (gst_pad_set_pad_template):
5031         * gst/gstpad.h:
5032         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5033         (gst_pad_template_class_init), (gst_pad_template_init),
5034         (gst_pad_template_dispose), (name_is_valid),
5035         (gst_static_pad_template_get), (gst_pad_template_new),
5036         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5037         (gst_pad_template_pad_created):
5038         * gst/gstpadtemplate.h:
5039           inlined two more docs
5040           factored gstpadtemplate out of gstpad
5041
5042 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5043
5044         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5045         (test_children_state_change_order_semi_sink):
5046           Fix test case: we can't rely on a fixed state change order when
5047           going from READY => PAUSED because the sink might commit its 
5048           new state first when the first buffer created by the source 
5049           reaches the sink before the source has finished its change state.
5050           (Test case still fails at times, see #316856, comment 5 onwards)
5051
5052 2005-09-24  Wim Taymans  <wim@fluendo.com>
5053
5054         * docs/design/part-events.txt:
5055         * docs/design/part-gstbus.txt:
5056         * docs/design/part-gstpipeline.txt:
5057         * docs/design/part-messages.txt:
5058         * docs/design/part-overview.txt:
5059         * docs/design/part-segments.txt:
5060         * gst/gstbin.c:
5061         * gst/gstbuffer.c:
5062         * gst/gstclock.c:
5063         * gst/gstelement.c:
5064         * gst/gstevent.c:
5065         * gst/gstfilter.c:
5066         * gst/gstiterator.c:
5067         Various documentation updates.
5068
5069 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5070
5071         * gst/gstclock.h:
5072           Well, that's embarassing.  Luckily we weren't using
5073           GST_CLOCK_DIFF anywhere.
5074
5075 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5076
5077         * common/gtk-doc.mak:
5078           don't fail on building XML, FC4 slave shows a bunch of doc
5079           missing bits that I don't get
5080         * gst/gstpad.c:
5081         * gst/gstpipeline.c:
5082         * gst/gststructure.c:
5083           some doc updates
5084
5085 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5086
5087         * docs/design/part-gstbin.txt:
5088         * docs/design/part-gstbus.txt:
5089         * gst/gstbus.c:
5090           Add blurb about how the bus goes into flushing mode and
5091           drops all messages when its bin goes from READY into NULL 
5092           state.
5093
5094 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * docs/gst/gstreamer-sections.txt:
5097         * gst/gststructure.c: (gst_structure_get_clock_time):
5098         * gst/gststructure.h:
5099           add a method to get a GstClockTime out of a structure
5100
5101 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5102
5103         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5104         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5105           Added test to check state change order in bins (can still be made
5106           to fail here under heavy disk load; bails out with 'Push on pad
5107           fakesink:sink0, but it was not activated in push mode').
5108
5109         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5110           Fix state change order when there is only a semi sink (#316856)
5111
5112         * gst/gstbus.c: (gst_bus_class_init):
5113           Use _class_peek_parent(), not _class_ref(); fix docs to say
5114           'default main context' instead of 'mainloop' where that is
5115           what's meant.
5116
5117         * gst/gstelement.c: (gst_element_commit_state),
5118         (gst_element_set_state):
5119           Fix typos in debug messages
5120
5121 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5122
5123         * docs/README:
5124         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5125         * gst/gstpluginfeature.c:
5126         * gst/gstutils.c:
5127           various doc updates
5128         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5129           change an assert into an error until it gets fixed properly
5130
5131 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5132
5133         * docs/gst/gstreamer-sections.txt:
5134         * docs/gst/tmpl/.cvsignore:
5135         * docs/gst/tmpl/gstelement.sgml:
5136         * docs/gst/tmpl/gstinfo.sgml:
5137         * docs/gst/tmpl/gstobject.sgml:
5138         * gst/gstelement.c:
5139         * gst/gstelement.h:
5140         * gst/gstinfo.c:
5141         * gst/gstinfo.h:
5142         * gst/gstobject.c: (gst_object_class_init):
5143         * gst/gstobject.h:
5144           inlined 3 more biiiig doc files and added some missing docs on the fly
5145
5146 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5147
5148         * check/gst/.cvsignore:
5149         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5150         * gst/gstregistryxml.c: (load_plugin),
5151         (gst_registry_xml_save_plugin):
5152           put back source in registry.  add checks for find_plugin.
5153         * testsuite/states/bin.c: (assert_state), (empty_bin),
5154         (test_adding_one_element), (main):
5155         * testsuite/states/locked.c: (main):
5156           some compile/run fixes
5157
5158 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5159
5160         * check/gst/gstvalue.c: (GST_START_TEST):
5161           fix leaks in the test itself
5162
5163 2005-09-22  Wim Taymans  <wim@fluendo.com>
5164
5165         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5166         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5167         (gst_base_sink_query):
5168         Prepare for more accurate position reporting and query
5169         handling.
5170
5171         * gst/gstelement.c: (gst_element_send_event),
5172         (gst_element_set_state):
5173         Add some comment.
5174
5175 2005-09-22  Wim Taymans  <wim@fluendo.com>
5176
5177         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5178         (gst_query_parse_segment):
5179         * gst/gstquery.h:
5180         More documentation.
5181         Add segment query for future use.
5182
5183 2005-09-22  Wim Taymans  <wim@fluendo.com>
5184
5185         * gst/gstbin.c: (gst_bin_add_func):
5186         Some more debug info.
5187
5188         * gst/gstelement.c: (gst_element_send_event):
5189         Simplify send_event
5190
5191         * gst/gstelement.h:
5192         Don't know how flags got broken.
5193
5194         * gst/gstquery.h:
5195         Added new query.
5196
5197 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5198
5199         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5200           Add simplistic test suite for GST_TYPE_DATE serialisation and
5201           deserialisation.
5202
5203 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5204
5205         * docs/gst/gstreamer-sections.txt:
5206         * gst/gststructure.c: (gst_structure_set_valist),
5207         (gst_structure_get_date):
5208         * gst/gststructure.h:
5209         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5210         (gst_date_copy), (gst_value_compare_date),
5211         (gst_value_serialize_date), (gst_value_deserialize_date),
5212         (gst_value_transform_date_string),
5213         (gst_value_transform_string_date), (_gst_value_initialize):
5214         * gst/gstvalue.h:
5215           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5216           bunch of utility functions along with a hack that checks that
5217           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5218           is required. Part of the grand scheme in #170777.
5219
5220 2005-09-22  Andy Wingo  <wingo@pobox.com>
5221
5222         * gst/gstconfig.h.in: Psych out gtk-doc.
5223
5224         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5225
5226         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5227
5228         * tools/gst-inspect.c (print_element_list): Plug some
5229         inconsequential leaks.
5230
5231         * gst/gstregistry.c (gst_registry_get_default): Doc.
5232
5233         * check/gst/gstplugin.c: 
5234         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5235         * gst/gstelementfactory.c (gst_element_factory_create): 
5236         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5237         refcount changes.
5238
5239         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5240         (gst_plugin_feature_load): Doc, don't eat refs.
5241
5242         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5243         (gst_plugin_list_free): Doc.
5244         (gst_plugin_load_file): Doc updates.
5245
5246         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5247         accessors returning refcounted objects, return a ref.
5248
5249         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5250         accessor for caps. IDEMPOTENCE. Oh yes.
5251
5252 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5253
5254         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5255
5256         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5257         (_gst_debug_register_funcptr):
5258           Add mutex to serialise access to the hash table with
5259           the function pointer => function name string mapping;
5260           make that hash table static scope (#316809).
5261
5262         * gst/registries/.cvsignore:
5263           Remove left-over file.
5264
5265 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5266
5267         * docs/pwg/appendix-porting.xml:
5268           And something about newsegment events and caps-on-buffers to
5269           the porting guide (feel free to improve).
5270
5271 2005-09-21  Andy Wingo  <wingo@pobox.com>
5272
5273         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5274         data and event probes on the same pad.
5275         (test_buffer_probe_once): Test that removing probes from within
5276         the probe functions works.
5277
5278 2005-09-21  Andy Wingo  <wingo@pobox.com>
5279
5280         * check/gst/gstutils.c: New file.
5281         (test_buffer_probe_n_times): A simple buffer probe test. More to
5282         come, foolios.
5283
5284         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5285         have-data::buffer, not have-data.
5286         (gst_pad_add_event_probe): Likewise for have-data::event.
5287         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5288         peer' isn't quite right yet though.
5289         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5290         (gst_pad_remove_data_probe): Change to take the guint handler_id
5291         as their arg, not the function+data, which is more glib-like.
5292
5293         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5294         the signal emission to indicate if the data is a buffer or an
5295         event.
5296         (gst_pad_get_type): Initialize buffer and event quarks.
5297         (gst_pad_class_init): have-data is now a detailed signal, yes it
5298         is.
5299
5300 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5301
5302         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5303         * gst/gstutils.c: (gst_util_set_value_from_string),
5304         (gst_util_set_object_arg):
5305           Don't put functional code in g_return_if_fail() or
5306           g_return_val_if_fail() statements, otherwise things will 
5307           break when G_DISABLE_CHECKS is defined during compilation.
5308
5309 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5310
5311         * docs/gst/tmpl/.cvsignore:
5312         * docs/gst/tmpl/gstvalue.sgml:
5313         * gst/gstvalue.c:
5314         * gst/gstvalue.h:
5315           inlied another one and added  some obvious docs
5316
5317 2005-09-21  Wim Taymans  <wim@fluendo.com>
5318
5319         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5320         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5321         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5322         (gst_fdsrc_get_property), (gst_fdsrc_create):
5323         * gst/elements/gstfdsrc.h:
5324         Properly implement fdsrc. Removed signal and timeout,
5325         better implemented somewhere else.
5326
5327 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5328
5329         * docs/gst/tmpl/.cvsignore:
5330         * docs/gst/tmpl/gstimplementsinterface.sgml:
5331         * gst/gstinterface.c:
5332           inlined more docs
5333
5334 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5335
5336         * docs/gst/gstreamer-sections.txt:
5337         * docs/gst/tmpl/.cvsignore:
5338         * docs/gst/tmpl/gstenumtypes.sgml:
5339           remove obsolete doc file
5340
5341 2005-09-21  David Schleef  <ds@schleef.org>
5342
5343         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5344         little beer, fix a little leak.
5345
5346 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5347
5348         * docs/gst/gstreamer-docs.sgml:
5349         * docs/gst/gstreamer-sections.txt:
5350         * docs/gst/tmpl/.cvsignore:
5351         * gst/Makefile.am:
5352         * gst/gst.h:
5353         * gst/gstbin.c:
5354         * gst/gstelement.h:
5355         * gst/gstindex.c: (gst_index_class_init):
5356         * gst/gstindex.h:
5357         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5358         (gst_index_factory_class_init), (gst_index_factory_init),
5359         (gst_index_factory_finalize), (gst_index_factory_new),
5360         (gst_index_factory_destroy), (gst_index_factory_find),
5361         (gst_index_factory_create), (gst_index_factory_make):
5362         * gst/gstindexfactory.h:
5363         * gst/gstpluginfeature.c:
5364         * gst/gstpluginfeature.h:
5365         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5366           more docs inlined, splitted gstindex.{c,h}
5367
5368 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5369
5370         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5371           fix a leak
5372
5373 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5374
5375         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5376           Set sync to FALSE by default.
5377
5378 2005-09-20  Wim Taymans  <wim@fluendo.com>
5379
5380         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5381         (gst_base_sink_init):
5382         Make sync property settable from subclass.
5383
5384         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5385         (gst_fake_sink_change_state):
5386         Set sync to FALSE by default.
5387
5388 2005-09-20  Wim Taymans  <wim@fluendo.com>
5389
5390         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5391         * tools/gst-launch.c: (main):
5392         The timeout handler should have lower priority than the source
5393         so we don't timeout before popping a message with 0 timeout.
5394         Dump error messages after failed state change.
5395
5396 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5397
5398         * tools/gst-inspect.c: (print_element_properties_info):
5399           Fix two typos.
5400
5401 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5402
5403         * check/gst/gstevent.c:
5404         * gst/elements/gstfakesink.c:
5405         * gst/elements/gstfakesink.h:
5406           remove the sync property from fakesink.
5407           has the side effect of setting sync TRUE
5408           for fakesink, which is a change.  Anyone who knows how
5409           to fix this nicely in a GObject-y way, feel free.
5410
5411 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5412
5413         * docs/gst/gstreamer-docs.sgml:
5414           remove probe refsection
5415
5416 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5417
5418         * check/Makefile.am:
5419           disable valgrinding the controller test again
5420         * docs/gst/gstreamer-sections.txt:
5421           update for api-changes
5422
5423 2005-09-20  Wim Taymans  <wim@fluendo.com>
5424
5425         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5426         (gst_base_sink_set_property), (gst_base_sink_get_property),
5427         (gst_base_sink_do_sync):
5428         * gst/base/gstbasesink.h:
5429         Added sync property to basesink to disable clock sync.
5430
5431 2005-09-20  Andy Wingo  <wingo@pobox.com>
5432
5433         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5434         eating the caller's refcount.
5435
5436         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5437         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5438         refcount.
5439
5440         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5441         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5442         of GLib 2.8 public, so we can know which refcount to check in
5443         tests.
5444
5445         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5446         (gst_object_init): Only set the gst refcount if we're going ahead
5447         with the refcount hack.
5448
5449 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5450
5451         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5452         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5453           more leaks plumbed, added more debug-logging
5454         * gst/gstmacros.h:
5455           whitespace fix
5456
5457 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5458
5459         * gst/gstmessage.c:
5460           remove include of gstmemchunk.h
5461
5462 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5463
5464         * gst/gstclock.c: (_gst_clock_id_free):
5465           Commit from the Political Party For More Atomic CVS Commits,
5466           so that people don't waste too much of their day fishing
5467           out obvious leaks out of massive commits.
5468           Oh, and fix a pretty damn obvious leak in the memchunk
5469           removal code.
5470
5471 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5472
5473         * check/Makefile.am:
5474         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5475           plug mem-leak, re-add to valgrindable tests
5476
5477 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5478
5479         * gst/gstplugin.h:
5480           unbreak the build for those who have chronic arthritis
5481           and typing "make check" is just too taxing on the hands
5482
5483 2005-09-20  Andy Wingo  <wingo@pobox.com>
5484
5485         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5486         really want it out, you should fix plugins at the same time.
5487
5488 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5489
5490         * configure.ac:
5491         * docs/gst/gstreamer-sections.txt:
5492         * gst/gstobject.c:
5493           added missing symbols to api docs
5494           disable ref-count hack if we have glib >= 2.8
5495
5496 2005-09-19  David Schleef  <ds@schleef.org>
5497
5498         * docs/gst/Makefile.am: Ignore a few more internal headers
5499         * docs/gst/gstreamer-docs.sgml: Remove old sections
5500         * docs/gst/gstreamer-sections.txt: Remove old sections
5501         * docs/gst/tmpl/gstobject.sgml: update
5502         * docs/gst/tmpl/gstplugin.sgml: update
5503         * docs/gst/tmpl/gstpluginfeature.sgml: update
5504         * docs/random/ds/0.9-suggested-changes: update.
5505         * gst/Makefile.am: remove memchunk and trashstack, since they're
5506           not used.
5507         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5508         * gst/gst.h: don't include some headers
5509         * gst/gstchildproxy.c: add gstmarshal.h
5510         * gst/gstclock.c: Don't use memchunks
5511         * gst/gstminiobject.c: Add some docs
5512         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5513         * gst/gstobject.h: same
5514         * gst/gstplugin.c: include gstmacros.h
5515         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5516         * gst/gstquery.c: don't use memchunks
5517         * gst/gstregistry.c: rename gst_registry_deinit()
5518         * gst/gstregistry.h: same
5519
5520 2005-09-19  David Schleef  <ds@schleef.org>
5521
5522         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5523         * docs/libs/gstreamer-libs-sections.txt:
5524         * docs/libs/tmpl/gstgetbits.sgml:
5525         * docs/libs/tmpl/gstputbits.sgml:
5526
5527 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5528
5529         * win32/gstenumtypes.c:
5530         * win32/gstenumtypes.h:
5531           Update.
5532
5533 2005-09-19  Wim Taymans  <wim@fluendo.com>
5534
5535         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5536         Automatically PAUSE and RESUME a pipeline when a flushing seek
5537         is performed.
5538
5539 2005-09-19  Andy Wingo  <wingo@pobox.com>
5540
5541         * gst/gstregistry.h: Spacing fixen.
5542
5543 2005-09-19  Wim Taymans  <wim@fluendo.com>
5544
5545         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5546         Handle state change failure more correctly.
5547
5548 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5549
5550         * check/Makefile.am:
5551         * check/pipelines/cleanup.c: (run_pipeline):
5552         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5553         (GST_START_TEST):
5554           enable cleanup again after fixing the leak
5555         * docs/README:
5556           some more info on docs
5557
5558 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5559
5560         * check/Makefile.am:
5561           re-enable tests now that leaks are plugged
5562         * check/gst/gst.c:
5563         * check/gst/gstbin.c:
5564         * check/gst/gstpipeline.c:
5565           add some more tests while fixing leaks
5566         * common/check.mak:
5567           make sure binaries are uptodate when valgrinding/gdbing
5568         * gst/gst.c:
5569         * gst/gstelementfactory.c:
5570           remove a ref too many, and add a FIXME for when we get
5571           round to disposing of classes
5572         * gst/gstplugin.c:
5573           fix the refcounting when loading a plugin from a file and
5574           the code pretends that the pointer is the same even though
5575           of course it can change
5576         * gst/gstpluginfeature.c:
5577           unref plugins marked cached (a bit confusing as a name)
5578           as the docs state should be done
5579           various doc additions to explain refcounting
5580         * gst/gstregistry.c:
5581         * gst/gstregistryxml.c:
5582           debugging
5583
5584 2005-09-19  Wim Taymans  <wim@fluendo.com>
5585
5586         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5587         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5588         (send_messages), (GST_START_TEST), (gstbus_suite):
5589         * check/gst/gstpipeline.c: (GST_START_TEST):
5590         * check/pipelines/cleanup.c: (run_pipeline):
5591         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5592         (GST_START_TEST):
5593         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5594         (gst_bus_source_check), (gst_bus_source_dispatch),
5595         (gst_bus_create_watch), (gst_bus_add_watch_full),
5596         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5597         * gst/gstbus.h:
5598         * tools/gst-launch.c: (event_loop):
5599         * tools/gst-md5sum.c: (event_loop):
5600         GstBusHandler -> GstBusFunc, return value has the same meaning as
5601         any other GSource (FALSE == remove source).
5602         _add_watch() and _add_watch_full() now take a MessageType mask to
5603         only handle specific types of messages.
5604         _poll() returns the GstMessage instead of the message type to avoid
5605         race conditions.
5606         _have_pending() takes a MessageType mask now too.
5607         Added testsuite for multiple bus watches.
5608         Fix testsuites and applications for new bus API.
5609
5610 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5611
5612         * check/Makefile.am:
5613           mark a bunch of the tests as to fix until we fix them
5614
5615 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5616
5617         * common/check.mak:
5618           use GST_PLUGIN settings for valgrind tests as well, so we're
5619           valgrinding the correct thing
5620         * gst/gst.c: (init_post):
5621           plug another leak
5622
5623 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5624
5625         * gst/gst.c: (init_post), (gst_deinit):
5626         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5627         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5628         * gst/gstindex.c: (gst_index_factory_class_init),
5629         (gst_index_factory_finalize):
5630         * gst/gstobject.c: (gst_object_dispose):
5631         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5632         (gst_plugin_load_file), (gst_plugin_desc_free):
5633         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5634         (gst_plugin_feature_finalize):
5635         * gst/gstregistry.c: (gst_registry_class_init),
5636         (gst_registry_init), (gst_registry_finalize),
5637         (gst_registry_get_default), (gst_registry_deinit):
5638         * gst/gstregistry.h:
5639         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5640           various cleanups and memleak plugging.  make valgrind is happy now.
5641
5642 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5643
5644         * common/check.mak:
5645           add a check-valgrind target
5646
5647 2005-09-18  David Schleef  <ds@schleef.org>
5648
5649         * tools/gst-inspect.c: Revert the GOption code.
5650
5651 2005-09-17  David Schleef  <ds@schleef.org>
5652
5653         * check/Makefile.am: Fix environment variables.
5654         * check/gst/gstplugin.c: Fix for API changes.
5655         * tools/gst-inspect.c: Fix for API changes.
5656         * tools/gst-xmlinspect.c: Fix for API changes.
5657         * gst/gstelementfactory.c:
5658         * gst/gstplugin.c:
5659         * gst/gstplugin.h:
5660         * gst/gstpluginfeature.c:
5661         * gst/gstpluginfeature.h:
5662         * gst/gstregistry.c:
5663         * gst/gstregistry.h:
5664         * gst/gstregistryxml.c:
5665         * gst/gsttypefind.c:
5666         * gst/gsttypefindfactory.c:
5667         * gst/indexers/gstfileindex.c:
5668         * gst/indexers/gstmemindex.c:
5669         * gst/schedulers/Makefile.am:
5670           Change registry to keep track of both plugins and features,
5671           removing the feature tracking from plugins themselves.
5672
5673 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5674
5675         * check/Makefile.am:
5676         * tools/gst-register.1.in:
5677           remove gst-register
5678
5679 2005-09-15  David Schleef  <ds@schleef.org>
5680
5681         * check/gst/gstplugin.c:
5682         * gst/gstelementfactory.c:
5683         * gst/gstplugin.c:
5684         * gst/gstpluginfeature.c:
5685         * gst/gstregistry.c:
5686           Getting tired of debugging.  Disabled all the unreffing of
5687           plugins and features, which fixes the segfaults, but of
5688           course leaks like crazy.  At least playbin works.
5689
5690 2005-09-15  David Schleef  <ds@schleef.org>
5691
5692         * check/gst/gstplugin.c: (register_check_elements),
5693         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5694         More testing
5695         * gst/elements/gsttypefindelement.c: Fix refcounting.
5696         * gst/gsttypefind.c:
5697         * gst/gsttypefindfactory.c:
5698         * gst/gsttypefindfactory.h:
5699
5700 2005-09-15  David Schleef  <ds@schleef.org>
5701
5702         * gst/gstindex.c: get refcounting correct.
5703         * gst/gstregistry.c: Handle the case where a feature/plugin is
5704           not found.
5705
5706 2005-09-15  David Schleef  <ds@schleef.org>
5707
5708         * check/Makefile.am:
5709         * check/gst/gstplugin.c: Add test
5710         * gst/gstplugin.c: Fix problems noticed by testsuite
5711         * gst/gstplugin.h:
5712         * gst/gstregistry.c: 
5713         * gst/gstregistry.h:
5714
5715 2005-09-15  David Schleef  <ds@schleef.org>
5716
5717         * gst/gstplugin.c: Implement semi-decent recounting and locking
5718           in plugins and plugin features.
5719         * gst/gstplugin.h:
5720         * gst/gstpluginfeature.c:
5721         * gst/gstpluginfeature.h:
5722         * gst/gstregistry.c:
5723
5724 2005-09-15  Michael Smith <msmith@fluendo.com>
5725
5726         * gst/gstregistry.c: (gst_registry_get_feature_list):
5727           Implement this. Makes oggdemux work; decodebin still broken.
5728
5729 2005-09-14  David Schleef  <ds@schleef.org>
5730
5731         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5732           #316076)
5733         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5734         * gst/check/Makefile.am:
5735         * libs/gst/controller/Makefile.am:
5736         * libs/gst/dataprotocol/Makefile.am:
5737
5738 2005-09-14  David Schleef  <ds@schleef.org>
5739
5740         * configure.ac: Remove getbits library.  Nothing uses it, and
5741           it should be in something like liboil if someone did want
5742           to use it.
5743         * libs/gst/Makefile.am:
5744         * libs/gst/getbits/Makefile.am:
5745         * libs/gst/getbits/gbtest.c:
5746         * libs/gst/getbits/getbits.c:
5747         * libs/gst/getbits/getbits.h:
5748         * libs/gst/getbits/gstgetbits_generic.c:
5749         * libs/gst/getbits/gstgetbits_i386.s:
5750         * libs/gst/getbits/gstgetbits_inl.h:
5751
5752 2005-09-14  David Schleef  <ds@schleef.org>
5753
5754         * gst/Makefile.am: Dist glib-compat.h
5755
5756 2005-09-14  David Schleef  <ds@schleef.org>
5757
5758         * configure.ac: Remove gst/registries, since it's no longer used.
5759         * gst/registries/Makefile.am:
5760         * gst/registries/gstlibxmlregistry.c:
5761         * gst/registries/gstlibxmlregistry.h:
5762         * gst/registries/gstxmlregistry.c:
5763         * gst/registries/gstxmlregistry.h:
5764         * gst/registries/registrytest.c:
5765
5766 2005-09-14  David Schleef  <ds@schleef.org>
5767
5768         * gst/glib-compat.h:
5769         * gst/gstregistryxml.c:
5770           Convergence is near.  Seriously.
5771
5772 2005-09-14  David Schleef  <ds@schleef.org>
5773
5774         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5775         * gst/glib-compat.h:
5776           Attempt #4 to appease the buildbots.
5777
5778 2005-09-14  David Schleef  <ds@schleef.org>
5779
5780         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5781           Attempt #3.
5782
5783 2005-09-14  David Schleef  <ds@schleef.org>
5784
5785         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5786         Attempt #2.
5787
5788 2005-09-14  David Schleef  <ds@schleef.org>
5789
5790         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5791           the new functions.
5792
5793 2005-09-14  David Schleef  <ds@schleef.org>
5794
5795         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5796         * gst/glib-compat.h: Add some functions that are in newer versions
5797           of glib than we care to require.
5798         * gst/gstregistryxml.c: Use them.
5799
5800 2005-09-14  David Schleef  <ds@schleef.org>
5801
5802         * po/POTFILES.in: remove gst-register.c
5803
5804 2005-09-14  David Schleef  <ds@schleef.org>
5805
5806         * docs/gst/gstreamer-docs.sgml:
5807         * docs/gst/gstreamer-sections.txt:
5808         * docs/gst/gstreamer.types:
5809         * docs/gst/tmpl/gstelement.sgml:
5810         * docs/gst/tmpl/gstplugin.sgml:
5811         * docs/gst/tmpl/gstpluginfeature.sgml:
5812           Documentation updates for registry changes.
5813
5814 2005-09-14  David Schleef  <ds@schleef.org>
5815
5816         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5817           because we don't require glib-2.8.
5818
5819 2005-09-14  David Schleef  <ds@schleef.org>
5820
5821         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5822           registries directory.
5823
5824 2005-09-14  David Schleef  <ds@schleef.org>
5825
5826         * check/Makefile.am:
5827         * check/generic/states.c:
5828         * gst/Makefile.am:
5829         * gst/gst.c:
5830         * gst/gst.h:
5831         * gst/gst_private.h:
5832         * gst/gstelementfactory.c:
5833         * gst/gstindex.c:
5834         * gst/gstinfo.c:
5835         * gst/gstplugin.c:
5836         * gst/gstplugin.h:
5837         * gst/gstpluginfeature.c:
5838         * gst/gstpluginfeature.h:
5839         * gst/gstregistry.c:
5840         * gst/gstregistry.h:
5841         * gst/gstregistrypool.c: remove
5842         * gst/gstregistrypool.h: remove
5843         * gst/gsttypefind.c:
5844         * gst/gsttypefindfactory.c:
5845         * gst/gsturi.c:
5846         * tools/Makefile.am:
5847         * tools/gst-compprep.c:
5848         * tools/gst-inspect.c:
5849         * tools/gst-register.c: remove
5850         * tools/gst-xmlinspect.c:
5851           Registry rewrite.  Changes registry from being a file created
5852           by a tool into a simple cache file created automatically by 
5853           libgstreamer.  Removed gst-register (because it's no longer
5854           needed).  Remove registry pools, because we only have one
5855           registry implementation (XML).  Fix up other subsystems as
5856           necessary.
5857
5858 2005-09-13  Michael Smith <msmith@fluendo.com>
5859
5860         * gst/gstconfig.h.in:
5861           Don't Use windows linking attributes for MinGW. Fixes #316157
5862
5863 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5864
5865         * gst/gstutils.c: (set_state_async_thread_func),
5866         (gst_element_set_state_async):
5867           Apparently people think it's better if this function doesn't
5868           try to set the state to whatever state was asked for on the first
5869           call to this function for any object.  Seriously.
5870
5871 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5872
5873         * check/gst/gstpipeline.c: (GST_START_TEST):
5874         * docs/gst/gstreamer-sections.txt:
5875         * gst/gstutils.c: (set_state_async_thread_func),
5876         (gst_element_set_state_async):
5877         * gst/gstutils.h:
5878           add a "gst_element_set_state_async" method that
5879           sets the state and starts a thread to make sure the state
5880           change completes as best as it can
5881
5882 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5883
5884         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5885           codify design+behaviour in testsuite after discussion
5886
5887 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5888
5889         * docs/gst/tmpl/gstelement.sgml:
5890         * docs/manual/appendix-quotes.xml:
5891           add a quote
5892         * gst/gstelement.c: (gst_element_set_state):
5893           add some debug
5894
5895 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5896
5897         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5898         (gst_base_transform_prepare_output_buf),
5899         (gst_base_transform_handle_buffer):
5900         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5901         (gst_capsfilter_prepare_buf):
5902           Remove the requirement for sub-classes to call the parent
5903           implementation of prepare_output_buffer with a wrapper function.
5904           
5905         * gst/gsttaglist.h:
5906         * gst/gsttagsetter.h:
5907           Fix #define wrapper
5908
5909 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5910
5911         * docs/gst/gstreamer-sections.txt:
5912           more doc cleanups
5913
5914 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5915
5916         * docs/gst/gstreamer-sections.txt:
5917         * docs/gst/tmpl/gstelement.sgml:
5918         * docs/gst/tmpl/gstplugin.sgml:
5919         * gst/gstminiobject.c:
5920         * gst/gstvalue.h:
5921           docs now stop throwing warnings
5922
5923 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5924
5925         * docs/gst/gstreamer-sections.txt:
5926         * docs/gst/gstreamer.types:
5927         * docs/gst/tmpl/gstpad.sgml:
5928         * docs/gst/tmpl/gsttypes.sgml:
5929         * gst/base/gstadapter.h:
5930         * gst/base/gstbasesink.h:
5931         * gst/base/gstbasesrc.h:
5932         * gst/gstbin.h:
5933         * gst/gstbuffer.h:
5934         * gst/gstbus.h:
5935         * gst/gstcaps.h:
5936         * gst/gstclock.h:
5937         * gst/gstelement.h:
5938         * gst/gstevent.h:
5939         * gst/gstmessage.h:
5940         * gst/gstpad.h:
5941         * gst/gststructure.c:
5942         * gst/registries/gstlibxmlregistry.h:
5943           various documentation fixes
5944
5945 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5946
5947         * docs/gst/gstreamer-sections.txt:
5948         * docs/gst/tmpl/gstvalue.sgml:
5949           rearrange gstvalue section
5950         * gst/gstutils.c: (gst_element_state_get_name):
5951           NONE -> VOID
5952         * gst/gstvalue.c: (_gst_value_initialize):
5953         * gst/gstvalue.h:
5954           doc updates
5955
5956 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5957
5958         * check/gst-libs/controller.c:
5959           Header include fix.
5960         * gst/base/gstbasetransform.c:
5961         (gst_base_transform_default_prepare_buf),
5962         (gst_base_transform_handle_buffer):
5963         * gst/base/gstbasetransform.h:
5964           Some more basetransform changes and fixes to enable sub-classes
5965           that modify buffer metadata only.
5966         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5967         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5968         (gst_capsfilter_prepare_buf):
5969           If the output pad has fixed allowed caps and input buffers 
5970           don't have any, set the fixed caps on outgoing buffers.
5971
5972 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5973         * check/elements/identity.c: (GST_START_TEST):
5974           Make the error a little clearer when the test fails because
5975           identity made a copy of the buffer.
5976         * docs/gst/gstreamer-sections.txt:
5977           New symbols in gstbasetransform.h
5978         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5979         (gst_base_transform_init), (gst_base_transform_transform_size),
5980         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5981         (gst_base_transform_default_prepare_buf),
5982         (gst_base_transform_get_unit_size),
5983         (gst_base_transform_buffer_alloc),
5984         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5985         (gst_base_transform_change_state),
5986         (gst_base_transform_set_passthrough),
5987         (gst_base_transform_set_in_place),
5988         (gst_base_transform_is_in_place):
5989         * gst/base/gstbasetransform.h:
5990           Change BaseTransform to separate in_place operate from same_caps
5991           output. in_place implies that the element can perform the transform
5992           on incoming buffers in-place, even if the caps on the output are
5993           different.
5994           Sub-class elements can now implement special buffer allocation
5995           methods for outgoing buffers if they wish to.
5996           Big documentation addition.
5997         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5998         * gst/elements/gstelements.c:
5999           Changes for basetransform modifications.
6000         * gst/elements/Makefile.am:
6001         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6002           Compile fix. Extra debug output.
6003
6004 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6005
6006         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6007         (gst_pad_suite):
6008           add tests for valid pad naming
6009         * gst/check/gstcheck.c: (gst_check_log_message_func),
6010         (gst_check_log_critical_func):
6011           add ASSERT_WARNING
6012           remove printing of code, it is fragile when the code contains
6013           % and the line number is enough info
6014         * gst/check/gstcheck.h:
6015         * gst/gstpad.c: (gst_pad_template_new):
6016           fix memleaks
6017
6018 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6019
6020         * configure.ac:
6021           say what CHECK flags we use
6022         * docs/libs/gstreamer-libs.types:
6023         * libs/gst/controller/Makefile.am:
6024         * libs/gst/controller/gst-controller.c:
6025         * libs/gst/controller/gst-controller.h:
6026         * libs/gst/controller/gst-helper.c:
6027         * libs/gst/controller/gst-interpolation.c:
6028         * libs/gst/controller/gstcontroller.c:
6029         * libs/gst/controller/gsthelper.c:
6030         * libs/gst/controller/gstinterpolation.c:
6031         * tools/gst-inspect.c: (print_plugin_info):
6032           we don't use dashes in header names
6033
6034 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6035
6036         * check/Makefile.am:
6037         * check/gst/.cvsignore:
6038         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6039         (gst_pipeline_suite), (main):
6040           adding a test for pipelines and state changes
6041         * gst/gstutils.c: (get_state_func):
6042           add some debugging
6043         * gstreamer.spec.in:
6044           fix up spec file
6045
6046 2005-09-08  Michael Smith <msmith@fluendo.com>
6047
6048         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6049         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6050         (gst_file_src_is_seekable), (gst_file_src_get_size),
6051         (gst_file_src_start):
6052         * gst/elements/gstfilesrc.h:
6053           Various fixes for unseekable, unmmapable, and non-normal files, so
6054           that fallback to read() rather than mmap() works.
6055         * gst/gstevent.c: (gst_event_new_newsegment):
6056           Allow newsegment events with segment_start == segment_end, as will
6057           correctly happen if you use filesrc on a zero-size file, for
6058           example.
6059
6060 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6061
6062         * gst/gstplugin.c: (gst_plugin_load_file):
6063           Call g_module_close when we don't load the module
6064
6065         * gst/registries/gstlibxmlregistry.c:
6066         (gst_xml_registry_get_property):
6067           Port leak fix from 0.8
6068
6069 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6070
6071         * docs/gst/gstreamer-docs.sgml:
6072         * docs/gst/tmpl/.cvsignore:
6073         * docs/gst/tmpl/gsttrace.sgml:
6074         * docs/gst/tmpl/gsttrashstack.sgml:
6075         * gst/Makefile.am:
6076         * gst/gst.h:
6077         * gst/gstelement.h:
6078         * gst/gstevent.h:
6079         * gst/gstmessage.c:
6080         * gst/gstmessage.h:
6081         * gst/gsttag.c:
6082         * gst/gsttag.h:
6083         * gst/gsttaginterface.c:
6084         * gst/gsttaginterface.h:
6085         * gst/gsttaglist.c:
6086         * gst/gsttaglist.h:
6087         * gst/gsttagsetter.c:
6088         * gst/gsttagsetter.h:
6089         * gst/gsttrace.c:
6090         * gst/gsttrace.h:
6091         * gst/gsttrashstack.c:
6092           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6093           inlined docs for gsttrace, gsttrashstack
6094
6095 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6096
6097         * gst/Makefile.am:
6098         * gst/elements/gstbufferstore.h:
6099         * gst/elements/gsttypefindelement.c:
6100         * gst/elements/gsttypefindelement.h:
6101         * gst/gst.h:
6102         * gst/gsttypefind.c:
6103         * gst/gsttypefind.h:
6104         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6105         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6106         (gst_type_find_factory_dispose),
6107         (gst_type_find_factory_unload_thyself),
6108         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6109         (gst_type_find_factory_get_caps),
6110         (gst_type_find_factory_get_extensions),
6111         (gst_type_find_factory_call_function):
6112         * gst/gsttypefindfactory.h:
6113         * gst/registries/gstlibxmlregistry.c:
6114         * gst/registries/gstxmlregistry.c:
6115           splitted gsttypefind into gsttypefind, gsttypefindfactory
6116
6117 2005-09-07  Andy Wingo  <wingo@pobox.com>
6118
6119         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6120         condition whereby the pad's task function is entered before the
6121         pad_mode variable was set.
6122
6123 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6124
6125         * gst/gstpad.c: (gst_pad_alloc_buffer):
6126           Catch misbehaving pad_alloc functions that don't
6127           set up caps and do it for them.
6128
6129 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6130
6131         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6132           test for pipe!=NULL
6133         * docs/gst/tmpl/.cvsignore:
6134         * docs/gst/tmpl/gstmemchunk.sgml:
6135         * docs/gst/tmpl/gstparse.sgml:
6136         * docs/gst/tmpl/gsttaglist.sgml:
6137         * docs/gst/tmpl/gsttagsetter.sgml:
6138         * docs/gst/tmpl/gsttypefind.sgml:
6139         * docs/gst/tmpl/gsttypefindfactory.sgml:
6140         * gst/gstmemchunk.c:
6141         * gst/gstparse.c:
6142         * gst/gsttag.c:
6143         * gst/gsttaginterface.c:
6144         * gst/gsttypefind.c:
6145         * gst/gsttypefind.h:
6146           inlined more docs
6147
6148 === release 0.9.2 ===
6149
6150 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6151
6152         * NEWS:
6153         * RELEASE:
6154         * configure.ac:
6155           releasing 0.9.2, "South"
6156
6157 2005-09-05  Andy Wingo  <wingo@pobox.com>
6158
6159         * gst/registries/gstxmlregistry.h:
6160         * gst/registries/gstxmlregistry.c: Um... resurrect...
6161         
6162         * gst/registries/gstxmlregistry.h:
6163         * gst/registries/gstxmlregistry.c: and update to newer API.
6164         Incidentally they should be a bit faster now that they don't have
6165         to parse the caps.
6166         
6167 2005-09-05  Andy Wingo  <wingo@pobox.com>
6168
6169         * gst/registries/gstxmlregistry.h:
6170         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6171         replaced by the libxml registry a while back
6172
6173 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6174
6175         * docs/gst/tmpl/gstplugin.sgml:
6176         * gst/elements/gstelements.c:
6177         * gst/gst.c:
6178         * gst/gstplugin.c: (gst_plugin_register_func),
6179         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6180         (gst_plugin_get_source):
6181         * gst/gstplugin.h:
6182         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6183         (gst_xml_registry_save_plugin):
6184         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6185         (gst_xml_registry_save_plugin):
6186         * tools/gst-inspect.c: (print_plugin_info):
6187           add a "source" plugin description field, to represent the source
6188           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6189           will set it to PACKAGE, which is automake's idea of the name of
6190           the source project.
6191
6192 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6193
6194         * Makefile.am:
6195         * autogen.sh:
6196         * configure.ac:
6197         * docs/Makefile.am:
6198         * docs/faq/Makefile.am:
6199         * docs/gst/tmpl/gstelement.sgml:
6200         * docs/gst/tmpl/gsttypes.sgml:
6201         * docs/htmlinstall.mak:
6202         * docs/manual/Makefile.am:
6203         * docs/pwg/Makefile.am:
6204           reorganize doc build a little
6205           split out docbook and gtk-doc stuff
6206           have two separate --enable's and enable them through autogen
6207           but disable by default in configure (to be similar to other
6208           projects)
6209         * gstreamer.spec.in:
6210           clean up docs install
6211         * po/af.po:
6212         * po/az.po:
6213         * po/ca.po:
6214         * po/cs.po:
6215         * po/de.po:
6216         * po/en_GB.po:
6217         * po/fr.po:
6218         * po/it.po:
6219         * po/nb.po:
6220         * po/nl.po:
6221         * po/ru.po:
6222         * po/sq.po:
6223         * po/sr.po:
6224         * po/sv.po:
6225         * po/tr.po:
6226         * po/uk.po:
6227         * po/vi.po:
6228           translation updates
6229
6230 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6231
6232         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6233           Add comment.
6234           
6235         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6236         (gst_fake_sink_change_state):
6237           Make state change function thread-safe.
6238           
6239         * gst/gstpad.c: (gst_pad_alloc_buffer):
6240           Set offset on generic buffer allocated by fallback.
6241
6242 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6243
6244         * docs/gst/gstreamer-sections.txt:
6245         * docs/gst/tmpl/gstelement.sgml:
6246         * gst/gstpad.c:
6247         * libs/gst/controller/gst-controller.c:
6248         (gst_controlled_property_set_interpolation_mode),
6249         (gst_controlled_property_new),
6250         (gst_controller_find_controlled_property):
6251          run the wingo-magic script against the docs
6252
6253 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6254
6255         * docs/gst/gstreamer-docs.sgml:
6256         * docs/gst/gstreamer-sections.txt:
6257         * docs/gst/tmpl/.cvsignore:
6258         * docs/gst/tmpl/gstelementdetails.sgml:
6259         * docs/gst/tmpl/gstelementfactory.sgml:
6260         * gst/gst.c:
6261         * gst/gstbus.c:
6262         * gst/gstelementfactory.c:
6263         * gst/gstelementfactory.h:
6264           merged elementdetails docs into elementfactory docs
6265           inlined both
6266
6267 2005-09-02  Andy Wingo  <wingo@pobox.com>
6268
6269         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6270         consider this enum an enum and not a flags.
6271
6272 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6273
6274         * docs/gst/gstreamer-docs.sgml:
6275         * docs/gst/tmpl/.cvsignore:
6276         * docs/gst/tmpl/gstghostpad.sgml:
6277         * docs/gst/tmpl/gstiterator.sgml:
6278         * docs/gst/tmpl/gstmacros.sgml:
6279         * docs/gst/tmpl/gstrealpad.sgml:
6280         * docs/gst/tmpl/gstregistry.sgml:
6281         * docs/gst/tmpl/gstregistrypool.sgml:
6282         * docs/gst/tmpl/gststructure.sgml:
6283         * docs/gst/tmpl/gstsystemclock.sgml:
6284         * docs/gst/tmpl/gsttrace.sgml:
6285         * gst/gstghostpad.c:
6286         * gst/gstmacros.h:
6287         * gst/gstmemchunk.c:
6288         * gst/gstmemchunk.h:
6289         * gst/gstqueue.c:
6290         * gst/gstregistry.c:
6291         * gst/gstregistrypool.c:
6292         * gst/gststructure.c:
6293         * gst/gstsystemclock.c:
6294           more docs inlined
6295
6296 2005-09-02  Andy Wingo  <wingo@pobox.com>
6297
6298         * gst/gstelement.h (GstState): Renamed from GstElementState,
6299         changed to be a normal enum instead of flags.
6300         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6301         munged to be GST_STATE_CHANGE_*.
6302         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6303         work with the new state representation.
6304         (GstStateChange): New enumeration of possible state transitions.
6305         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6306         (GstElementClass::change_state): Pass the GstStateChange along as
6307         an argument. Helps language bindings, so they don't have to use
6308         tricky lock-needing macros like GST_STATE_CHANGE ().
6309
6310         * scripts/update-states (file): New script. Run it on a file to
6311         update it for state naming and API changes. Updates files in
6312         place.
6313
6314         * All files updated for the new API.
6315
6316 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6317
6318         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6319         * gst/gstutils.c: (gst_util_set_value_from_string),
6320         (gst_util_set_object_arg):
6321           fix a bunch of unchecked return values
6322         * tools/gst-complete.c: (main):
6323         * gstreamer.spec.in:
6324           clean up a little
6325
6326 2005-09-01  Wim Taymans  <wim@fluendo.com>
6327
6328         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6329         (gst_base_sink_event), (gst_base_sink_do_sync),
6330         (gst_base_sink_handle_event):
6331         * gst/base/gstbasesink.h:
6332         Handle newsegments more correctly.
6333
6334         * gst/gstbus.c:
6335         Fix docs.
6336
6337         * gst/gstevent.c: (gst_event_new_newsegment):
6338         A newsegment cannot have a start_time of -1
6339
6340 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6341
6342         * win32/gstenumtypes.c:
6343         * win32/gstenumtypes.h:
6344           Update
6345
6346 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6347
6348         * libs/gst/controller/gst-controller.c:
6349         (gst_controlled_property_set_interpolation_mode),
6350         (gst_controlled_property_new):
6351          fixed boolean again
6352
6353 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6354
6355         * docs/faq/gst-uninstalled:
6356           add -good
6357         * gst/gstevent.c:
6358         * gst/gstevent.h:
6359           remove wrong docs
6360         * gst/gstutils.c: (gst_element_link_filtered):
6361         * gst/gstutils.h:
6362           add gst_element_link_filtered
6363
6364 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6365
6366         * docs/gst/gstreamer-docs.sgml:
6367         * docs/gst/gstreamer-sections.txt:
6368         * docs/gst/tmpl/.cvsignore:
6369         * docs/gst/tmpl/gsterror.sgml:
6370         * docs/gst/tmpl/gstfilter.sgml:
6371         * docs/gst/tmpl/gsturihandler.sgml:
6372         * docs/gst/tmpl/gsturitype.sgml:
6373         * docs/gst/tmpl/gstutils.sgml:
6374         * docs/gst/tmpl/gstxml.sgml:
6375         * gst/gsterror.c:
6376         * gst/gsterror.h:
6377         * gst/gstfilter.c:
6378         * gst/gsturi.c:
6379         * gst/gsturitype.c:
6380         * gst/gstutils.c:
6381         * gst/gstxml.c:
6382           inlined more docs, fixed double id-ref
6383
6384 2005-08-31  Wim Taymans  <wim@fluendo.com>
6385
6386         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6387         (gst_base_transform_handle_buffer):
6388         Passthrough elements don't need the caps as they don't care.
6389
6390 2005-08-31  Wim Taymans  <wim@fluendo.com>
6391
6392         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6393         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6394         Don't leak refcounts on buffers.
6395
6396 2005-08-31  Wim Taymans  <wim@fluendo.com>
6397
6398         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6399         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6400         (gst_base_transform_chain), (gst_base_transform_change_state):
6401         * gst/base/gstbasetransform.h:
6402         Handle the case where we are not negotiated more gracefully.
6403
6404 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6405
6406         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6407         (gst_file_src_map_region):
6408           Set READONLY flag on mmap'ed buffers, otherwise
6409           gst_buffer_make_writable() won't work properly (#314708).
6410
6411 2005-08-31  Wim Taymans  <wim@fluendo.com>
6412
6413         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6414         passthrough elements can even do inplace on non writable
6415         buffers (as they don't touch them).
6416
6417 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6418
6419         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6420         (gst_test_mono_source_set_property),
6421         (gst_test_mono_source_class_init), (GST_START_TEST),
6422         (gst_controller_suite):
6423           more tests (hehe I have the most)
6424         * gst/gstbus.c:
6425           describe popping messages whenusing mulltiple sources
6426         * libs/gst/controller/gst-controller.c:
6427         (gst_controlled_property_set_interpolation_mode),
6428         (gst_controlled_property_new):
6429         * libs/gst/controller/gst-controller.h:
6430         * libs/gst/controller/gst-interpolation.c:
6431           implement boolean properties
6432
6433 2005-08-31  Wim Taymans  <wim@fluendo.com>
6434
6435         * gst/gstminiobject.c: (gst_mini_object_ref):
6436         Cannot assert that the refcount has to be positive
6437         since a disposed object can be resurrected.
6438
6439 2005-08-31  Wim Taymans  <wim@fluendo.com>
6440
6441         * gst/gstpad.c: (gst_pad_init):
6442         Revert change, need to first fix badly behaving 
6443         apps.
6444
6445 2005-08-30  Wim Taymans  <wim@fluendo.com>
6446
6447         * check/elements/fakesrc.c: (setup_fakesrc):
6448         * check/elements/identity.c: (setup_identity):
6449         Activate pads before using them.
6450
6451 2005-08-30  Wim Taymans  <wim@fluendo.com>
6452
6453         * gst/base/gstadapter.c: (gst_adapter_flush):
6454         Flushing out 0 bytes is ok for this function.
6455
6456         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6457         no newsegment gives a warning and sets the start/stop to 
6458         invalid.
6459
6460         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6461         (gst_base_transform_set_passthrough):
6462         Some debug info.
6463
6464         * gst/gstminiobject.c: (gst_mini_object_ref):
6465         Check refcount here too.
6466
6467         * gst/gstpad.c: (gst_pad_init):
6468         Pads are initially flushing and refusing data.
6469
6470         * gst/gstutils.c: (gst_element_link_pads_filtered):
6471         When adding a capsfilter element make sure it has the
6472         same state as the parent bin.
6473
6474 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6475
6476         * docs/gst/tmpl/.cvsignore:
6477         * docs/gst/tmpl/gstformat.sgml:
6478         * docs/gst/tmpl/gstversion.sgml:
6479         * gst/gstbus.h:
6480         * gst/gstformat.c:
6481         * gst/gstformat.h:
6482         * gst/gstversion.h.in:
6483           more docs and two more inlined
6484
6485 2005-08-30  Wim Taymans  <wim@fluendo.com>
6486
6487         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6488         Don't sync to clock.
6489
6490 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6491
6492         * docs/gst/gstreamer-sections.txt:
6493           ultral33t func10ns deserve to appear in the docs actually
6494         * docs/gst/tmpl/.cvsignore:
6495         * docs/gst/tmpl/gstcompat.sgml:
6496         * docs/gst/tmpl/gstconfig.sgml:
6497         * gst/check/gstcheck.c:
6498         * gst/gstcompat.h:
6499         * gst/gstconfig.h.in:
6500           inlined more docs
6501
6502 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6503
6504         * docs/gst/tmpl/.cvsignore:
6505         * docs/gst/tmpl/gstquery.sgml:
6506         * docs/gst/tmpl/gstutils.sgml:
6507         * gst/gstquery.c:
6508         * gst/gstquery.h:
6509           inlined and extended docs
6510
6511 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6512
6513         * check/gst-libs/controller.c: (GST_START_TEST),
6514         (gst_controller_suite):
6515           more tests
6516         * docs/gst/tmpl/gstutils.sgml:
6517         * docs/libs/gstreamer-libs-sections.txt:
6518         * docs/libs/tmpl/gstdataprotocol.sgml:
6519           include path fixes
6520         * examples/controller/audio-example.c: (main):
6521           controller example works now
6522         * gst/gstclock.h:
6523           doc fixes
6524         * tools/gst-inspect.c: (print_element_properties_info):
6525           show param spec flags
6526
6527 2005-08-29  Andy Wingo  <wingo@pobox.com>
6528
6529         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6530
6531 2005-08-28  Andy Wingo  <wingo@pobox.com>
6532
6533         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6534         as having two arguments instead of just one. Allows superclasses
6535         to access information on subclasses -- see the terrible for() loop
6536         in gtype.c:g_type_create_instance for the reason why. All callers
6537         changed.
6538
6539 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6540
6541         * docs/design/part-messages.txt:
6542           update info
6543         * docs/gst/tmpl/.cvsignore:
6544         * docs/gst/tmpl/gstcaps.sgml:
6545         * docs/gst/tmpl/gstclock.sgml:
6546         * gst/gstbus.c:
6547         * gst/gstcaps.c:
6548         * gst/gstcaps.h:
6549         * gst/gstclock.c:
6550         * gst/gstclock.h:
6551         * gst/gstmessage.c:
6552           added descriptions for bus and message
6553           inline caps and clock docs
6554
6555 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6556
6557         * gst/gstmessage.c:
6558         * gst/gstmessage.h:
6559           doc fixes
6560
6561 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6562
6563         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6564           fix div-by-zero
6565
6566 2005-08-26  Andy Wingo  <wingo@pobox.com>
6567
6568         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6569         element_set_state's return val.
6570         (test_2_elements): Add test that's been disabled for months.
6571
6572         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6573         can-activate-pull properties.
6574
6575         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6576         can-activate-pull properties. Implement is_seekable so fakesrc can
6577         operate in pull mode.
6578
6579         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6580         properties.
6581         (gst_base_sink_activate, gst_base_sink_activate_pull)
6582         (gst_base_sink_activate_push): Make activation mode choosing work.
6583         Cleanups.
6584         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6585         is right. Make pull mode work. Post an eos before pausing in pull
6586         mode.
6587         (gst_base_sink_change_state): Pay attention to the core's
6588         change_state() return val.
6589         
6590         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6591         has-getrange properties. Cleanups.
6592         
6593         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6594         has_getrange and replace with can_activate_pull and
6595         can_activate_push.
6596
6597         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6598         locking comments. Remove has_loop, has_chain and replace with
6599         can_activate_pull and can_activate_push.
6600
6601 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6602
6603         * configure.ac:
6604         * examples/Makefile.am:
6605         * examples/metadata/Makefile.am:
6606         * examples/metadata/read-metadata.c: (message_loop),
6607         (have_pad_handler), (make_pipeline), (print_tag), (main):
6608           Add metadata reading example that loops over a list of filenames,
6609           dumping any tags found.
6610
6611         * gst/gstbus.c: (gst_bus_dispose):
6612         * gst/gstelement.c: (gst_element_dispose):
6613           Release a few potentially-held references in dispose.
6614
6615 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6616
6617         * docs/gst/tmpl/gstminiobject.sgml:
6618           do *not* add tmpl/*.sgml files to CVS!
6619
6620 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6621
6622         * libs/gst/bytestream/.cvsignore:
6623         * libs/gst/bytestream/Makefile.am:
6624         * libs/gst/bytestream/adapter.c:
6625         * libs/gst/bytestream/adapter.h:
6626         * libs/gst/bytestream/bytestream.c:
6627         * libs/gst/bytestream/bytestream.h:
6628         * libs/gst/bytestream/filepad.c:
6629         * libs/gst/bytestream/filepad.h:
6630           removing obsolete files
6631
6632 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6633
6634         * docs/gst/gstreamer-docs.sgml:
6635         * docs/libs/gstreamer-libs-docs.sgml:
6636           disabed additional index entries again, as this makes docs-gen just
6637           slow and they aren't useful yet
6638         * docs/libs/gstreamer-libs-sections.txt:
6639           little -section.txt cleanup for libs
6640
6641 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6642
6643         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6644         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6645           fix up some debugging
6646         (gst_base_transform_get_unit_size),
6647         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6648         (gst_base_transform_handle_buffer):
6649         * gst/base/gstbasetransform.h:
6650           handle and store timed NEWSEGMENT events so that subclasses that
6651           calculate time by counting samples have a segment_start time they
6652           need to add to their timestamps - see audioresample
6653
6654 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6655
6656         * gst/gstbin.h:
6657           removed ';' from the end of macro defs
6658         * docs/gst/gstreamer-docs.sgml:
6659         * docs/gst/gstreamer-sections.txt:
6660         * docs/gst/tmpl/.cvsignore:
6661         * gst/gstbus.h:
6662         * gst/gstelement.c: (gst_element_class_init),
6663         (gst_element_set_state), (activate_pads),
6664         (gst_element_save_thyself):
6665         * gst/gstevent.c: (gst_event_new_newsegment):
6666         * gst/gstevent.h:
6667         * gst/gstiterator.c:
6668         * gst/gstiterator.h:
6669         * gst/gstpad.c:
6670         * gst/gstprobe.h:
6671         * gst/gstutils.c: (gst_pad_query_convert):
6672         * gst/gstutils.h:
6673           fixed parameter name mismatches between source, header and docs
6674           added some more docs, resolved the last batch of unused elements in
6675           docs (now someone needs to doc them)
6676
6677 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6678
6679         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6680         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6681           don't walk through the plugins backwards.  Where is all this
6682           reversed logic coming from ?
6683
6684 2005-08-25  Wim Taymans  <wim@fluendo.com>
6685
6686         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6687         (gst_base_transform_transform_size),
6688         (gst_base_transform_configure_caps),
6689         (gst_base_transform_get_unit_size),
6690         (gst_base_transform_buffer_alloc),
6691         (gst_base_transform_change_state):
6692         * gst/base/gstbasetransform.h:
6693         Cache caps unit_size.
6694         Make sure we cannot negotiate up and downstream at the
6695         same time.
6696
6697 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6698
6699         * gst/gst.c: (init_pre), (init_post):
6700           register the installed plugin path after the env var
6701         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6702         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6703           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6704           directories, so the tests can prefer uninstalled over installed
6705
6706 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6707
6708         * gst/base/gstbasetransform.h:
6709           comment
6710         * gst/gstpad.c:
6711           add to docs
6712
6713 2005-08-25  Wim Taymans  <wim@fluendo.com>
6714
6715         * gst/gstbin.c: (bin_bus_handler):
6716         Be a bit more conservative about the posted message.
6717         
6718         * gst/gstbus.c: (gst_bus_post):
6719         Some cleanups, warn wrong return values.
6720
6721 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6722
6723         * check/gst/gstbin.c: (GST_START_TEST):
6724         * gst/gstbin.c: (bin_bus_handler):
6725         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6726         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6727         (gst_message_new_warning), (gst_message_new_tag),
6728         (gst_message_new_state_changed), (gst_message_new_segment_start),
6729         (gst_message_new_segment_done), (gst_message_new_custom):
6730         * gst/gstmessage.h:
6731         * tools/gst-launch.c: (event_loop):
6732         * tools/gst-md5sum.c: (event_loop):
6733           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6734
6735 2005-08-25  Wim Taymans  <wim@fluendo.com>
6736
6737         * check/generic/states.c: (GST_START_TEST):
6738         Cleanup can be done at the end.
6739
6740         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6741         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6742         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6743         Oh boy.. Thanks for finding this, Thomas. 
6744
6745 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6746
6747         * docs/gst/gstreamer.types:
6748           added missing types
6749
6750 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6751
6752         * docs/gst/gstreamer-docs.sgml:
6753         * docs/gst/gstreamer-sections.txt:
6754         * docs/gst/tmpl/.cvsignore:
6755         * gst/gstbin.c:
6756         * gst/gstiterator.c:
6757         * gst/gstutils.c:
6758         * gst/registries/gstxmlregistry.h:
6759           added missing classes and symbols (123 more to go)
6760           removed removed symbols from section file
6761           fixed many doc-comments
6762
6763 2005-08-24  Wim Taymans  <wim@fluendo.com>
6764
6765         * check/generic/states.c: (GST_START_TEST):
6766         Make sure all tasks are stopped.
6767
6768         * check/gst/gstbin.c: (GST_START_TEST):
6769         Unref after usage for proper valgrinding.
6770
6771         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6772         Really wait for the task to stop before destroying the
6773         mutex.
6774
6775         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6776         (gst_queue_src_activate_push):
6777         Small cleanups. Don't stop the task when we did not start
6778         it.
6779
6780         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6781         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6782         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6783         (gst_task_join):
6784         * gst/gsttask.h:
6785         Protect the stream lock with the object lock.
6786         Disallow setting the stream lock when running.
6787         Add cleanup_all to wait for the threadpool to finish.
6788         Remove code to autoallocate a mutex if none was provided.
6789         Add _join() to wait for a task to stop.
6790         Protect the thread pool with a global lock.
6791
6792 2005-08-24  Wim Taymans  <wim@fluendo.com>
6793
6794         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6795         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6796         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6797         * gst/base/gstbasesink.h:
6798         Handle newsegment events correctly.
6799         Drop buffers out of the segment range.
6800
6801 2005-08-22  Andy Wingo  <wingo@pobox.com>
6802
6803         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6804         macro, implements an interface and gstimplementsinterface for a
6805         new type.
6806
6807 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6808
6809         * check/Makefile.am:
6810         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6811           add a test that does a bunch of state changes on elements
6812           needs some fixing for valgrind
6813         * check/states/sinks.c: (gst_object_suite):
6814           whitespace
6815         * gst/gstcaps.h:
6816           add prototype for gst_caps_is_equal_fixed
6817         * gst/gstplugin.c:
6818         * gst/gstregistrypool.c:
6819           doc fixes
6820
6821 2005-08-24  Andy Wingo  <wingo@pobox.com>
6822
6823         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6824         convert a negative value. Doesn't make much sense. Mostly this is
6825         here to force callers to ensure -1 maps to -1.
6826
6827 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6828
6829         * docs/pwg/advanced-types.xml:
6830           Well done to Michael for catching my deliberate introduction
6831           of this spelling mistake. 
6832         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6833         * gst/gstelement.h:
6834           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6835           unlink pads before removing the element from the bin.
6836
6837 2005-08-24  Andy Wingo  <wingo@pobox.com>
6838
6839         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6840         the same thing as GST_DEBUG=*:4.
6841         (parse_debug_level, parse_debug_category): New helper parsers.
6842
6843 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6844
6845         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6846         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6847         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6848         (gst_base_transform_buffer_alloc),
6849         (gst_base_transform_handle_buffer):
6850           use gboolean return values and pointers to size so we can use the
6851           full GST_BUFFER_SIZE range (guint) for buffer sizes
6852           use GstPadDirection for transform_caps
6853         * gst/base/gstbasetransform.h:
6854           rename get_size to get_unit_size since that's what it is
6855         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6856           use GstPadDirection for transform_caps
6857         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6858         * gst/gstutils.h:
6859           cleanup and debugging
6860
6861 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6862
6863         * gst/gstelement.c: (gst_element_class_init),
6864         (gst_element_set_state), (activate_pads),
6865         (gst_element_save_thyself):
6866         * tools/gst-compprep.c: (main):
6867         * tools/gst-inspect.c: (print_element_properties_info):
6868         * tools/gst-xmlinspect.c: (print_element_properties):
6869           Fixed long standing mem-leak
6870
6871 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6872
6873         * check/gst/gstbin.c: (GST_START_TEST):
6874         * gst/gstbin.c: (bin_bus_handler):
6875         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6876         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6877         (gst_message_new_warning), (gst_message_new_tag),
6878         (gst_message_new_state_changed), (gst_message_new_segment_start),
6879         (gst_message_new_segment_done), (gst_message_new_custom):
6880         * gst/gstmessage.h:
6881         * tools/gst-launch.c: (event_loop):
6882         * tools/gst-md5sum.c: (event_loop):
6883           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6884           that applications can sensibly post custom messages with references
6885           to their own objects.
6886
6887 2005-08-24  Andy Wingo  <wingo@pobox.com>
6888
6889         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6890         already.
6891
6892 2005-08-24  Wim Taymans  <wim@fluendo.com>
6893
6894         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6895         (gst_base_transform_transform_caps),
6896         (gst_base_transform_transform_size),
6897         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6898         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6899         (gst_base_transform_handle_buffer):
6900         * gst/base/gstbasetransform.h:
6901         Many fixes and new features added by Thomas. Can now also do
6902         transforms with variable sizes and a custom fixate_caps function.
6903
6904 2005-08-24  Wim Taymans  <wim@fluendo.com>
6905
6906         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6907         Some debugging.
6908
6909         * gst/gstclock.h:
6910         Cast to ClockTime before formatting to time.
6911
6912         * gst/gstutils.h:
6913         Cleanups.
6914
6915 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6916
6917         * check/gst-libs/controller.c: (GST_START_TEST),
6918         (gst_controller_suite):
6919         * docs/gst/tmpl/gstcaps.sgml:
6920         * docs/gst/tmpl/gstghostpad.sgml:
6921         * docs/gst/tmpl/gstquery.sgml:
6922         * docs/gst/tmpl/gstutils.sgml:
6923         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6924         (gst_object_sink_values), (gst_object_get_value_arrays),
6925         (gst_object_get_value_array):
6926           gracefully handle helper method calls to objects that are not beeing
6927           controlled, added test case for that          
6928
6929 2005-08-23  Wim Taymans  <wim@fluendo.com>
6930
6931         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6932         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6933         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6934         (gst_event_parse_qos), (gst_event_new_seek),
6935         (gst_event_parse_seek):
6936         * gst/gstevent.h:
6937         Some more debugging output and doc cleanups.
6938
6939         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6940         Fix possible deadlock.
6941
6942 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6943
6944         * docs/gst/gstreamer-docs.sgml:
6945         * docs/gst/gstreamer-sections.txt:
6946         * docs/gst/gstreamer.types:
6947         * docs/gst/tmpl/.cvsignore:
6948         * gst/gstbin.h:
6949         * gst/gstbus.c:
6950         * gst/gstelement.c:
6951         * gst/gstevent.h:
6952           added 100 symbols from gstreamer-unused.txt to the right sections
6953           fixed more broken comments
6954           added GstBus to docs
6955
6956 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6957
6958         * docs/gst/gstreamer-sections.txt:
6959         * docs/gst/tmpl/.cvsignore:
6960         * docs/gst/tmpl/gstbin.sgml:
6961         * docs/gst/tmpl/gstbuffer.sgml:
6962         * gst/base/gstbasesrc.c:
6963         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6964         * gst/gstbuffer.c:
6965         * gst/gstbuffer.h:
6966         * tools/gst-launch.1.in:
6967           inlined more doc comments, added missing comments and fixed comments
6968           fixed typos
6969
6970 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6971
6972         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6973           some debugging
6974         * gst/gstcaps.h:
6975           whitespace fixes
6976         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6977           more debugging
6978         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6979         * gst/gststructure.h:
6980           add a fixate function for booleans; add a FIXME that these func
6981           names should probably be gst_structure_fixate_*
6982
6983 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6984
6985         * docs/gst/gstreamer-docs.sgml:
6986         * docs/gst/gstreamer-sections.txt:
6987         * gst/Makefile.am:
6988         * gst/gstbin.c: (gst_bin_get_type),
6989         (gst_bin_child_proxy_get_child_by_index),
6990         (gst_bin_child_proxy_get_children_count),
6991         (gst_bin_child_proxy_init):
6992         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6993         (gst_child_proxy_get_child_by_index),
6994         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6995         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6996         (gst_child_proxy_get), (gst_child_proxy_set_property),
6997         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6998         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6999         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7000         * gst/gstchildproxy.h:
7001         * gst/parse/grammar.y:
7002         * tools/gst-inspect.c: (print_interfaces),
7003         (print_element_properties_info), (print_element_info):
7004           ported gstchildproxy over from 0.8
7005           ported gst-inspect fixes and enhancements over from 0.8
7006
7007 2005-08-22  Wim Taymans  <wim@fluendo.com>
7008
7009         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7010         (gst_base_transform_handle_buffer):
7011         Also call the transform function if we have ANY caps.
7012
7013         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7014         Fix debug info.
7015
7016 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7017
7018         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7019           Don't pretend to handle seek events if the source is not seekable
7020
7021 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7022
7023         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7024           Remove extra parameter to debug output
7025
7026         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7027         (gst_base_src_do_seek), (gst_base_src_activate_push):
7028           Fix seek event handling.
7029
7030         * gst/gstpipeline.c: (gst_pipeline_change_state):
7031         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7032         (gst_queue_src_activate_push):
7033           Don't start the src pad task on FLUSH_STOP if the pad
7034           isn't linked.
7035           Debug changes.
7036
7037 2005-08-22  Wim Taymans  <wim@fluendo.com>
7038
7039         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7040         Added check for gst_static_caps_get() refcounting.
7041
7042 2005-08-22  Wim Taymans  <wim@fluendo.com>
7043
7044         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7045         Make _static_caps_get() refcounting sane.
7046         
7047         * gst/gstelement.c: (gst_element_set_state):
7048         Add g_return_val_if_fail() to protect against segfaults.
7049
7050 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7051
7052         * docs/gst/tmpl/gstevent.sgml:
7053         * gst/gstevent.c:
7054         * gst/gstevent.h:
7055           inlined remaining docs, added missing doc comments
7056
7057 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7058
7059         * check/gst/gstbin.c: (GST_START_TEST):
7060           since we don't know when preroll is done, use refcount range
7061           check for the sink
7062         * gst/check/gstcheck.h:
7063           add macro for checking refcount range
7064
7065 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7066
7067         * check/Makefile.am:
7068           clean up environment for when registry gets built versus
7069           when actual tests are run; valgrind seems to not report
7070           leaks if GST_PLUGIN_PATH is set to some specific values
7071         * check/gst/gstbin.c: (GST_START_TEST):
7072           add more refcounting checks; maybe this exposes a
7073           preroll lock bug ?
7074         * common/check.mak:
7075         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7076         * gst/check/gstcheck.h:
7077         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7078         (gst_bin_change_state):
7079         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7080           add/fix debugging/whitespace
7081
7082 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7083
7084         * check/gst/gstevent.c: (event_probe), (test_event),
7085         (GST_START_TEST):
7086          Er, don't call gst_bin_watch_for_state_change you idiot.
7087
7088 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7089
7090         * check/Makefile.am:
7091           Use CHECK_CFLAGS and CHECK_LIBS
7092         * check/gst/gstevent.c: (event_probe), (test_event),
7093         (GST_START_TEST):
7094           Don't leak events.
7095         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7096         (gst_base_src_start), (gst_base_src_stop),
7097         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7098         (gst_base_src_change_state):
7099           Sprinkle gst_base_src_stop liberally around error paths to fix
7100           problems reusing a source after failed state changes.
7101         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7102         (helper_find_suggest), (gst_type_find_helper):
7103           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7104         * gst/gstevent.h:
7105         * docs/gst/tmpl/gstevent.sgml:
7106           Migrate part of the docs from the SGML file. Wait for ensonic to
7107           tell me how I did it wrong ;)
7108         * tools/gst-typefind.c: (main):
7109           Extra robustness to state changes between files.
7110
7111 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7112
7113         * check/Makefile.am:
7114           don't valgrind the controller test - it's leaking - Stefan, HELP
7115         * gst/check/gstcheck.c: (gst_check_message_error),
7116         (gst_check_chain_func), (gst_check_setup_element),
7117         (gst_check_teardown_element), (gst_check_setup_src_pad),
7118         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7119         (gst_check_teardown_sink_pad):
7120         * gst/check/gstcheck.h:
7121           add a bunch of methods to set up elements, and src and sink pads
7122         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7123         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7124         (GST_START_TEST):
7125           use them
7126         * gst/gstmessage.c:
7127         * gst/gsttag.h:
7128           whitespace/doc fixes
7129
7130 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7131
7132         * gst/gstelement.h:
7133           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7134           be handled by the application and not always printed as well
7135
7136 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7137
7138         * check/Makefile.am:
7139           set GST_TOOLS_DIR
7140         * gst/check/gstcheck.c: (gst_check_message_error):
7141         * gst/check/gstcheck.h:
7142           add a fail_unless_equals_int
7143           add fail_unless for error messages
7144
7145 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7146
7147         * check/Makefile.am:
7148         * check/gst.supp:
7149         * common/Makefile.am:
7150         * common/check.mak:
7151         * common/gst.supp:
7152           factor out some of the common stuff so we can use it
7153
7154 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7155
7156         * check/Makefile.am:
7157         * check/gst/gstiterator.c: (GST_START_TEST):
7158         * check/gst/gstsystemclock.c: (GST_START_TEST),
7159         (gst_systemclock_suite):
7160         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7161         * gst/gstclock.c:
7162           valgrind more tests
7163
7164 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7165
7166         * check/elements/.cvsignore:
7167         * check/elements/gstfakesrc.c:
7168           rename to name of element
7169         * check/elements/identity.c: (chain_func), (event_func),
7170         (setup_identity), (cleanup_identity), (GST_START_TEST),
7171         (identity_suite), (main):
7172           add a test for identity
7173         * check/Makefile.am:
7174         * pkgconfig/Makefile.am:
7175         * pkgconfig/gstreamer-check.pc.in:
7176         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7177         * gst/check:
7178         * gst/Makefile.am:
7179         * configure.ac:
7180           move the check stuff to a library that gets installed
7181         * check/gst-libs/controller.c: (GST_START_TEST):
7182         * check/gst-libs/gdp.c:
7183         * check/gst/gst.c: (GST_START_TEST):
7184         * check/gst/gstbin.c:
7185         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7186         * check/gst/gstbus.c:
7187         * check/gst/gstcaps.c: (GST_START_TEST):
7188         * check/gst/gstelement.c:
7189         * check/gst/gstghostpad.c:
7190         * check/gst/gstiterator.c:
7191         * check/gst/gstmessage.c:
7192         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7193         * check/gst/gstobject.c:
7194         * check/gst/gstpad.c: (GST_START_TEST):
7195         * check/gst/gststructure.c: (GST_START_TEST):
7196         * check/gst/gstsystemclock.c: (GST_START_TEST),
7197         (gst_systemclock_suite):
7198         * check/gst/gsttag.c: (gst_tag_suite):
7199         * check/gst/gstvalue.c:
7200         * check/pipelines/cleanup.c:
7201         * check/pipelines/simple_launch_lines.c:
7202         * check/states/sinks.c:
7203           change include statement
7204
7205         * docs/gst/gstreamer-sections.txt:
7206         * docs/gst/tmpl/gstpad.sgml:
7207           document more pad stuff
7208         * gst/gstminiobject.c: (gst_mini_object_ref),
7209         (gst_mini_object_unref):
7210           debug refcounting
7211
7212 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7213
7214         * docs/gst/tmpl/gst.sgml:
7215         * gst/gst.c:
7216           eliminate another tmpl file, fix spelling in the long-description
7217
7218 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7219
7220         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7221         (test_event), (timediff), (gstevents_suite):
7222           Should fix build on 64-bit arch's
7223
7224 2005-08-18  Andy Wingo  <wingo@pobox.com>
7225
7226         Make sure that when a pipeline goes to PLAYING, that data has
7227         actually hit the sink.
7228
7229         * check/states/sinks.c (test_sink): A sink that doesn't get any
7230         data shouldn't return SUCCESS for going to either PLAYING or
7231         PAUSED. Test also the return values on the way back down.
7232
7233         * gst/gstelement.c (gst_element_set_state): When changing the
7234         state of an element currently changing state asynchronously, go to
7235         lost-state after commiting the pending state. Makes future calls
7236         to get_state continue to return ASYNC.
7237
7238         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7239         ASYNC when going to PLAYING if we still don't have preroll, as can
7240         happen with live sources.
7241
7242 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7243
7244         * docs/pwg/advanced-types.xml:
7245           Hack long paragraph into 2 chunks as a workaround for buggy
7246           jadetex version in sid and breezy that loops infinitely and
7247           eats all RAM.
7248
7249 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7250
7251         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7252         (test_event), (timediff), (gstevents_suite):
7253           Provide more error margin in clock measurements to allow for 
7254           g_get_current_time inaccuracies.
7255
7256 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7257
7258         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7259         (test_event), (timediff), (gstevents_suite):
7260            Fix error message output so I might be able to tell why the
7261            test works here but fails on the build farm.
7262
7263 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7264
7265         * check/Makefile.am:
7266         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7267         (test_event), (timediff), (gstevents_suite), (main):
7268           I wrote a test!
7269
7270         * docs/design/part-seeking.txt:
7271           Spelling correction
7272
7273         * docs/gst/tmpl/gstevent.sgml:
7274         * docs/gst/tmpl/gstfakesrc.sgml:
7275           Docs updates.
7276
7277         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7278           Treat a buffer-without-newsegment the same as a receiving 
7279           a newsegment not in time format, and disable syncing to the clock
7280           with a warning.
7281
7282         * gst/gstbus.c: (gst_bus_set_sync_handler):
7283           Assert if anyone tries to replace the existing sync_handler for bus, 
7284           as only the owner should be setting it.
7285
7286         * gst/gstevent.h:
7287           Have a fixed set of custom event enums with events identified by
7288           their structure name (as in 0.8), rather than a free-for-all
7289           allowing collisions between enum values from different plugins.
7290
7291         * gst/gstpad.c: (gst_pad_class_init):
7292           Docs change.
7293           
7294         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7295           Handle out-of-band downstream events from the sending thread.
7296
7297 2005-08-17  Andy Wingo  <wingo@pobox.com>
7298
7299         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7300         play-timeout==0 to mean no timeout at all. In that case, don't
7301         bother with a get_state or a warning, just return directly, even
7302         if it's ASYNC.
7303
7304         * gst/base/gstbasetransform.c: Debug changes.
7305
7306         * gst/gstutils.h:
7307         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7308         ensure bins post state change messages. A bit of a hack but I can't
7309         think of a way to avoid it.
7310
7311         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7312
7313 2005-08-16  Andy Wingo  <wingo@pobox.com>
7314
7315         * gst/base/gstadapter.h:
7316         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7317         peek() but you own the data. Not terribly efficient atm.
7318
7319 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7320
7321         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7322         (gst_element_found_tags):
7323         * gst/gstutils.h:
7324           Add two utility functions for tag handling.
7325
7326 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7327
7328         * docs/manual/advanced-dataaccess.xml:
7329         * docs/manual/basics-helloworld.xml:
7330           Fix docs to use _bin_add() before _link(), which fixes the examples
7331           with recent core versions (reported by Madhan Raj M
7332           <raj_madan@rediffmail.com>, #313199).
7333
7334 2005-08-16  Wim Taymans  <wim@fluendo.com>
7335
7336         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7337         Added subtract checks.
7338
7339         * docs/design/part-events.txt:
7340         Some more docs about newsegment
7341
7342         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7343         Fix FIXME
7344
7345         * gst/gstcaps.c: (gst_caps_to_string):
7346         Add comments, cleanups.
7347         
7348         * gst/gstelement.c: (gst_element_save_thyself):
7349         cleanups
7350         
7351         * gst/gstvalue.c: (gst_value_collect_int_range),
7352         (gst_string_unwrap), (gst_value_union_int_int_range),
7353         (gst_value_union_int_range_int_range),
7354         (gst_value_intersect_int_int_range),
7355         (gst_value_intersect_int_range_int_range),
7356         (gst_value_intersect_double_double_range),
7357         (gst_value_intersect_double_range_double_range),
7358         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7359         (gst_value_subtract_int_range_int),
7360         (gst_value_subtract_double_range_double),
7361         (gst_value_subtract_double_range_double_range),
7362         (gst_value_subtract_from_list), (gst_value_subtract_list),
7363         (gst_value_can_compare), (gst_value_compare_fraction):
7364         Cleanups, add comments, remove unneeded asserts.
7365
7366 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7367
7368         * tools/gst-launch.c: (event_loop):
7369           don't convert NULL structures to strings
7370
7371 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7372
7373         * docs/gst/gstreamer-sections.txt:
7374           made some defines private
7375         * docs/gst/tmpl/gstconfig.sgml:
7376         * docs/gst/tmpl/gstqueue.sgml:
7377         * docs/gst/tmpl/gsttaglist.sgml:
7378         * docs/gst/tmpl/gsttypes.sgml:
7379         * docs/gst/tmpl/gstutils.sgml:
7380         * docs/pwg/appendix-porting.xml:
7381         * gst/base/gstbasesink.h:
7382         * gst/base/gstbasesrc.c:
7383         * gst/base/gstbasesrc.h:
7384         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7385         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7386         * gst/gstelement.c: (gst_element_class_init):
7387         * gst/gstpad.c: (gst_pad_class_init):
7388         * gst/gstqueue.c: (gst_queue_class_init):
7389         * gst/gstxml.c: (gst_xml_class_init):
7390           documented all undocumented signal inline
7391         * libs/gst/controller/gst-controller.h:
7392           added padding
7393
7394 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7395
7396         * docs/pwg/appendix-porting.xml:
7397           Document _set_link_function -> _set_setcaps_function.
7398
7399 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7400
7401         * check/Makefile.am:
7402           add a .check target for running the check
7403         * check/gst-libs/controller.c: (GST_START_TEST):
7404           cosmetic fixups
7405         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7406           complete checks for gstbuffer; would be nice if I could get the
7407           gcov stuff to work so I can see if I actually completed gstbuffer.c
7408         * check/gstcheck.h:
7409           add ASSERT_BUFFER_REFCOUNT
7410
7411 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7412
7413         * docs/gst/gstreamer-sections.txt:
7414         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7415         * gst/gsttag.h:
7416           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7417           spew out a warning if a tag that is already registered
7418           is re-registered, unless it is re-registered with a 
7419           different type (#308438).
7420
7421 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7422
7423         * docs/pwg/appendix-porting.xml:
7424         * docs/pwg/building-state.xml:
7425           Add some paragraphs about state changes in 0.9 to the PWG
7426           and the porting guide, in particular about the new meaning
7427           of GST_STATE_PAUSED and how to write state change functions
7428           with concurrent access by multiple threads in mind.
7429
7430 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7431
7432         * docs/gst/gstreamer-docs.sgml:
7433         * docs/libs/gstreamer-libs-docs.sgml:
7434           added deprecation and since indexes
7435         * libs/gst/controller/gst-controller.c:
7436         * libs/gst/controller/gst-helper.c:
7437           added since tags
7438
7439
7440 2005-08-11  Wim Taymans  <wim@fluendo.com>
7441
7442         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7443         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7444         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7445         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7446         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7447         (gst_ghost_pad_set_target):
7448         Actually implement (re)setting the target on a ghostpad
7449         as described in the docs.
7450
7451 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7452
7453         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7454           Check whether GST_DEBUG_NO_COLOR environment variable is
7455           set and disable coloured debug output if that is the case.
7456
7457 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7458
7459         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7460         (gst_type_find_helper):
7461           The memory returned by gst_type_find_peek() needs to
7462           stay valid until the end of a typefind function, and
7463           typefind functions may keep results from different 
7464           offsets around, so we can't just unref the buffer from
7465           the previous _peek(), but have to save all buffers 
7466           returned by _peek() until typefinding is done and only
7467           free them then.
7468
7469 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7470
7471         * docs/gst/gstreamer-sections.txt:
7472         * gst/gstutils.h:
7473           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7474
7475 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7476
7477         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7478           Fix a pretty good memleak.
7479
7480 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7481
7482         * gst/gstiterator.h:
7483           Fix wrong include and 'make distcheck'.
7484
7485 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7486
7487         * gst/gstbin.c: (bin_bus_handler):
7488           Use gst_element_post_message() instead.
7489
7490 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7491
7492         * gst/base/gstadapter.h:
7493         * gst/base/gstbasesink.h:
7494         * gst/base/gstbasesrc.h:
7495         * gst/base/gstbasetransform.h:
7496         * gst/base/gstcollectpads.h:
7497         * gst/base/gstpushsrc.h:
7498         * gst/gstiterator.h:
7499           Add padding to our base elements' class and instance structs and
7500           to GstIterator (you will need to rebuild all plugins and apps!)
7501
7502 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7503
7504         * gst/gstbin.c: (bin_bus_handler):
7505           Make default message forwarding from child->bus to bin->bus
7506           threadsafe and make it not emit warnings if the parent has no bus.
7507
7508 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7509
7510         * gst/gstelement.c: (activate_pads):
7511           On paused->ready, set pad->caps to NULL, as is the documented
7512           behaviour in this state change. Fixes playback of series of
7513           media files when visualization is enabled in Totem.
7514
7515 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7516
7517         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7518           Allow NULL as filter-caps (which means "any").
7519
7520 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7521
7522         * docs/libs/gstreamer-libs-sections.txt:
7523         * libs/gst/controller/gst-controller.c:
7524         * libs/gst/controller/gst-controller.h:
7525         * libs/gst/controller/gst-helper.c:
7526           adding more entries to the docs and fix small doc-bugs
7527
7528 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7529
7530         * docs/gst/gstreamer-docs.sgml:
7531         * docs/gst/gstreamer-sections.txt:
7532         * docs/gst/gstreamer.types:
7533         * docs/gst/tmpl/gstbasesink.sgml:
7534         * docs/gst/tmpl/gstbasesrc.sgml:
7535         * docs/gst/tmpl/gstbasetransform.sgml:
7536         * docs/gst/tmpl/gstfakesrc.sgml:
7537         * gst/base/gstcollectpads.c:
7538         * gst/base/gstcollectpads.h:
7539         * libs/gst/controller/gst-controller.c:
7540         * libs/gst/controller/gst-controller.h:
7541         * libs/gst/controller/gst-helper.c:
7542         * libs/gst/controller/gst-interpolation.c:
7543         * libs/gst/controller/lib.c:
7544           added long/short desc for controller docs
7545           added collectpads base class docs
7546           added correct includes to base-class docs
7547
7548 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7549
7550         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7551         (gst_test_mono_source_set_property),
7552         (gst_test_mono_source_class_init), (GST_START_TEST),
7553         (gst_controller_suite):
7554         * docs/gst/gstreamer-docs.sgml:
7555         * docs/gst/gstreamer-sections.txt:
7556         * docs/gst/gstreamer.types:
7557         * docs/libs/gstreamer-libs-docs.sgml:
7558         * docs/libs/gstreamer-libs-sections.txt:
7559         * gst/base/gstadapter.c:
7560         * libs/gst/controller/gst-controller.c:
7561         (gst_controlled_property_new), (gst_controlled_property_free),
7562         (gst_controller_new_valist),
7563         (gst_controller_remove_properties_valist),
7564         (gst_controller_sink_values), (_gst_controller_finalize):
7565         * libs/gst/controller/gst-controller.h:
7566         * libs/gst/controller/gst-helper.c:
7567         (gst_object_control_properties), (gst_object_uncontrol_properties),
7568         (gst_object_get_controller), (gst_object_set_controller),
7569         (gst_object_sink_values), (gst_object_get_value_arrays),
7570         (gst_object_get_value_array):
7571           more tests (and fixes) for the controller
7572           more docs for the controller
7573           integrated companies docs for the adapter 
7574
7575 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7576
7577         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7578         (GST_START_TEST), (fakesrc_suite):
7579           add tests for sizetype
7580
7581 2005-08-04  Andy Wingo  <wingo@pobox.com>
7582
7583         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7584         fixes buffer_alloc proxying among other things.
7585
7586         * gst/base/gstbasetransform.c:
7587         * gst/base/gstbasetransform.h:
7588         Revert patch to gstbasetransform from 7-28 removing
7589         delay_configure.
7590
7591         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7592         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7593         Semantics changed, should return not the size of the output buffer
7594         but the byte size of a buffer with a given caps.
7595
7596         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7597         debug object.
7598         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7599         out) are not the pad caps until setcaps finishes.
7600         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7601         not-in-place case as well. Deal with changing from in-place to
7602         not-in-place within calling pad_alloc_buffer. Still a bit
7603         concerned about the overhead here...
7604
7605 2005-08-03  Andy Wingo  <wingo@pobox.com>
7606
7607         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7608         fixating is an error.
7609
7610 2005-08-04  Edward Hervey  <edward@fluendo.com>
7611
7612         * gst/base/gstadapter.h: 
7613         Added gst_adapter_get_type() to the header
7614
7615 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7616
7617         * check/Makefile.am:
7618         * check/gst-libs/controller.c:
7619         * libs/gst/controller/gst-controller.c:
7620         (gst_controller_new_valist):
7621           added check test suite for the controller
7622         * gst/base/gstpushsrc.c:
7623           fixed a doc typo
7624
7625 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7626
7627         * docs/gst/Makefile.am:
7628         * docs/gst/gstreamer-docs.sgml:
7629         * docs/gst/gstreamer-sections.txt:
7630         * docs/gst/gstreamer.types:
7631         * docs/gst/tmpl/gstfakesrc.sgml:
7632         * gst/base/README:
7633         * gst/base/gstbasesink.c:
7634         * gst/base/gstbasesink.h:
7635         * gst/base/gstbasesrc.c:
7636         * gst/base/gstbasesrc.h:
7637         * gst/base/gstbasetransform.c:
7638         * gst/base/gstpushsrc.c:
7639         * gst/base/gstpushsrc.h:
7640           add short/long description docs to base classes
7641           add pushsrc to the docs
7642           remove consolidated doc fragments
7643
7644 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7645
7646         * configure.ac:
7647         * docs/libs/Makefile.am:
7648         * docs/libs/gstreamer-libs-docs.sgml:
7649         * docs/libs/gstreamer-libs-sections.txt:
7650         * docs/libs/gstreamer-libs.types:
7651         * examples/Makefile.am:
7652         * examples/controller/.cvsignore:
7653         * examples/controller/Makefile.am:
7654         * examples/controller/audio-example.c: (main):
7655         * libs/gst/Makefile.am:
7656         * libs/gst/controller/.cvsignore:
7657         * libs/gst/controller/Makefile.am:
7658         * libs/gst/controller/gst-controller.c:
7659         (on_object_controlled_property_changed), (gst_timed_value_compare),
7660         (gst_timed_value_find),
7661         (gst_controlled_property_set_interpolation_mode),
7662         (gst_controlled_property_new), (gst_controlled_property_free),
7663         (gst_controller_find_controlled_property),
7664         (gst_controller_new_valist), (gst_controller_new),
7665         (gst_controller_remove_properties_valist),
7666         (gst_controller_remove_properties), (gst_controller_set),
7667         (gst_controller_set_from_list), (gst_controller_unset),
7668         (gst_controller_get), (gst_controller_get_all),
7669         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7670         (gst_controller_get_value_array),
7671         (gst_controller_set_interpolation_mode),
7672         (_gst_controller_finalize), (_gst_controller_init),
7673         (_gst_controller_class_init), (gst_controller_get_type):
7674         * libs/gst/controller/gst-controller.h:
7675         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7676         (g_object_uncontrol_properties), (g_object_get_controller),
7677         (g_object_set_controller), (g_object_sink_values),
7678         (g_object_get_value_arrays), (g_object_get_value_array):
7679         * libs/gst/controller/gst-interpolation.c:
7680         (gst_controlled_property_find_timed_value_node),
7681         (interpolate_none_get), (interpolate_trigger_get),
7682         (interpolate_trigger_get_value_array):
7683         * libs/gst/controller/lib.c: (gst_controller_init):
7684         * pkgconfig/Makefile.am:
7685         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7686         * pkgconfig/gstreamer-control.pc.in:
7687         * testsuite/Makefile.am:
7688         * testsuite/controller/.cvsignore:
7689         * testsuite/controller/Makefile.am:
7690         * testsuite/controller/interpolator.c: (main):
7691           added controller code
7692           removed dparam pc files
7693
7694 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7695         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7696         (gst_collectpads_stop):
7697           Broadcast the condition when shutting down, to make sure we wake all
7698           threads up. Shut down pads on finalize, for safety.
7699
7700 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7701         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7702         (gst_base_transform_handle_buffer),
7703         (gst_base_transform_change_state):
7704           Handle PAUSED->READY->PAUSED transition after negotiation
7705           occurred already.
7706         * gst/gstmessage.c: (gst_message_init):
7707           Extra piece of debug for new messages.
7708
7709 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7710
7711         * configure.ac:
7712         * docs/gst/tmpl/gstbasesrc.sgml:
7713         * docs/gst/tmpl/gstelement.sgml:
7714         * docs/gst/tmpl/gstevent.sgml:
7715         * docs/gst/tmpl/gstfakesrc.sgml:
7716         * docs/gst/tmpl/gstformat.sgml:
7717         * docs/gst/tmpl/gstghostpad.sgml:
7718         * docs/gst/tmpl/gstpad.sgml:
7719         * docs/gst/tmpl/gstquery.sgml:
7720         * docs/gst/tmpl/gststructure.sgml:
7721         * docs/gst/tmpl/gsttaglist.sgml:
7722         * docs/gst/tmpl/gstvalue.sgml:
7723         * docs/libs/gstreamer-libs-docs.sgml:
7724         * docs/libs/gstreamer-libs-sections.txt:
7725         * docs/libs/gstreamer-libs.types:
7726         * libs/gst/Makefile.am:
7727         * libs/gst/control/.cvsignore:
7728         * libs/gst/control/Makefile.am:
7729         * libs/gst/control/control.c:
7730         * libs/gst/control/control.h:
7731         * libs/gst/control/dparam.c:
7732         * libs/gst/control/dparam.h:
7733         * libs/gst/control/dparam_smooth.c:
7734         * libs/gst/control/dparam_smooth.h:
7735         * libs/gst/control/dparamcommon.h:
7736         * libs/gst/control/dparammanager.c:
7737         * libs/gst/control/dparammanager.h:
7738         * libs/gst/control/dplinearinterp.c:
7739         * libs/gst/control/dplinearinterp.h:
7740         * libs/gst/control/unitconvert.c:
7741         * libs/gst/control/unitconvert.h:
7742         * testsuite/Makefile.am:
7743         * testsuite/dynparams/.cvsignore:
7744         * testsuite/dynparams/Makefile.am:
7745         * testsuite/dynparams/dparamstest.c:
7746         * tools/Makefile.am:
7747         * tools/gst-inspect.c: (print_element_info), (main):
7748         * tools/gst-xmlinspect.c: (print_element_info), (main):
7749           deactivate and remove dparams (libgstcontrol)
7750
7751 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7752
7753         * gst/elements/gsttypefindelement.c:
7754         (gst_type_find_element_have_type), (gst_type_find_element_init),
7755         (stop_typefinding), (gst_type_find_element_handle_event),
7756         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7757         * gst/elements/gsttypefindelement.h:
7758           Set caps on all outgoing buffers, not just the first one.
7759
7760 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7761
7762         * gst/elements/gsttypefindelement.c:
7763         (gst_type_find_element_have_type),
7764         (gst_type_find_element_check_set_buffer_caps),
7765         (gst_type_find_element_init), (stop_typefinding),
7766         (gst_type_find_element_handle_event),
7767         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7768         * gst/elements/gsttypefindelement.h:
7769           Set caps on first outgoing buffer when we've found the type.
7770
7771 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7772
7773         * docs/gst/gstreamer-docs.sgml:
7774         * docs/gst/gstreamer-sections.txt:
7775         * docs/gst/tmpl/gstscheduler.sgml:
7776         * docs/gst/tmpl/gstschedulerfactory.sgml:
7777           Remove some old cruft from docs.
7778
7779 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7780
7781         * gst/gstpad.h:
7782           Fix inline docs for GstPadLinkReturn.
7783           
7784         * gst/gststructure.c: (gst_structure_has_name):
7785         * gst/gststructure.h:
7786         * docs/gst/gstreamer-sections.txt:
7787           New API: gst_structure_has_name().
7788
7789 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7790
7791         * configure.ac:
7792           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7793           and _LARGEFILE_SOURCE in config.h as required. Do not 
7794           export those flags in our .pc files any longer (#142209).
7795
7796           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7797
7798         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7799         (gst_file_sink_do_seek), (gst_file_sink_event),
7800         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7801           Redo seek/tell calls with large file support in mind; add some
7802           debugging messages; add log message that tells us when large
7803           file support is unavailable or not enabled for some reason.
7804
7805         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7806           Add log message that tells us when large file support 
7807           is unavailable or not enabled for some reason.
7808
7809 2005-07-29  Wim Taymans  <wim@fluendo.com>
7810
7811         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7812         Added test for removing an element with ghostpad from a bin.
7813         Fixed test as current implementation does the right thing.
7814
7815         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7816         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7817         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7818         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7819         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7820         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7821         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7822         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7823         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7824         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7825         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7826         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7827         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7828         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7829         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7830         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7831         * gst/gstghostpad.h:
7832         Clean up ghostpads, remove properties for internal stuff.
7833         Make threadsafe.
7834         Fix refcounting.
7835         Prepare for switching targets, not all use cases work yet.
7836
7837 2005-07-29  Wim Taymans  <wim@fluendo.com>
7838
7839         * docs/design/part-gstghostpad.txt:
7840         Small update.
7841
7842         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7843         (gst_bin_remove_func):
7844         Unlinking pads while holding the bin LOCK is not a good
7845         idea.
7846
7847         * gst/gstpad.c: (gst_pad_class_init),
7848         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7849         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7850         No prob setting template after creating the pad.
7851
7852 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7853
7854         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7855         (gst_bus_peek), (gst_bus_source_dispatch),
7856         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7857         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7858           gst_bus_poll may be called from other threads. Handle
7859           this nicely by not making poll_data disappear off the
7860           stack once gst_bus_poll returns.
7861           gst_bus_peek now increments the refcount on the returned
7862           message.
7863
7864 2005-07-29  Wim Taymans  <wim@fluendo.com>
7865
7866         * docs/design/part-gstghostpad.txt:
7867         Overview of current GhostPad datastructures and use
7868         cases for changing the target.
7869
7870 2005-07-28  Wim Taymans  <wim@fluendo.com>
7871
7872         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7873         Added checks for hierarchy consistency whan adding linked
7874         elements to bins.
7875
7876         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7877         Added check to test element scheduling without bin/pipeline.
7878
7879         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7880         First add elements to bin, then link.
7881         
7882         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7883         (gst_bin_remove_func):
7884         Unlink pads from elements added/removed from bin to maintain
7885         hierarchy consistency.
7886
7887 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7888
7889         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7890         (gst_base_transform_handle_buffer):
7891         * gst/base/gstbasetransform.h:
7892           Remove broken delay_configure (fixes renegotiation of software
7893           scaling pipelines); remove some leftover printf()s.
7894
7895 2005-07-28  Wim Taymans  <wim@fluendo.com>
7896
7897         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7898         Added some more tests for wrong hierarchy
7899
7900         * docs/design/part-overview.txt:
7901         Some updates.
7902
7903         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7904         Cleanups.
7905
7906         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7907         (gst_element_dispose):
7908         Some more cleanups.
7909
7910         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7911         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7912         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7913         (gst_pad_set_caps), (gst_pad_send_event):
7914         Check for correct hierarchy when linking pads. Moving to
7915         strict requirement for ghostpads when linking elements in
7916         different bins.
7917
7918         * gst/gstpad.h:
7919         Clean ups. Added WRONG_HIERARCHY return value.
7920
7921 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7922
7923         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7924           Better debug if no transform is possible.
7925
7926 2005-07-27  Wim Taymans  <wim@fluendo.com>
7927
7928         * docs/random/wtay/network-transp:
7929         Some old doc I had.
7930
7931 2005-07-27  Wim Taymans  <wim@fluendo.com>
7932
7933         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7934         (gst_dp_event_from_packet):
7935         Fix serialization of seek events.
7936
7937 2005-07-27  Wim Taymans  <wim@fluendo.com>
7938
7939         * check/gst-libs/gdp.c: (GST_START_TEST):
7940         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7941         Fix compilation and fix event serialization.
7942
7943 2005-07-27  Wim Taymans  <wim@fluendo.com>
7944
7945         * CHANGES-0.9:
7946         * docs/design/part-TODO.txt:
7947         * docs/design/part-events.txt:
7948         Some docs updates
7949
7950         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7951         (gst_base_sink_event), (gst_base_sink_do_sync),
7952         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7953         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7954         (gst_base_src_do_seek), (gst_base_src_event_handler),
7955         (gst_base_src_loop):
7956         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7957         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7958         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7959         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7960         (gst_base_transform_set_passthrough),
7961         (gst_base_transform_is_passthrough):
7962         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7963         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7964         Event updates.
7965
7966         * gst/gstbuffer.h:
7967         Use faster casts.
7968
7969         * gst/gstelement.c: (gst_element_seek):
7970         * gst/gstelement.h:
7971         Update gst_element_seek.
7972
7973         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7974         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7975         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7976         (gst_event_new_eos), (gst_event_new_newsegment),
7977         (gst_event_parse_newsegment), (gst_event_new_tag),
7978         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7979         (gst_event_parse_qos), (gst_event_new_seek),
7980         (gst_event_parse_seek), (gst_event_new_navigation):
7981         * gst/gstevent.h:
7982         Make GstEvent use GstStructure. Add parsing code, make sure the
7983         API is sufficiently generic.
7984         Mark possible directions of events and serialization.
7985
7986         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7987         (_gst_message_copy), (gst_message_new_segment_start),
7988         (gst_message_new_segment_done), (gst_message_new_custom),
7989         (gst_message_parse_segment_start),
7990         (gst_message_parse_segment_done):
7991         Small cleanups.
7992
7993         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7994         (gst_pad_set_caps), (gst_pad_send_event):
7995         Update for new events. 
7996         Catch events sent in wrong directions.
7997
7998         * gst/gstqueue.c: (gst_queue_link_src),
7999         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8000         (gst_queue_handle_src_query):
8001         Event updates.
8002
8003         * gst/gsttag.c:
8004         * gst/gsttag.h:
8005         Remove event code from this file.
8006
8007         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8008         (gst_dp_event_from_packet):
8009         Event updates.
8010
8011 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8012
8013         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8014         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8015         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8016           Make debugging actually useful.
8017
8018 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8019
8020         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8021         (gst_pad_fixate_caps):
8022           Implement default fixation once again, so that gst_pad_fixate()
8023           actually does anything at all. This probably needs to be some
8024           sort of a last resort, and use profile-based fixation first, but
8025           since that doesn't exist yet, this is the best we have. Fixes
8026           visualization in Totem.
8027
8028 2005-07-22  Wim Taymans  <wim@fluendo.com>
8029
8030         * docs/design/part-events.txt:
8031         Small update.
8032
8033         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8034         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8035         (gst_base_sink_activate_pull):
8036         Some more comments.
8037
8038         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8039         (gst_fake_src_create):
8040         Fix handoff marshall.
8041
8042         * gst/elements/gstidentity.c: (gst_identity_class_init),
8043         (gst_identity_transform_ip):
8044         We're a real inplace element.
8045
8046         * gst/gstbus.c: (gst_bus_post):
8047         Added some comments.
8048
8049         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8050         * tests/muxing/case1.c: (main):
8051         * tests/sched/dynamic-pipeline.c: (main):
8052         * tests/sched/interrupt1.c: (main):
8053         * tests/sched/interrupt2.c: (main):
8054         * tests/sched/interrupt3.c: (main):
8055         * tests/sched/runxml.c: (main):
8056         * tests/sched/sched-stress.c: (main):
8057         * tests/seeking/seeking1.c: (event_received), (main):
8058         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8059         (main):
8060         * tests/threadstate/threadstate3.c: (main):
8061         * tests/threadstate/threadstate4.c: (main):
8062         * tests/threadstate/threadstate5.c: (main):
8063         Fix the tests.
8064
8065 2005-07-21  Wim Taymans  <wim@fluendo.com>
8066
8067         * docs/design/part-seeking.txt:
8068         Some small additions.
8069
8070         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8071         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8072         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8073         * gst/base/gstbasesink.h:
8074         discont values are gint64, handle the math correctly.
8075
8076         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8077         Make the basesrc report error if the source pad is not linked.
8078
8079         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8080         (gst_queue_loop), (gst_queue_handle_src_query),
8081         (gst_queue_src_activate_push):
8082         Make queue collect data even if the srcpad is not linked.
8083         Start pushing out data as soon as it is linked.
8084
8085         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8086         * gst/gstutils.h:
8087         Added gst_flow_get_name() to ease error reporting.
8088
8089 2005-07-20  Wim Taymans  <wim@fluendo.com>
8090
8091         * gst/gstmessage.c: (gst_message_new_segment_start),
8092         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8093         (gst_message_parse_segment_done):
8094         * gst/gstmessage.h:
8095         Added a bunch of messages for advanced seeking.
8096
8097         * gst/parse/grammar.y:
8098         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8099         (gst_dpman_state_changed):
8100         Fix some new-pad -> pad-added signals
8101
8102 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8103
8104         * docs/manual/appendix-porting.xml:
8105         * docs/pwg/appendix-porting.xml:
8106           Document new-pad/state-change signal renames and the FixedList
8107           type rename.
8108
8109 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8110
8111         * docs/manual/advanced-autoplugging.xml:
8112         * docs/manual/basics-helloworld.xml:
8113         * docs/manual/basics-pads.xml:
8114         * docs/random/ds/0.9-suggested-changes:
8115         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8116         * gst/gstelement.h:
8117         * gst/gstevent.h:
8118         * gst/gstformat.h:
8119         * gst/gstquery.h:
8120         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8121         (gst_structure_parse_array), (gst_structure_parse_value):
8122         * gst/gstvalue.c: (gst_type_is_fixed),
8123         (gst_value_list_prepend_value), (gst_value_list_append_value),
8124         (gst_value_list_get_size), (gst_value_list_get_value),
8125         (gst_value_transform_array_string), (gst_value_serialize_array),
8126         (gst_value_deserialize_array), (gst_value_intersect_array),
8127         (gst_value_is_fixed), (_gst_value_initialize):
8128         * gst/gstvalue.h:
8129           GstElement::new-pad -> pad-added, GstElement::state-change ->
8130           state-changed, GstValueFixedList -> GstValueArray, add format and
8131           flags as their own arguments in gst_element_seek() (should improve
8132           "bindeability"), remove function generators since they don't work
8133           under a whole bunch of compilers (they were deprecated already
8134           anyway).
8135
8136 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8137
8138         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8139         (_gst_debug_register_funcptr):
8140         * gst/gstinfo.h:
8141           Fix illegal cast on some platforms (#309253).
8142
8143 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8144
8145         * gst/gstmessage.c: (gst_message_new_custom):
8146         * gst/gstmessage.h:
8147           Add _new_custom, make _new_application a macro to _new_custom.
8148
8149 2005-07-20  Wim Taymans  <wim@fluendo.com>
8150
8151         * gst/base/gstbasesrc.c: (gst_base_src_init),
8152         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8153         * gst/base/gstbasesrc.h:
8154         Add a gboolean to decide when to push out a discont.
8155
8156         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8157         (gst_queue_loop), (gst_queue_handle_src_query),
8158         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8159         (gst_queue_set_property), (gst_queue_get_property):
8160         Some cleanups.
8161
8162         * tests/threadstate/threadstate1.c: (main):
8163         Make a thread test compile and run... very silly..
8164
8165
8166 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8167
8168         * docs/manual/appendix-porting.xml:
8169           Mention removal of libgstgconf-0.9.la and existence of gconf
8170           elements.
8171
8172 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8173
8174         * docs/pwg/advanced-clock.xml:
8175         * docs/pwg/appendix-porting.xml:
8176         * docs/pwg/intro-preface.xml:
8177         * docs/pwg/other-base.xml:
8178         * docs/pwg/other-manager.xml:
8179         * docs/pwg/other-nton.xml:
8180         * docs/pwg/other-ntoone.xml:
8181         * docs/pwg/other-oneton.xml:
8182         * docs/pwg/pwg.xml:
8183           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8184           demuxer), remove n-to-n (was never written), fix some code examples
8185           and links and update the porting section to include all this.
8186
8187 2005-07-19  Wim Taymans  <wim@fluendo.com>
8188
8189         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8190         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8191         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8192         (gst_queue_src_activate_push), (gst_queue_change_state),
8193         (gst_queue_get_property):
8194         * gst/gstqueue.h:
8195         Propagate GstFlowReturn more intelligently upstream and output
8196         an ERROR/EOS when streaming stopped due to fatal error.
8197
8198 2005-07-19  Wim Taymans  <wim@fluendo.com>
8199
8200         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8201         Don't block forever for the state change to complete, the
8202         pipeline already did with a sensible timeout.
8203
8204 2005-07-19  Wim Taymans  <wim@fluendo.com>
8205
8206         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8207         Make sure we never call the create function is we
8208         got deactivated.
8209
8210 2005-07-19  Andy Wingo  <wingo@pobox.com>
8211
8212         * gst/parse/parse.l: Attempt to solve bug #172815.
8213
8214 2005-07-19  Wim Taymans  <wim@fluendo.com>
8215
8216         * docs/design/part-clocks.txt:
8217         * docs/design/part-events.txt:
8218         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8219         Small docs updates.
8220         Only update the seeking values when we are not
8221         busy streaming.
8222
8223 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8224
8225         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8226           Oops, ignore the result of gst_pad_push_event here.
8227
8228 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8229
8230         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8231         (gst_base_src_activate_push):
8232           Send discont event from the loop function, as pads
8233           aren't activated yet in the activate_push handler.
8234
8235         * gst/gstbin.c: (bin_bus_handler):
8236           Don't leak element name.
8237
8238 2005-07-18  Andy Wingo  <wingo@pobox.com>
8239
8240         * configure.ac: Use AS_LIBTOOL_TAGS.
8241
8242 2005-07-18  Wim Taymans  <wim@fluendo.com>
8243
8244         * docs/gst/gstreamer.types:
8245         Remove deleted types.
8246
8247 2005-07-18  Wim Taymans  <wim@fluendo.com>
8248
8249         * check/elements/gstfakesrc.c: (GST_START_TEST):
8250         * configure.ac:
8251         * gst/Makefile.am:
8252         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8253         (init_popt_callback):
8254         * gst/gst.h:
8255         * gst/gst_private.h:
8256         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8257         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8258         * gst/gstbin.h:
8259         * gst/gstbus.h:
8260         * gst/gstconfig.h.in:
8261         * gst/gstelement.c: (gst_element_class_init),
8262         (gst_element_set_base_time), (gst_element_get_base_time),
8263         (iterator_fold_with_resync), (gst_element_change_state),
8264         (gst_element_dispose), (gst_element_get_bus):
8265         * gst/gstelement.h:
8266         * gst/gstelementfactory.h:
8267         * gst/gsterror.c: (_gst_core_errors_init):
8268         * gst/gsterror.h:
8269         * gst/gstevent.h:
8270         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8271         * gst/gstindex.c:
8272         * gst/gstinfo.c: (_gst_debug_init):
8273         * gst/gstmessage.c: (_gst_message_copy):
8274         * gst/gstmessage.h:
8275         * gst/gstminiobject.h:
8276         * gst/gstobject.c:
8277         * gst/gstobject.h:
8278         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8279         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8280         * gst/gstpad.h:
8281         * gst/gstparse.h:
8282         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8283         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8284         (gst_pipeline_get_last_stream_time):
8285         * gst/gstpipeline.h:
8286         * gst/gstpluginfeature.h:
8287         * gst/gstquery.h:
8288         * gst/gstscheduler.c:
8289         * gst/gstscheduler.h:
8290         * gst/gststructure.h:
8291         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8292         (gst_task_finalize), (gst_task_func), (gst_task_create),
8293         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8294         (gst_task_stop), (gst_task_pause):
8295         * gst/gsttask.h:
8296         * gst/gsttypefind.h:
8297         * gst/gsttypes.h:
8298         * gst/registries/gstlibxmlregistry.c: (load_feature),
8299         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8300         * gst/registries/gstxmlregistry.c:
8301         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8302         * gst/schedulers/threadscheduler.c:
8303         * libs/gst/control/dparammanager.h:
8304         * tools/gst-inspect.c: (print_element_list),
8305         (print_plugin_features), (print_element_features):
8306         * tools/gst-xmlinspect.c: (print_element_list),
8307         (print_plugin_info), (main):
8308         Removed plugable schedulers.
8309         Removed Scheduler/Manager from elements.
8310         Removed gsttypes.h, rearranged includes.
8311         Removed dependency pad<->element, element<>pipeline, and
8312         various others,  fix includes.
8313         implement gst_pad_get_parent() with gst_object_get_parent()
8314         Make GstTask sefcontained.
8315         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8316         timeout.
8317         Fix endless loop in iterator_fold_with_resync.
8318
8319
8320 2005-07-18  Wim Taymans  <wim@fluendo.com>
8321
8322         * gst/Makefile.am:
8323         * gst/gstarch.h:
8324         Remove old file.
8325
8326 2005-07-18  Wim Taymans  <wim@fluendo.com>
8327
8328         * gst/Makefile.am:
8329         No more cothreads.h
8330
8331 2005-07-18  Wim Taymans  <wim@fluendo.com>
8332
8333         * gst/cothreads.c:
8334         * gst/cothreads.h:
8335         Let's remove these.
8336
8337 2005-07-18  Wim Taymans  <wim@fluendo.com>
8338
8339         * docs/design/part-dynamic.txt:
8340         * docs/design/part-events.txt:
8341         * docs/design/part-seeking.txt:
8342         Some more docs in the works.
8343
8344         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8345         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8346         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8347         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8348         (gst_base_transform_handle_buffer),
8349         (gst_base_transform_sink_activate_push),
8350         (gst_base_transform_src_activate_pull),
8351         (gst_base_transform_set_passthrough),
8352         (gst_base_transform_is_passthrough):
8353         Refcounting fixes.
8354
8355         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8356         Cleanups.
8357
8358         * gst/gstevent.c: (gst_event_finalize):
8359         Set SRC to NULL.
8360
8361         * gst/gstutils.c: (gst_element_unlink),
8362         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8363         (gst_pad_proxy_setcaps):
8364         * gst/gstutils.h:
8365         Add _get_parent_element() to get a pads parent as an element.
8366
8367 2005-07-18  Wim Taymans  <wim@fluendo.com>
8368
8369         * check/gst/gstbin.c: (GST_START_TEST):
8370         Remove bogus test.
8371
8372 2005-07-18  Wim Taymans  <wim@fluendo.com>
8373
8374         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8375         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8376         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8377         (gst_base_sink_event), (gst_base_sink_do_sync),
8378         (gst_base_sink_chain), (gst_base_sink_loop),
8379         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8380         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8381         Refcounting fixes.
8382         Fix logic for returning ASYNC when not prerolled.
8383
8384 2005-07-18  Wim Taymans  <wim@fluendo.com>
8385
8386         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8387         Fix nasty refcount bug.
8388
8389 2005-07-16 Philippe Khalaf <burger@speedy.org>
8390
8391         * gst/elements/gstfdsrc.c:
8392         * gst/elements/gstfdsrc.h:
8393         * gst/elements/gstelements.c:
8394         * gst/elements/Makefile.am:
8395         Ported fdsrc to 0.9.
8396
8397 2005-07-16  Wim Taymans  <wim@fluendo.com>
8398
8399         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8400         (gst_base_sink_do_sync):
8401         Fix compile error.
8402
8403 2005-07-16  Wim Taymans  <wim@fluendo.com>
8404
8405         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8406         (gst_base_sink_event), (gst_base_sink_get_times),
8407         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8408         * gst/base/gstbasesink.h:
8409         Store and use discont values when syncing buffers as described
8410         in design docs.
8411         
8412         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8413         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8414         (gst_base_src_activate_push):
8415         Push discont event when starting.
8416
8417         * gst/elements/gstidentity.c: (gst_identity_transform):
8418         Small cleanups.
8419
8420         * gst/gstbin.c: (gst_bin_change_state):
8421         Small cleanups in base_time  distribution.
8422
8423         * gst/gstelement.c: (gst_element_set_base_time),
8424         (gst_element_get_base_time), (gst_element_change_state):
8425         * gst/gstelement.h:
8426         Added methods for the base_time of the element.
8427         Some MT fixes.
8428
8429         * gst/gstpipeline.c: (gst_pipeline_send_event),
8430         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8431         (gst_pipeline_get_last_stream_time):
8432         * gst/gstpipeline.h:
8433         MT fixes.
8434         Handle seeking as described in design doc, remove stream_time
8435         hack.
8436         Cleanups clock and stream_time selection code. Added accessors
8437         for the stream_time.
8438         
8439
8440 2005-07-16  Andy Wingo  <wingo@pobox.com>
8441
8442         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8443         (#305291).
8444
8445 2005-07-16  Wim Taymans  <wim@fluendo.com>
8446
8447         * check/gst/gstbin.c: (GST_START_TEST):
8448         Make elements silent as the deep_notify refs the
8449         parent, which might make the test fail.
8450
8451         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8452         Don't hold the lock for too long.
8453
8454 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8455
8456         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8457           Don't unref the caps we passed to gst_caps_make_writable() after
8458           passing them. gst_caps_make_writable() will do that for us.
8459
8460 2005-07-15  Andy Wingo  <wingo@pobox.com>
8461
8462         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8463         (#157311).
8464
8465         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8466         own marshalling function for the handoff signal. Properly type the
8467         buffer as a buffer. Fixes some warnings. Should do a more general
8468         solution.
8469         (gst_identity_class_init): Plug into the right marshaller.
8470
8471 2005-07-15  Wim Taymans  <wim@fluendo.com>
8472
8473         * docs/design/part-TODO.txt:
8474         * docs/design/part-clocks.txt:
8475         * docs/design/part-element-sink.txt:
8476         * docs/design/part-events.txt:
8477         * docs/design/part-gstpipeline.txt:
8478         Updated docs, mostly DISCONT related.
8479
8480 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8481
8482         * docs/pwg/building-pads.xml:
8483           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8484
8485 2005-07-15  Andy Wingo  <wingo@pobox.com>
8486
8487         * tools/gst-typefind.c: Update, add copyright block.
8488
8489         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8490         Normalize and truncate caps before fixation.
8491
8492         * gst/gstcaps.h:
8493         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8494         discards all but the first structure from its argument.
8495
8496 2005-07-15  Wim Taymans  <wim@fluendo.com>
8497
8498         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8499         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8500         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8501         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8502         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8503         (gst_base_transform_chain), (gst_base_transform_change_state),
8504         (gst_base_transform_set_passthrough),
8505         (gst_base_transform_is_passthrough):
8506         * gst/base/gstbasetransform.h:
8507         Make passthrough work using the bufferpools.
8508         Changed API a bit, subclasses have to write into a buffer
8509         provided by the base class.
8510         More debug info in nego functions.
8511         
8512         * gst/elements/gstidentity.c: (gst_identity_init),
8513         (gst_identity_transform):
8514         Port to new base class.
8515
8516 2005-07-15  Wim Taymans  <wim@fluendo.com>
8517
8518         * gst/gstmessage.c: (gst_message_new_state_changed):
8519         * tools/gst-launch.c: (event_loop), (main):
8520         Totally dump messages in -launch with the -m option.
8521         Fix message name for State messages,
8522
8523 2005-07-14  Wim Taymans  <wim@fluendo.com>
8524
8525         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8526         Post error messages on errors.
8527
8528 2005-07-14  Wim Taymans  <wim@fluendo.com>
8529
8530         * gst/gstcaps.c: (gst_caps_do_simplify):
8531         Remove debug info.
8532
8533         * gst/gsterror.h:
8534         Define error for stream stopped.
8535
8536         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8537         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8538         Do proper return values.
8539
8540         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8541         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8542         (gst_pad_get_range):
8543         Better return values.
8544
8545         * gst/gstpad.h:
8546         Reorganise return values, add macro to check for fatal errors.
8547
8548         * gst/gstqueue.c: (gst_queue_chain):
8549         Return proper GstFlowReturn values,
8550
8551 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8552
8553         * docs/gst/gstreamer-sections.txt:
8554         * docs/gst/gstreamer.types:
8555         * docs/gst/tmpl/gst.sgml:
8556         * docs/gst/tmpl/gstbasesink.sgml:
8557         * docs/gst/tmpl/gstbasesrc.sgml:
8558         * docs/gst/tmpl/gstbasetransform.sgml:
8559         * docs/gst/tmpl/gstbin.sgml:
8560         * docs/gst/tmpl/gstbuffer.sgml:
8561         * docs/gst/tmpl/gstcaps.sgml:
8562         * docs/gst/tmpl/gstclock.sgml:
8563         * docs/gst/tmpl/gstcompat.sgml:
8564         * docs/gst/tmpl/gstconfig.sgml:
8565         * docs/gst/tmpl/gstelement.sgml:
8566         * docs/gst/tmpl/gstelementdetails.sgml:
8567         * docs/gst/tmpl/gstelementfactory.sgml:
8568         * docs/gst/tmpl/gstenumtypes.sgml:
8569         * docs/gst/tmpl/gsterror.sgml:
8570         * docs/gst/tmpl/gstevent.sgml:
8571         * docs/gst/tmpl/gstfakesink.sgml:
8572         * docs/gst/tmpl/gstfakesrc.sgml:
8573         * docs/gst/tmpl/gstfilesink.sgml:
8574         * docs/gst/tmpl/gstfilesrc.sgml:
8575         * docs/gst/tmpl/gstfilter.sgml:
8576         * docs/gst/tmpl/gstformat.sgml:
8577         * docs/gst/tmpl/gstghostpad.sgml:
8578         * docs/gst/tmpl/gstimplementsinterface.sgml:
8579         * docs/gst/tmpl/gstindex.sgml:
8580         * docs/gst/tmpl/gstindexfactory.sgml:
8581         * docs/gst/tmpl/gstinfo.sgml:
8582         * docs/gst/tmpl/gstiterator.sgml:
8583         * docs/gst/tmpl/gstmacros.sgml:
8584         * docs/gst/tmpl/gstmemchunk.sgml:
8585         * docs/gst/tmpl/gstminiobject.sgml:
8586         * docs/gst/tmpl/gstobject.sgml:
8587         * docs/gst/tmpl/gstpad.sgml:
8588         * docs/gst/tmpl/gstpadtemplate.sgml:
8589         * docs/gst/tmpl/gstparse.sgml:
8590         * docs/gst/tmpl/gstpipeline.sgml:
8591         * docs/gst/tmpl/gstplugin.sgml:
8592         * docs/gst/tmpl/gstpluginfeature.sgml:
8593         * docs/gst/tmpl/gstquery.sgml:
8594         * docs/gst/tmpl/gstqueue.sgml:
8595         * docs/gst/tmpl/gstregistry.sgml:
8596         * docs/gst/tmpl/gstregistrypool.sgml:
8597         * docs/gst/tmpl/gstscheduler.sgml:
8598         * docs/gst/tmpl/gstschedulerfactory.sgml:
8599         * docs/gst/tmpl/gststructure.sgml:
8600         * docs/gst/tmpl/gstsystemclock.sgml:
8601         * docs/gst/tmpl/gsttaglist.sgml:
8602         * docs/gst/tmpl/gsttagsetter.sgml:
8603         * docs/gst/tmpl/gsttrace.sgml:
8604         * docs/gst/tmpl/gsttrashstack.sgml:
8605         * docs/gst/tmpl/gsttypefind.sgml:
8606         * docs/gst/tmpl/gsttypefindfactory.sgml:
8607         * docs/gst/tmpl/gsttypes.sgml:
8608         * docs/gst/tmpl/gsturihandler.sgml:
8609         * docs/gst/tmpl/gsturitype.sgml:
8610         * docs/gst/tmpl/gstutils.sgml:
8611         * docs/gst/tmpl/gstvalue.sgml:
8612         * docs/gst/tmpl/gstversion.sgml:
8613         * docs/gst/tmpl/gstxml.sgml:
8614         * docs/libs/tmpl/gstcontrol.sgml:
8615         * docs/libs/tmpl/gstdataprotocol.sgml:
8616         * docs/libs/tmpl/gstdparam.sgml:
8617         * docs/libs/tmpl/gstdplinint.sgml:
8618         * docs/libs/tmpl/gstdpman.sgml:
8619         * docs/libs/tmpl/gstdpsmooth.sgml:
8620         * docs/libs/tmpl/gstgetbits.sgml:
8621         * docs/libs/tmpl/gstunitconvert.sgml:
8622         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8623         (gst_push_src_base_init), (gst_push_src_class_init),
8624         (gst_push_src_init), (gst_push_src_create):
8625         * gst/base/gstpushsrc.h:
8626         * gst/elements/gstelements.c:
8627         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8628         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8629         (gst_fake_sink_init), (gst_fake_sink_set_property),
8630         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8631         (gst_fake_sink_event), (gst_fake_sink_preroll),
8632         (gst_fake_sink_render), (gst_fake_sink_change_state):
8633         * gst/elements/gstfakesink.h:
8634         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8635         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8636         (gst_fake_src_base_init), (gst_fake_src_class_init),
8637         (gst_fake_src_init), (gst_fake_src_event_handler),
8638         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8639         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8640         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8641         (gst_fake_src_create_buffer), (gst_fake_src_create),
8642         (gst_fake_src_start), (gst_fake_src_stop):
8643         * gst/elements/gstfakesrc.h:
8644         * gst/elements/gstfilesink.c: (_do_init),
8645         (gst_file_sink_base_init), (gst_file_sink_class_init),
8646         (gst_file_sink_init), (gst_file_sink_dispose),
8647         (gst_file_sink_set_location), (gst_file_sink_set_property),
8648         (gst_file_sink_get_property), (gst_file_sink_open_file),
8649         (gst_file_sink_close_file), (gst_file_sink_query),
8650         (gst_file_sink_event), (gst_file_sink_render),
8651         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8652         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8653         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8654         * gst/elements/gstfilesink.h:
8655         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8656         (gst_file_src_class_init), (gst_file_src_init),
8657         (gst_file_src_finalize), (gst_file_src_set_location),
8658         (gst_file_src_set_property), (gst_file_src_get_property),
8659         (gst_file_src_map_region), (gst_file_src_map_small_region),
8660         (gst_file_src_create_mmap), (gst_file_src_create_read),
8661         (gst_file_src_create), (gst_file_src_is_seekable),
8662         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8663         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8664         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8665         (gst_file_src_uri_handler_init):
8666         * gst/elements/gstfilesrc.h:
8667           more autistic cleanliness in functions/names/defines
8668
8669 2005-07-13  Andy Wingo  <wingo@pobox.com>
8670
8671         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8672         source couldn't negotiate.
8673
8674         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8675         connections again.
8676
8677         * gst/gstutils.h:
8678         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8679         function. I am channeling Hades. Put your boots on suckers!!!
8680
8681 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8682
8683         * testsuite/caps/Makefile.am:
8684         * testsuite/caps/value_compare.c:
8685         * testsuite/caps/value_intersect.c:
8686         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8687           move two testsuite apps over to the check dir
8688
8689 2005-07-12  Wim Taymans  <wim@fluendo.com>
8690
8691         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8692         Added more debug info in the negotiate process.
8693
8694         * gst/gstmessage.h:
8695         Prepare for segment playback.
8696
8697         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8698         Better debugging.
8699
8700         * gst/gstutils.c:
8701         Some more docs.
8702
8703         * tools/gst-launch.c: (main):
8704         NULL pipeline on errors.
8705
8706 2005-07-12  Andy Wingo  <wingo@pobox.com>
8707
8708         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8709         not it comes from a malloc region. Make sure our copy gets freed.
8710
8711 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8712
8713         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8714         * check/gst/gstmessage.c: (GST_START_TEST):
8715         * check/gst/gststructure.c: (GST_START_TEST),
8716         (gst_structure_suite), (main):
8717           more testing
8718         * gst/gstelement.c: (gst_element_message_full):
8719           clean up GError and debug string now that they get copied
8720         * gst/gstmessage.c: (gst_message_new_error),
8721         (gst_message_new_warning), (gst_message_parse_error),
8722         (gst_message_parse_warning):
8723           use GST_TYPE_G_ERROR for structure_new, and take copies of
8724           arguments, so that we don't mess up refcounting
8725
8726 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8727
8728         * check/Makefile.am:
8729           add per-test valgrind targets
8730         * check/gst-libs/gdp.c: (GST_START_TEST),
8731         (gst_data_protocol_suite), (main):
8732           clean up
8733
8734 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8735
8736         * check/Makefile.am:
8737           instate more valgrindable tests
8738         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8739         (GST_START_TEST), (fakesrc_suite):
8740         * check/gst/gstpad.c: (GST_START_TEST):
8741         * check/gst/gststructure.c: (GST_START_TEST):
8742           fix test leaks
8743         * docs/gst/tmpl/gstminiobject.sgml:
8744         * gst/gstpad.c: (gst_pad_finalize):
8745           fix the static mutex leak
8746
8747 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8748
8749         * check/Makefile.am:
8750           add two more tests for valgrinding
8751         * check/gst/gstvalue.c: (GST_START_TEST):
8752           test refcount of deserialized buffer, found a leak
8753         * docs/gst/gstreamer-docs.sgml:
8754         * docs/gst/gstreamer-sections.txt:
8755         * docs/gst/gstreamer.types:
8756         * docs/gst/tmpl/gstminiobject.sgml:
8757           add miniobject to docs
8758         * gst/gstminiobject.c:
8759           add some docs
8760         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8761         (gst_string_unwrap):
8762           fix a hard-to-find invalid write for one of the tests
8763           fix a leak for deserialized buffers
8764
8765 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8766
8767         * docs/pwg/advanced-events.xml:
8768         * docs/pwg/advanced-request.xml:
8769         * docs/pwg/advanced-scheduling.xml:
8770         * docs/pwg/appendix-porting.xml:
8771         * docs/pwg/building-boiler.xml:
8772         * docs/pwg/intro-preface.xml:
8773         * docs/pwg/other-ntoone.xml:
8774           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8775           of example code and explanation for pad activation, loop() and
8776           getrange() functions and a bit more. Remove old comments pointing
8777           to loop-functions.
8778         * examples/pwg/Makefile.am:
8779           Add loop/getrange examples.
8780
8781 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8782
8783         * configure.ac:
8784           check for valgrind binary + some fixes
8785         * check/gst.supp:
8786           valgrind suppressions for the tests
8787         * check/Makefile.am:
8788           add a valgrind: target that valgrinds the unit tests
8789         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8790         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8791         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8792         * check/gst/gstghostpad.c:
8793           added some cleanup
8794         * check/gst/gstdata.c:
8795           removed
8796         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8797         (thread_unref), (gst_mini_object_suite), (main):
8798           added
8799         * gst/gst.c: (gst_deinit):
8800         * gst/gst.h:
8801           add a method to clean up.
8802         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8803         (gst_system_clock_obtain):
8804           allow for disposing the system clock.
8805         * tools/gst-launch.c: (main):
8806           deinit
8807
8808 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8809
8810         * docs/gst/tmpl/gstbasesrc.sgml:
8811         * docs/gst/tmpl/gstfakesrc.sgml:
8812         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8813         (gst_base_src_init), (gst_base_src_set_property),
8814         (gst_base_src_get_property), (gst_base_src_get_range),
8815         (gst_base_src_start):
8816         * gst/base/gstbasesrc.h:
8817           add num-buffers property
8818         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8819         (gst_fakesrc_init), (gst_fakesrc_set_property),
8820         (gst_fakesrc_get_property), (gst_fakesrc_create),
8821         (gst_fakesrc_start):
8822           remove num-buffers property
8823
8824 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8825
8826         * docs/gst/gstreamer-sections.txt:
8827         * docs/gst/tmpl/gstbasesink.sgml:
8828         * docs/gst/tmpl/gstbasesrc.sgml:
8829         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8830         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8831         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8832         (gst_base_sink_set_property), (gst_base_sink_get_property),
8833         (gst_base_sink_handle_object), (gst_base_sink_event),
8834         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8835         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8836         (gst_base_sink_loop), (gst_base_sink_deactivate),
8837         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8838         (gst_base_sink_change_state):
8839         * gst/base/gstbasesink.h:
8840         * gst/base/gstbasesrc.h:
8841         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8842         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8843         (gst_filesink_init):
8844           more macro splitting
8845
8846 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8847
8848         * gst/gstelement.c: (gst_element_get_bus):
8849           add debug
8850         * tools/gst-launch.c: (check_intr), (event_loop):
8851           fix bus leaks
8852
8853 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8854
8855         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8856           fix a caps leak
8857
8858 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8859
8860         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8861         (gst_base_src_finalize):
8862           add finalize method and clean up properly
8863         * gst/gstpipeline.c: (gst_pipeline_dispose):
8864           add debug
8865
8866 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8867
8868         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8869         (gst_bin_suite):
8870           add more things to check
8871         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8872         * gst/gstelement.c:
8873           more debug
8874
8875 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8876
8877         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8878         (GST_START_TEST), (fakesrc_suite):
8879         * check/gst-libs/gdp.c: (GST_START_TEST):
8880         * check/gst/gst.c: (GST_START_TEST):
8881         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8882         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8883         * check/gst/gstbus.c: (GST_START_TEST):
8884         * check/gst/gstcaps.c: (GST_START_TEST):
8885         * check/gst/gstdata.c: (GST_START_TEST):
8886         * check/gst/gstelement.c: (GST_START_TEST):
8887         * check/gst/gstghostpad.c: (GST_START_TEST):
8888         * check/gst/gstiterator.c: (GST_START_TEST):
8889         * check/gst/gstmessage.c: (GST_START_TEST):
8890         * check/gst/gstobject.c: (GST_START_TEST):
8891         * check/gst/gstpad.c: (GST_START_TEST):
8892         * check/gst/gststructure.c: (GST_START_TEST):
8893         * check/gst/gstsystemclock.c: (GST_START_TEST),
8894         (gst_systemclock_suite):
8895         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8896         * check/gst/gstvalue.c: (GST_START_TEST):
8897         * check/pipelines/cleanup.c: (GST_START_TEST):
8898         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8899         * check/states/sinks.c: (GST_START_TEST):
8900         * check/gstcheck.c: (gst_check_init):
8901         * check/gstcheck.h:
8902           add debugging category
8903           use GST_START_TEST now, so we add a debug line
8904
8905 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8906
8907         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8908           add test for state change message on a bin
8909         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8910           add another test
8911         * gst/gstbin.c: (gst_bin_init):
8912         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8913         * gst/gstelement.c: (gst_element_post_message),
8914         (gst_element_set_state):
8915         * gst/gstelementfactory.c: (gst_element_factory_create):
8916         * gst/gstmessage.c: (gst_message_new):
8917         * gst/gstscheduler.c:
8918           various debugging additions and cleanups
8919
8920 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8921
8922         * check/Makefile.am:
8923         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8924         (main):
8925           adding tests for elements
8926         * gst/gstelement.c: (gst_element_dispose):
8927
8928 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8929
8930         * gst/registries/gstlibxmlregistry.c: (load_feature):
8931           plug more leaks.  A simple gst_init() now is leakfree, yay.
8932
8933 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8934
8935         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8936         (gst_xml_registry_load):
8937           plug another memleak
8938
8939 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8940
8941         * configure.ac:
8942           use GST_SET_ERROR_CFLAGS
8943         * docs/faq/cvs.xml:
8944           change to ERROR_CFLAGS
8945
8946 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8947
8948         * configure.ac:
8949           make GST_ERROR_CFLAGS overridable and re-enable Werror
8950         * docs/faq/cvs.xml:
8951           add a note about error CFLAGS
8952         * docs/gst/tmpl/gstfakesrc.sgml:
8953         * gst/elements/gstfakesrc.c:
8954           comment out some unused code
8955         * gst/gst.c: (split_and_iterate):
8956         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8957         (load_feature):
8958           plug some memleaks
8959
8960 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8961
8962         * common/Makefile.am:
8963         * common/gtk-doc.mak:
8964         * docs/gst/Makefile.am:
8965           factor out gtk-doc.mak
8966
8967 2005-07-07  Wim Taymans  <wim@fluendo.com>
8968
8969         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8970         (gst_thread_scheduler_dispose):
8971         Unlock the STREAM_LOCK completely.
8972
8973 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8974
8975         * check/Makefile.am:
8976         * check/elements/.cvsignore:
8977         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8978         (START_TEST), (fakesrc_suite), (main):
8979         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8980         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8981         (gst_fakesrc_create), (gst_fakesrc_start):
8982         * gst/elements/gstfakesrc.h:
8983           adding a first element test
8984
8985 2005-07-07  Andy Wingo  <wingo@pobox.com>
8986
8987         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8988         debug message.
8989
8990 2005-07-07  Wim Taymans  <wim@fluendo.com>
8991
8992         * gst/gstquery.c:
8993         * gst/gstquery.h:
8994         Remove old types
8995
8996 2005-07-07  Wim Taymans  <wim@fluendo.com>
8997
8998         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8999         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9000         Allow subclasses to implement their own negotiation.
9001
9002 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9003
9004         * docs/design/part-gstbin.txt:
9005         * docs/design/part-gstpipeline.txt:
9006           Update design notes to reflect the movement of
9007           responsibility for bus handling from GstPipeline to
9008           GstBin
9009
9010 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9011
9012         * configure.ac:
9013           Remove unnecessary queue2/3/4 examples.
9014
9015 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9016
9017         * examples/Makefile.am:
9018         * examples/helloworld/helloworld.c: (event_loop), (main):
9019         * examples/queue/queue.c: (event_loop), (main):
9020         * examples/queue2/queue2.c: (main):
9021           Update a couple of the examples to work again.
9022
9023         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9024         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9025          Spelling corrections and extra debug.
9026         
9027         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9028         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9029         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9030         * gst/gstbin.h:
9031         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9032         (gst_pipeline_change_state):
9033         * gst/gstpipeline.h:
9034           Move the bus handler for children to the GstBin, and create a
9035           separate bus for receiving messages from children to the one the
9036           bus sends 'upwards' on.
9037
9038 2005-07-06  Wim Taymans  <wim@fluendo.com>
9039
9040         * gst/base/README:
9041         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9042         (gst_base_sink_handle_object), (gst_base_sink_loop),
9043         (gst_base_sink_change_state):
9044         * gst/base/gstbasesink.h:
9045         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9046         (gst_base_src_init), (gst_base_src_setcaps),
9047         (gst_base_src_getcaps), (gst_base_src_loop),
9048         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9049         (gst_base_src_start), (gst_base_src_change_state):
9050         * gst/base/gstbasesrc.h:
9051         Make basesrc negotiate.
9052         Handle the case where preroll fails in basesink.
9053         Update README.
9054
9055 2005-07-06  Wim Taymans  <wim@fluendo.com>
9056
9057         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9058         Implement the fixate function.
9059         Clean up acceptcaps.
9060
9061 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9062
9063         * docs/pwg/building-filterfactory.xml:
9064         * docs/pwg/pwg.xml:
9065           Remove never-written filter-factory chapter; I'll add the various
9066           base classes to part 4 ("other element types") later on.
9067
9068 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9069
9070         * docs/pwg/advanced-negotiation.xml:
9071         * docs/pwg/building-boiler.xml:
9072         * docs/pwg/building-pads.xml:
9073         * docs/pwg/pwg.xml:
9074         * examples/pwg/Makefile.am:
9075           Add a chapter on caps negotiation, simplify the original code
9076           samples a bit w.r.t. caps negotiation, add link to the advanced
9077           section. Add a bunch of examples showing different use cases of
9078           different types of caps negotiation. Upstream renegotiation isn't
9079           fully documented yet since nobody knows how that works.
9080
9081 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9082
9083         * check/gst/gstpad.c:
9084         * check/gstcheck.c:
9085         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9086           if pad has no parent, return NULL as list of internal links
9087
9088 2005-07-05  Andy Wingo  <wingo@pobox.com>
9089
9090         * gst/elements/gstfilesrc.c:
9091         * gst/elements/gstfakesrc.c: 
9092         * gst/base/gstpushsrc.c:
9093         * gst/base/gstbasesrc.h: 
9094         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9095         
9096 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9097
9098         * Makefile.am:
9099           better report generation target (lcov needs a patch)
9100
9101 2005-07-05  Andy Wingo  <wingo@pobox.com>
9102
9103         * gst/elements, testsuite: Null if we got it...
9104
9105 2005-07-05  Wim Taymans  <wim@fluendo.com>
9106
9107         * configure.ac:
9108         * libs/gst/dataprotocol/Makefile.am:
9109         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9110         * libs/gst/dataprotocol/dataprotocol.h:
9111         * pkgconfig/Makefile.am:
9112         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9113         * pkgconfig/gstreamer-dataprotocol.pc.in:
9114         Ported dataprotol to 0.9. 
9115         Added pkgconfig files.
9116
9117 2005-07-05  Andy Wingo  <wingo@pobox.com>
9118
9119         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9120         Default to returning TRUE for the case when tranform_caps returns
9121         a fixed caps, like for identity or volume.
9122
9123         * check/gst/gstbus.c (pound_bus_with_messages): 
9124         * check/gst/gstmessage.c (START_TEST): 
9125         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9126         message API change.
9127
9128         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9129         logic weaks here: always run transform_caps, trying passthrough
9130         operation only if the original caps intersects with the transform.
9131
9132         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9133         source and sink caps.
9134
9135         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9136         Intersect the peer caps with the pad template before going into
9137         transform_caps.
9138         (gst_base_transform_transform_caps): More debugging.
9139
9140         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9141         src argument.
9142
9143 2005-07-04  Edward Hervey  <edward@fluendo.com>
9144
9145         * gst/gstutils.c:
9146         * gst/gstutils.h:
9147         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9148         in bindings.
9149
9150 2005-07-04  Andy Wingo  <wingo@pobox.com>
9151
9152         * check/gst/gstpad.c: Only set explicit caps on pads.
9153
9154 2005-07-01  Andy Wingo  <wingo@pobox.com>
9155
9156         * tests/network-clock.scm: Commentary update.
9157
9158         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9159         Didn't really make sense, not implementable with basetransform,
9160         etc.
9161         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9162         attempt at implementing the sync property, needs an unlock method.
9163
9164         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9165         New func, by default returns the same caps (the identity
9166         transformation).
9167         (gst_base_transform_getcaps): Uses transform_caps to return
9168         something sensible.
9169         (gst_base_transform_setcaps): Complicated logic to get caps on
9170         both pads, even if they are different, and to call set_caps once
9171         for every time both pads get their caps set.
9172         (gst_base_transform_handle_buffer): Give the ref to the transform
9173         function. Allows in-place modification of the buffer.
9174
9175         * gst/base/gstbasetransform.h (transform_caps): New class method.
9176         Given caps on one side, what can I do on the other.
9177         (set_caps): Take two caps, one for each side of the element.
9178
9179         * gst/gstpad.h:
9180         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9181         caps in place. This is safe because we can check the mutability of
9182         the caps, and a good idea because fixate functions are just called
9183         as a matter of last resort. (Not actually implemented.)
9184         (gst_pad_set_caps): If the caps we're setting is actually the same
9185         as the existing pad caps, just update the pointer without calling
9186         setcaps. Assert that caps is either NULL or fixed, as per the
9187         docs.
9188
9189         * gst/gstghostpad.c: Update for fixate changes.
9190
9191 2005-07-02  Andy Wingo  <wingo@pobox.com>
9192
9193         * gst/gstcaps.c:
9194         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9195         two refcounts makes it immutable, which is enough. Doc more.
9196
9197 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9198
9199         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9200           Put the mini_object into GValue as a mini_object,
9201           not a gpointer, since that's how we declared
9202           the signal.
9203
9204 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9205
9206         * examples/pwg/Makefile.am:
9207           Fix buildbot again.
9208
9209 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9210
9211         * docs/pwg/building-testapp.xml:
9212           Add extra check.
9213         * examples/pwg/Makefile.am:
9214           Fix buildbot.
9215
9216 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9217
9218         * configure.ac:
9219         * examples/Makefile.am:
9220         * examples/pwg/Makefile.am:
9221         * examples/pwg/extract.pl:
9222           Enable building the PWG examples.
9223         * docs/pwg/advanced-interfaces.xml:
9224           Add URI interface stub.
9225         * docs/pwg/advanced-types.xml:
9226         * docs/pwg/other-autoplugger.xml:
9227         * docs/pwg/appendix-porting.xml:
9228         * docs/pwg/pwg.xml:
9229           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9230         * docs/pwg/building-boiler.xml:
9231         * docs/pwg/building-chainfn.xml:
9232         * docs/pwg/building-pads.xml:
9233         * docs/pwg/building-props.xml:
9234         * docs/pwg/building-state.xml:
9235         * docs/pwg/building-testapp.xml:
9236           Update the building-*.xml parts for 0.9 changes. All examples
9237           code blocks compile in examples/pwg/*.
9238
9239 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9240
9241         * docs/manual/advanced-autoplugging.xml:
9242         * docs/manual/appendix-checklist.xml:
9243         * docs/manual/appendix-integration.xml:
9244         * docs/manual/highlevel-components.xml:
9245           Fix playbin/decodebin examples, update docs a bit, mention bus
9246           instead of signals in various places, mention kmplayer and
9247           kaffeine since they have a working GStreamer backend in the KDE
9248           section.
9249
9250 2005-06-30  Wim Taymans  <wim@fluendo.com>
9251
9252         * CHANGES-0.9:
9253         * docs/design/draft-ghostpads.txt:
9254         * docs/design/draft-push-pull.txt:
9255         * docs/design/draft-query.txt:
9256         * docs/design/part-TODO.txt:
9257         * docs/design/part-query.txt:
9258         Added CHANGES-0.9 doc, updated status of other docs.
9259         
9260         * gst/gstquery.h:
9261         Remove "hmm" macro
9262
9263 2005-06-30  Wim Taymans  <wim@fluendo.com>
9264
9265         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9266         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9267         (gst_base_sink_change_state):
9268         * gst/base/gstbasesink.h:
9269         Some tweaks, only EOS and a buffer complete a preroll.
9270
9271 2005-06-30  Andy Wingo  <wingo@pobox.com>
9272
9273         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9274         activate_push down to the internal pad as well.
9275
9276 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9277
9278         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9279
9280         * gst/gsttaginterface.c:
9281           Some documentation fixes (#307394 and #307397).
9282
9283 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9284
9285         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9286
9287         * gst/gstvalue.c: (gst_value_intersect_list):
9288           Fix memleak (#309125).
9289
9290 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9291
9292         * docs/manual/advanced-dataaccess.xml:
9293           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9294         * docs/manual/basics-pads.xml:
9295           Add reference for filtered caps to above chapter.
9296
9297 2005-06-30  Wim Taymans  <wim@fluendo.com>
9298
9299         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9300         (gst_bin_change_state):
9301         Probes are gone.
9302         Lame attempt at making the state change function a bit
9303         more readable.
9304
9305 2005-06-30  Wim Taymans  <wim@fluendo.com>
9306
9307         * docs/design/part-clocks.txt:
9308         * docs/design/part-element-sink.txt:
9309         * docs/design/part-events.txt:
9310         * docs/design/part-preroll.txt:
9311         * docs/design/part-states.txt:
9312         Some more tweeks and additions to the docs.
9313
9314 2005-06-30  Wim Taymans  <wim@fluendo.com>
9315
9316         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9317         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9318         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9319         (gst_pad_check_pull_range), (gst_pad_get_range),
9320         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9321         * gst/gstpad.h:
9322         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9323         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9324         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9325         (gst_pad_remove_buffer_probe):
9326         Removed atomic operations, use existing LOCK.
9327         Move exception handling out of main code path.
9328
9329 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9330
9331         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9332         (silly_return_true_function), (gst_pad_class_init),
9333         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9334         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9335         (gst_pad_send_event):
9336           Fix accumulator, add default value by using _emitv() instead
9337           of _emit() for signal emission.
9338
9339 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9340
9341         * docs/manual/advanced-dataaccess.xml:
9342         * examples/manual/Makefile.am:
9343           Add probe example.
9344         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9345           Make work (??).
9346
9347 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9348
9349         * gst/elements/gstfilesink.c: (gst_filesink_render):
9350           Simplify code so that we don't have to handle short
9351           writes and return GST_FLOW_ERROR if an error occured.
9352
9353 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9354
9355         * docs/gst/gstreamer-docs.sgml:
9356           Remove probes more.
9357
9358 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9359
9360         * docs/gst/gstreamer-sections.txt:
9361         * docs/gst/tmpl/gstpad.sgml:
9362         * docs/gst/tmpl/gstprobe.sgml:
9363         * gst/Makefile.am:
9364         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9365         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9366         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9367         (gst_pad_push_event), (gst_pad_send_event):
9368         * gst/gstpad.h:
9369         * gst/gstutils.c: (gst_pad_add_data_probe),
9370         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9371         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9372         (gst_pad_remove_buffer_probe):
9373         * gst/gstutils.h:
9374           Remove old probes, add new g-signal-based probes and some utility
9375           functions.
9376
9377 2005-06-29  Edward Hervey  <edward@fluendo.com>
9378
9379         * gst/gstelementfactory.c:
9380         * gst/gstutils.h:
9381         * gst/gstutils.c:
9382         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9383         the definition to the header file.
9384
9385 2005-06-29  Andy Wingo  <wingo@pobox.com>
9386
9387         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9388         plugins from the source directory.
9389
9390 2005-06-29  Wim Taymans  <wim@fluendo.com>
9391
9392         * docs/gst/tmpl/gstbuffer.sgml:
9393         * docs/gst/tmpl/gstclock.sgml:
9394         Some fixings for blantently wrong text.
9395
9396 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9397
9398         * check/Makefile.am:
9399         * gst/gst.c: (add_path_func), (init_pre):
9400         * gst/gstregistry.c: (gst_registry_add_path):
9401           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9402           only scan the GST_PLUGIN_PATH locations, and not add
9403           system locations
9404
9405 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9406
9407         * docs/gst/gstreamer-sections.txt:
9408         * docs/gst/tmpl/gstbasesrc.sgml:
9409         * gst/gstelement.c:
9410         * gst/gstelement.h:
9411         * gst/gstevent.c:
9412         * gst/gstutils.c:
9413           doc fixes
9414
9415 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9416
9417         * docs/manual/advanced-autoplugging.xml:
9418           Fix autoplugging example.
9419
9420 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9421
9422         * docs/manual/advanced-autoplugging.xml:
9423         * docs/manual/mime-world.fig:
9424           Try to get autoplugging working, fix type detection. Fix text
9425           in hello-world image.
9426
9427 2005-06-29  Wim Taymans  <wim@fluendo.com>
9428
9429         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9430         (gst_base_sink_change_state):
9431         Small debug line.
9432
9433         * gst/gstclock.h:
9434         map SIGNAL and BROADCAST to the right function.
9435
9436         * gst/gstobject.h:
9437         Remove redundant braces.
9438
9439         * gst/gstpad.c: (gst_pad_set_caps):
9440         Don't call setcaps function when reseting caps to NULL.
9441
9442         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9443         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9444         (gst_system_clock_id_unschedule):
9445         Use BROADCAST as this is what we do.
9446
9447 2005-06-29  Wim Taymans  <wim@fluendo.com>
9448
9449         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9450         We are actually prerolling before commiting the state
9451         change. 
9452
9453 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9454
9455         * docs/manual/advanced-clocks.xml:
9456         * docs/manual/advanced-interfaces.xml:
9457         * docs/manual/advanced-metadata.xml:
9458         * docs/manual/advanced-position.xml:
9459         * docs/manual/advanced-schedulers.xml:
9460         * docs/manual/advanced-threads.xml:
9461         * docs/manual/appendix-porting.xml:
9462         * docs/manual/basics-bins.xml:
9463         * docs/manual/basics-bus.xml:
9464         * docs/manual/basics-elements.xml:
9465         * docs/manual/basics-helloworld.xml:
9466         * docs/manual/basics-pads.xml:
9467         * docs/manual/highlevel-components.xml:
9468         * docs/manual/manual.xml:
9469         * docs/manual/thread.fig:
9470           Update (until threads/scheduling) Application Development Manual;
9471           remove GstThread, add GstBus, add simple porting checklist, add
9472           documentation for tag writing, clocks, make all examples until this
9473           part compile and run.
9474         * examples/manual/Makefile.am:
9475           Update from changes to Application Development Manual; add bus
9476           example, remove thread example.
9477
9478 2005-06-28  Wim Taymans  <wim@fluendo.com>
9479
9480         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9481         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9482         (gst_bus_source_dispatch):
9483         Add debugging messages.
9484         Make internal methods static.
9485         Handle the case where the bus is flushed in the handler.
9486         
9487         * gst/gstelement.c: (gst_element_get_bus):
9488         Fix refcount in _get_bus();
9489
9490         * gst/gstpipeline.c: (gst_pipeline_change_state),
9491         (gst_pipeline_get_clock_func):
9492         Clock refcounting fixes.
9493         Handle the case where preroll timed out more gracefully.
9494         
9495         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9496         Clean up the internal thread in dispose. This is needed
9497         for subclasses that actually get disposed.
9498         
9499         * gst/schedulers/threadscheduler.c:
9500         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9501         (gst_thread_scheduler_dispose):
9502         Free thread pool in dispose.
9503
9504 2005-06-28  Andy Wingo  <wingo@pobox.com>
9505
9506         * tests/network-clock-utils.scm (debug, print-event): New utils.
9507
9508         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9509         (*packet-loss*): Unified loss probability.
9510         (network-time): Report out-of-band events.
9511
9512         * tests/plot-data: Add support for out-of-band events. Hack it
9513         into this script instead of passing it down the pipe; should fix
9514         this later.
9515
9516 2005-06-28  Wim Taymans  <wim@fluendo.com>
9517
9518         * docs/gst/gstreamer.types:
9519         * docs/gst/tmpl/gstbasesrc.sgml:
9520         * docs/gst/tmpl/gstpad.sgml:
9521         Docs fixes.
9522
9523 2005-06-28  Wim Taymans  <wim@fluendo.com>
9524
9525         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9526         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9527         (gst_proxy_pad_do_fixatecaps):
9528         Correctly proxy the check_pull_range function.
9529
9530 2005-06-28  Andy Wingo  <wingo@pobox.com>
9531
9532         * tests/network-clock.scm: Removed need for slib.
9533         
9534 2005-06-28  Wim Taymans  <wim@fluendo.com>
9535
9536         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9537         (gst_basesink_preroll_queue_flush):
9538         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9539         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9540         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9541         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9542         (gst_proxy_pad_set_property):
9543         * gst/gstpad.c:
9544         * gst/gstpad.h:
9545         * gst/gstqueue.c: (gst_queue_init):
9546         The deprecated pad loop function is removed now.
9547
9548 2005-06-28  Andy Wingo  <wingo@pobox.com>
9549
9550         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9551         New parameters, simulate network packet loss.
9552
9553         * tests/network-clock-utils.scm: Initialize the RNG.
9554
9555 2005-06-28  Wim Taymans  <wim@fluendo.com>
9556
9557         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9558         (gst_basesink_event), (gst_basesink_deactivate):
9559         Flushing the preroll queue always needs to unlock the waiters.
9560
9561 2005-06-28  Edward Hervey  <edward@fluendo.com>
9562
9563         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9564         Wheen a seek was successful on a pipeline, set the stream_time to the
9565         seek offset in order to have a synchronized stream_time.
9566
9567 2005-06-28  Wim Taymans  <wim@fluendo.com>
9568
9569         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9570         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9571         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9572         (gst_proxy_pad_do_fixatecaps):
9573         Call wrapper function instead of just calling the function
9574         pointers. This takes care of any locking and whatmore.
9575
9576 2005-06-28  Wim Taymans  <wim@fluendo.com>
9577
9578         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9579         (gst_pad_pull_range):
9580         * gst/gstpad.h:
9581         CONNECTED -> LINKED.
9582
9583 2005-06-28  Andy Wingo  <wingo@pobox.com>
9584
9585         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9586         source-munging commit!!!
9587
9588         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9589         (gst_object_sink): Take gpointer arguments, not GstObject --
9590         avoids casts. Like GLib.
9591
9592         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9593         activate.
9594
9595 2005-06-27  Andy Wingo  <wingo@pobox.com>
9596
9597         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9598         remaining buffer.
9599
9600         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9601         returns a sorted copy of the trace list.
9602         (gst_alloc_trace_print_live): New API, only prints traces with
9603         live objects. Sort the list.
9604         (gst_alloc_trace_print_all): Sort the list.
9605         (gst_alloc_trace_print): Align columns.
9606
9607         * gst/elements/gstttypefindelement.c:
9608         * gst/elements/gsttee.c:
9609         * gst/base/gstbasesrc.c:
9610         * gst/base/gstbasesink.c:
9611         * gst/base/gstbasetransform.c:
9612         * gst/gstqueue.c: Adapt for pad activation changes.
9613
9614         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9615         sched.
9616         (gst_pipeline_dispose): Drop ref on sched.
9617
9618         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9619         (gst_pad_activate_default): Push mode by default.
9620         (pre_activate_switch, post_activate_switch): New stubs, things to
9621         do before and after switching activation modes on pads.
9622         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9623         the pad's activate function to choose which mode to activate.
9624         Shortcut on deactivation and call the right function directly.
9625         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9626         mode.
9627         (gst_pad_activate_push): New API, same for push mode.
9628         (gst_pad_set_activate_function) 
9629         (gst_pad_set_activatepull_function) 
9630         (gst_pad_set_activatepush_function): Setters for new API.
9631
9632         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9633         Trace all miniobjects.
9634         (gst_mini_object_make_writable): Unref the arg if we copy, like
9635         gst_caps_make_writable.
9636
9637         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9638
9639         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9640         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9641         Adapt for new pad API.
9642
9643         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9644
9645         * gst/gstelement.h:
9646         * gst/gstelement.c (gst_element_iterate_src_pads) 
9647         (gst_element_iterate_sink_pads): New API functions.
9648         
9649         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9650         should fold into gstiterator.c in some form.
9651         (gst_element_pads_activate): Simplified via use of fold and
9652         delegation of decisions to gstpad->activate.
9653
9654         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9655         help in debugging.
9656
9657         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9658         class once in init, like gstmessage. Didn't run into this issue
9659         but it seems correct. Don't initialize a trace, gstminiobject does
9660         that.
9661
9662         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9663         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9664         to the bus.
9665         (assert_live_count): New util function, uses alloc traces to check
9666         cleanup.
9667
9668         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9669         To be modified when unlink drops the internal pad.
9670
9671 2005-06-27  Wim Taymans  <wim@fluendo.com>
9672
9673         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9674         (gst_bin_change_state):
9675         Cleanup the get_state() function a little, make sure it
9676         iterates the same set of elements.
9677         Added stub iterate_state_order().
9678
9679 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9680
9681         * docs/gst/gstreamer-docs.sgml:
9682         * docs/gst/gstreamer-sections.txt:
9683         * docs/gst/gstreamer.types:
9684         * docs/gst/tmpl/gstbasesink.sgml:
9685         * docs/gst/tmpl/gstbasesrc.sgml:
9686         * docs/gst/tmpl/gstbasetransform.sgml:
9687         * docs/gst/tmpl/gstelement.sgml:
9688         * docs/gst/tmpl/gstiterator.sgml:
9689         * gst/base/gstbasesrc.c:
9690         * gst/base/gstbasesrc.h:
9691         * gst/base/gstbasetransform.h:
9692         * gst/gstelement.c:
9693         * gst/gstiterator.h:
9694           adding basetransform and iterator docs
9695
9696 2005-06-27  Andy Wingo  <wingo@pobox.com>
9697
9698         * docs/design/part-activation.txt: Notes on how activation should
9699         work -- not quite implemented yet.
9700
9701 2005-06-25  Wim Taymans  <wim@fluendo.com>
9702
9703         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9704         At least get the chain function correct, needs more
9705         fixing.
9706
9707 2005-06-25  Wim Taymans  <wim@fluendo.com>
9708
9709         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9710         (gst_basesink_handle_object), (gst_basesink_event),
9711         (gst_basesink_do_sync), (gst_basesink_handle_event),
9712         (gst_basesink_change_state):
9713         * gst/gsttask.h:
9714         Right, two problems here: ghostpads don't take locks and
9715         glib _rec_mutex_lock_full() with depth==0 still locks.
9716         Catch illegal locking and g_warn them.
9717
9718 2005-06-25  Wim Taymans  <wim@fluendo.com>
9719
9720         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9721         Have to check for completion now...
9722
9723 2005-06-25  Wim Taymans  <wim@fluendo.com>
9724
9725         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9726         (gst_basesink_handle_object), (gst_basesink_event),
9727         (gst_basesink_do_sync), (gst_basesink_handle_event),
9728         (gst_basesink_change_state):
9729         * gst/gstpad.h:
9730         Unlock STREAM_LOCK whatever the recursion was.
9731
9732 2005-06-25  Wim Taymans  <wim@fluendo.com>
9733
9734         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9735         (gst_basesink_preroll_queue_empty),
9736         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9737         (gst_basesink_event), (gst_basesink_do_sync),
9738         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9739         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9740         (gst_basesink_change_state):
9741         Reworked the base sink, handle event and buffer serialisation
9742         correctly and removed possible deadlock.
9743         Handle EOS correctly.
9744
9745 2005-06-25  Wim Taymans  <wim@fluendo.com>
9746
9747         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9748         (gst_pipeline_change_state):
9749         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9750         Allow elements to post EOS in the state change function.
9751         Fix up -launch, make it exit the poll loop when the
9752         pipeline actually changed state.
9753         Fix up warning parsing in -launch.
9754
9755 2005-06-25  Wim Taymans  <wim@fluendo.com>
9756
9757         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9758         (gst_tee_sink_activate):
9759         Core takes STREAM_LOCK for us now.
9760
9761 2005-06-25  Wim Taymans  <wim@fluendo.com>
9762
9763         * gst/gstelement.c: (gst_element_get_state_func),
9764         (gst_element_set_state):
9765         * gst/gstelement.h:
9766         * gst/gstmessage.c: (gst_message_parse_error),
9767         (gst_message_parse_warning):
9768         Keep track of current target state while performing a state
9769         change so that subclasses can do something interesting.
9770         Fix parsing of warning/error messages when GError is NULL.
9771
9772 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9773
9774         * docs/gst/Makefile.am:
9775         * docs/gst/gstreamer-docs.sgml:
9776         * docs/gst/gstreamer-sections.txt:
9777         * docs/gst/gstreamer.types:
9778         * docs/gst/tmpl/gstbasesink.sgml:
9779         * docs/gst/tmpl/gstbasesrc.sgml:
9780         * docs/gst/tmpl/gstbin.sgml:
9781         * docs/gst/tmpl/gstcompat.sgml:
9782         * docs/gst/tmpl/gstfakesink.sgml:
9783         * docs/gst/tmpl/gstfakesrc.sgml:
9784         * docs/gst/tmpl/gstfilesink.sgml:
9785         * docs/gst/tmpl/gstfilesrc.sgml:
9786         * docs/gst/tmpl/gstindex.sgml:
9787         * docs/manual/appendix-quotes.xml:
9788         * gst/base/gstbasesrc.h:
9789         * gst/elements/gstfakesrc.h:
9790         * gst/gstmessage.h:
9791           start pulling in base classes and elements in our docs
9792
9793 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9794
9795         * docs/gst/Makefile.am:
9796         * docs/libs/Makefile.am:
9797           fixed make distcheck with gtk-doc 1.3
9798
9799 2005-06-23  Wim Taymans  <wim@fluendo.com>
9800
9801         * gst/gstelement.c: (gst_element_get_state_func),
9802         (gst_element_set_state), (gst_element_change_state):
9803         When the state did not change, also report NO_PREROLL
9804         when it matters.
9805
9806 2005-06-23  Wim Taymans  <wim@fluendo.com>
9807
9808         * gst/gstpad.c: (gst_pad_event_default):
9809         * gst/gstqueue.c: (gst_queue_loop):
9810         No unsafe task pausing please.
9811
9812 2005-06-23  Wim Taymans  <wim@fluendo.com>
9813
9814         * gst/schedulers/threadscheduler.c:
9815         (gst_thread_scheduler_task_start),
9816         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9817         Ref the task before pushing it on the threadpool. This
9818         makes sure that we have a ref when the threadfunction is
9819         actually called.
9820
9821 2005-06-23  Andy Wingo  <wingo@pobox.com>
9822
9823         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9824         offset is greater than the file's size.
9825
9826         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9827         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9828         * gst/gstobject.c (gst_object_class_init): Make the class lock
9829         recursive. Wim won't let me drop deep_notify. Decodebin works
9830         again, whoopdy doo.
9831
9832         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9833         internal pad, and hacks accordingly. Doesn't do it on the target
9834         pad because we change its caps. Probably catches all cases of
9835         interest tho.
9836         (gst_ghost_pad_set_property): Connect to notify::caps as
9837         appropritate.
9838
9839         * tests/network-clock.scm (plot-simulation): Pipe data to the
9840         elite python skript.
9841
9842         * tests/network-clock-utils.scm (define-parameter): New macro,
9843         defines a parameter that can be set via the command line.
9844         (set-parameter!, parse-parameter-arguments): Command line args
9845         parser.
9846
9847         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9848         stdin.
9849
9850 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9851
9852         * gst/elements/gsttypefindelement.c:
9853         (gst_type_find_element_handle_event):
9854           Don't restart typefinding on a discont.
9855         * gst/gstelement.c: (gst_element_set_state):
9856           Debug spelling fix.
9857         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9858           Allow changing mode of an active pad.
9859           Debug output fixes.
9860         * gst/registries/gstlibxmlregistry.c: (load_feature):
9861           Don't cast a static pad template to a normal pad template.
9862
9863 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9864
9865         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9866         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9867           remove gst_strtoll completely, since it didn't actually do
9868           anything more than what g_ascii_strtoull already does.
9869           check for range errors when deserializing
9870           do a cast for the unsigned cases; but further fixing needs
9871           a decision on what the interpretation of "(int)" and
9872           deserialization should be for values that fall outside the
9873           type's boundaries (ie, refuse, or interpret as casting)
9874
9875 2005-06-23  Wim Taymans  <wim@fluendo.com>
9876
9877         * check/Makefile.am:
9878         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9879         * docs/design/part-live-source.txt:
9880         * docs/design/part-states.txt:
9881         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9882         (gst_basesrc_set_live), (gst_basesrc_is_live),
9883         (gst_basesrc_get_range), (gst_basesrc_activate),
9884         (gst_basesrc_change_state):
9885         * gst/base/gstbasesrc.h:
9886         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9887         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9888         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9889         * gst/gstelement.c: (gst_element_get_state_func),
9890         (gst_element_set_state):
9891         * gst/gstelement.h:
9892         * gst/gsttypes.h:
9893         * tools/gst-launch.c: (event_loop), (main):
9894         Added support for live sources and other elements that
9895         cannot do preroll.
9896         Updated design docs, added live-source design doc.
9897         Implemented live source functionality in basesrc
9898         Fix error condition in _bin_get_state()
9899         Implement live source handling in -launch.
9900         Added check for live sources.
9901         Fixed case in GstBin where elements were changed state
9902         multiple times.
9903
9904
9905 2005-06-23  Andy Wingo  <wingo@pobox.com>
9906
9907         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9908         borken refcounting.
9909
9910         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9911         gst_caps_replace takes care of this for us.
9912
9913         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9914         gst_pad_set_caps on the target, not just its setcaps() function.
9915
9916         * tests/network-clock.scm: 
9917         * tests/network-clock-utils.scm: A network clock simulator.
9918         Something of an algorithmic testbed before doing something in C.
9919
9920 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9921
9922         * check/Makefile.am:
9923         * check/gst/capslist.h:
9924           copy over from 0.8, and add two with bitmasks specified with
9925           (int) 0xFF...
9926         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9927           add test to parse everything from capslist.h
9928         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9929         (main):
9930           add test for structure deserialization
9931         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9932           add tests for deserialization of strings to int types
9933         * gst/gststructure.c: (gst_structure_nth_field_name):
9934         * gst/gststructure.h:
9935           add a way to get the name of a field referenced by index
9936         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9937           instead of checking if the resulting long long lies between
9938           min and max, we check if the long long would fit into
9939           a number of bytes for the final type.
9940           This fixes cases where a string represents 2^32 - 1, which
9941           when cast to int would be the (valid) -1, but is bigger than
9942           G_MAXINT
9943
9944 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9945
9946         * gst/parse/grammar.y:
9947           add a log line for type deserialization
9948
9949 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9950
9951         * check/gst/gstvalue.c: (START_TEST):
9952         * gst/gstvalue.c: (gst_value_deserialize):
9953           return long long, not int, so gint64 deserialization actually
9954           works.  Is there any flag that makes the compiler check this ?
9955           Fixes #308559
9956
9957 2005-06-22  Wim Taymans  <wim@fluendo.com>
9958
9959         * gst/gstbuffer.h:
9960         Added convenience macros for setting buffers in GValue.
9961
9962 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9963
9964         * check/gst/.cvsignore:
9965         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9966           add a test deserializing int64, and comment part out because
9967           it fails, yay !
9968
9969 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9970
9971         * check/Makefile.am:
9972         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9973         * testsuite/Makefile.am:
9974         * testsuite/caps/Makefile.am:
9975         * testsuite/caps/value_serialize.c:
9976         * testsuite/test_gst_init.c:
9977           move a value_serialize test over
9978
9979 2005-06-20  Wim Taymans  <wim@fluendo.com>
9980
9981         * gst/gstpad.c:
9982         Small doc updates.
9983         
9984         * gst/gstvalue.c: (gst_value_compare_buffer),
9985         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9986         (gst_value_compare_flags), (gst_value_serialize_flags),
9987         (gst_value_deserialize_flags), (_gst_value_initialize):
9988         Fix serialisation of buffers, they are not boxed types anymore
9989
9990 2005-06-20  Wim Taymans  <wim@fluendo.com>
9991
9992         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9993         Testcase to show error in buffer-on-caps serialisation.
9994
9995 2005-06-20  Andy Wingo  <wingo@pobox.com>
9996
9997         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9998         will be adding to later.
9999
10000         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10001         if its socks fill with rocks.
10002         (gst_system_clock_obtain): Set the name on object construction.
10003         Avoid double-checked locking.
10004
10005 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10006
10007         * gst/gsturi.c: (gst_element_make_from_uri):
10008           Fix potential endless loop.
10009
10010 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10011
10012         * check/Makefile.am:
10013           add gsttag
10014         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10015         (main):
10016           move over from testsuite dir and clean up
10017         * configure.ac:
10018         * gst/gsttag.c:
10019         * testsuite/Makefile.am:
10020         * testsuite/tags/.cvsignore:
10021         * testsuite/tags/Makefile.am:
10022         * testsuite/tags/merge.c:
10023           remove testsuite/tags
10024
10025 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10026
10027         * docs/gst/gstreamer-sections.txt:
10028         * docs/gst/tmpl/gstenumtypes.sgml:
10029         * win32/gstenumtypes.c:
10030           clean up documentation build a little
10031
10032 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10033
10034         * check/gstcheck.h:
10035           add macros for checking refcounts on objects and caps
10036         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10037           add some more unit tests
10038         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10039         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10040           fix leaked refcounts (I hope :)) so unittest works
10041         * gst/gstpad.h:
10042           whitespace removal
10043
10044 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10045
10046         * configure.ac: back to HEAD
10047
10048 === release 0.9.1 ===
10049
10050 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10051
10052         * NEWS:
10053         * RELEASE:
10054           updated
10055
10056 2005-06-17  Andy Wingo  <wingo@pobox.com>
10057
10058         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10059         assert; it's always possible that the pad gets deactivated in
10060         between the checks in gstpad.c and the implementation. Rely on
10061         finish_preroll() to return a FLUSHING or similar instead of on the
10062         assert.
10063         
10064         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10065         clock and post an EOS message if we come out of finish_preroll in
10066         the playing state.
10067
10068 2005-06-16  David Schleef  <ds@schleef.org>
10069
10070         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10071         (gst_capsfilter_set_property): Allow NULL as possible value
10072         for filter_caps property, indicating GST_CAPS_ANY.
10073
10074 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10075
10076         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10077           fix debug output
10078         * gst/schedulers/Makefile.am:
10079           use libgst prefix
10080         * gstreamer.spec.in:
10081           fix spec for it
10082
10083 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10084
10085         * gstreamer.spec.in:
10086           clean up
10087
10088 2005-06-08  Andy Wingo  <wingo@pobox.com>
10089
10090         * gst/gstutils.c: RPAD fixes all around.
10091         (gst_element_link_pads): Refcounting fixes.
10092
10093         * tools/gst-inspect.c:
10094         * tools/gst-xmlinspect.c:
10095         * parse/grammar.y:
10096         * gst/base/gsttypefindhelper.c:
10097         * gst/base/gstbasesink.c:
10098         * gst/gstqueue.c: RPAD fixes.
10099
10100         * gst/gstghostpad.h:
10101         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10102         pads. The tricky thing is they provide both source and sink
10103         interfaces, since they proxy the internal pad for the external
10104         pad, and vice versa. Implement with lower-level ProxyPad objects,
10105         with the interior proxy pad as a child of the exterior ghost pad.
10106         Should write a doc on this.
10107         
10108         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10109         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10110         gst_object API.
10111         
10112         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10113         pads are real pads. No ghost pads in this file. Not documenting
10114         the myriad s/RPAD/PAD/ and REALIZE fixes.
10115         (gst_pad_class_init): Add properties for "direction" and
10116         "template". Both are construct-only, so they can't change during
10117         the life of the pad. Fixes properly deriving from GstPad.
10118         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10119         derived objects, just set properties when creating the objects via
10120         g_object_new.
10121         (gst_pad_get_parent): Implement as a function, return NULL if the
10122         parent is not an element.
10123         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10124         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10125         
10126         * gst/gstobject.c (gst_object_class_init): Make name a construct
10127         property. Don't set it in the object init.
10128
10129         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10130         with UNKNOWN direction.
10131         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10132         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10133         (gst_element_remove_pad): Remove ghost-pad special cases.
10134         (gst_element_pads_activate): Remove rpad cruft.
10135
10136         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10137         catch the pad's-parent-not-an-element case.
10138
10139         * gst/gst.h: Include gstghostpad.h.
10140
10141         * gst/gst.c (init_post): No more real, ghost pads.
10142
10143         * gst/Makefile.am: Add gstghostpad.[ch].
10144
10145         * check/Makefile.am:
10146         * check/gst/gstbin.c:
10147         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10148         into a bin creates ghost pads, and that the refcounts are right.
10149         Partly moved from gstbin.c.
10150
10151 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10152
10153         * check/gst-libs/.cvsignore:
10154         * check/gst/.cvsignore:
10155         * check/pipelines/.cvsignore:
10156           ignore more
10157         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10158         (START_TEST), (cleanup_suite), (main):
10159           add some tests related to cleanup after running pipelines
10160
10161 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10162
10163         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10164           add a testsuite for GstBuffer
10165
10166 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10167
10168         * gst/gstminiobject.h:
10169           add defines for accessing the refcount
10170
10171 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10172
10173         * Makefile.am: added support for html unit test coverage reports
10174
10175 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10176
10177         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10178           Free existing caps if the capsfilter changes. Add a FIXME about
10179           setting those caps on the pads.
10180
10181         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10182           Before adding a ghost pad to a parent bin, check that there isn't
10183           already one for the element on the bin. Prevents infinite recursion
10184           when using decodebin in parse pipelines. Andy says he'll rewrite the
10185           way this works anyway, so ignore the hack.
10186
10187 2005-06-02  Andy Wingo  <wingo@pobox.com>
10188
10189         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10190         file size, pass it on to the type find helper.
10191
10192         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10193         segment_start and segment_end properly according to the seek
10194         method. Segment_end is still a bit flaky because offset can be
10195         negative for CUR and END cases, but it takes -1 as an "unset"
10196         value.
10197
10198 2005-06-02  Wim Taymans  <wim@fluendo.com>
10199
10200         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10201         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10202         (gst_basesink_activate):
10203         * gst/base/gstbasesink.h:
10204         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10205         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10206         (gst_pad_query), (gst_pad_start_task):
10207         * gst/gstpad.h:
10208         * gst/gstqueue.c: (gst_queue_bufferalloc),
10209         (gst_queue_handle_sink_event), (gst_queue_chain):
10210         Bufferalloc: return GstFlowReturn to more accuratly report
10211         why allocation failed.
10212
10213 2005-06-02  Wim Taymans  <wim@fluendo.com>
10214
10215         * gst/gstpipeline.c: (gst_pipeline_send_event):
10216         Take snapshot of state without blocking.
10217
10218 2005-06-02  Wim Taymans  <wim@fluendo.com>
10219
10220         * docs/design/part-TODO.txt:
10221         * docs/design/part-caps.txt:
10222         * docs/design/part-clocks.txt:
10223         * docs/design/part-negotiation.txt:
10224         * docs/design/part-preroll.txt:
10225         Small doc updates 
10226
10227 2005-05-30  Wim Taymans  <wim@fluendo.com>
10228
10229         * gst/elements/gstidentity.c: (gst_identity_event),
10230         (gst_identity_transform), (gst_identity_get_property):
10231         Protect last_message property as it is accessed from
10232         multiple threads.
10233
10234 2005-05-30  Wim Taymans  <wim@fluendo.com>
10235
10236         * gst/gstelement.c: (gst_element_init),
10237         (gst_element_pads_activate), (gst_element_change_state):
10238         Slicker pad activation code.
10239
10240 2005-05-30  Wim Taymans  <wim@fluendo.com>
10241
10242         * gst/Makefile.am:
10243         * gst/gstelement.h:
10244         * gst/gstelementfactory.h:
10245         * gst/gsttypes.h:
10246         Move elementfactory methods to separate .h file.
10247
10248 2005-05-30  Wim Taymans  <wim@fluendo.com>
10249
10250         * docs/design/part-overview.txt:
10251         * gst/gstsystemclock.h:
10252         Small typo fixes, doc updates.
10253
10254 2005-05-30  Wim Taymans  <wim@fluendo.com>
10255
10256         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10257         (init_popt_callback):
10258         Remove cpu-opt flag.
10259
10260 2005-05-30  Wim Taymans  <wim@fluendo.com>
10261
10262         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10263         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10264         * gst/gstbuffer.h:
10265         Avoid typechecking in places where not needed.
10266         Added accessor for malloc_data.
10267
10268 2005-05-30  Wim Taymans  <wim@fluendo.com>
10269
10270         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10271         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10272         (gst_pad_configure_sink), (gst_pad_configure_src),
10273         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10274         (gst_pad_start_task):
10275         Propagate errors from _set_caps() in configure_src/sink
10276         functions instead of returning TRUE.
10277         FLUSH events can travel up and downstream
10278
10279
10280 2005-05-30  Wim Taymans  <wim@fluendo.com>
10281
10282         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10283         (gst_basesink_activate):
10284         Handle EOS in preroll.
10285
10286 2005-05-30  Wim Taymans  <wim@fluendo.com>
10287
10288         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10289         (gst_queue_loop), (gst_queue_handle_src_event):
10290         Remove old pieces of code
10291         Flushing the queue in an upstream event is a very bad idea.
10292
10293 2005-05-26  Andy Wingo  <wingo@pobox.com>
10294
10295         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10296         gst_value_set_mini_object so as to add a ref on the object (which
10297         will be removed when the value is unset).
10298
10299         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10300         arg type in ::handoff.
10301
10302         * gst/gstelement.c (gst_element_change_state): Also deactivate
10303         pads in READY->NULL, just in case the element didn't make it to
10304         PAUSED. Wingo tested, Wim approved.
10305
10306 2005-05-26  Wim Taymans  <wim@fluendo.com>
10307
10308         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10309         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10310         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10311         A flushing pad cannot be used to alloc_buffer from.
10312
10313 2005-05-26  Wim Taymans  <wim@fluendo.com>
10314
10315         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10316         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10317         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10318         (gst_bus_create_watch), (gst_bus_add_watch_full):
10319         * gst/gstbus.h:
10320         Implement a real GSource and use g_main_context_wakeup() to
10321         signal new messages instead of the socketpair.
10322
10323 2005-05-25  Wim Taymans  <wim@fluendo.com>
10324
10325         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10326         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10327         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10328         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10329         (gst_pad_send_event), (gst_pad_start_task):
10330         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10331         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10332         (gst_queue_sink_activate), (gst_queue_src_activate),
10333         (gst_queue_change_state):
10334         * gst/gstqueue.h:
10335         Fix state changes for non sinks. We now change sinks, then elements
10336         with unconnected srcpads, then the rest.
10337         More efficient queue unlocking in flush and state changes.
10338         Set the pad activate mode even if it does not have an activate
10339         function.
10340
10341 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10342
10343         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10344           Don't go in pull mode for non-seekable sources.
10345         * gst/elements/gsttypefindelement.h:
10346         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10347         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10348         (free_entry), (stop_typefinding),
10349         (gst_type_find_element_handle_event), (find_peek),
10350         (gst_type_find_element_chain), (do_pull_typefind),
10351         (gst_type_find_element_change_state):
10352           Allow typefinding (w/o seeking) in push-mode, simplified version
10353           of what was in 0.8.
10354         * gst/gstutils.c: (gst_buffer_join):
10355         * gst/gstutils.h:
10356           gst_buffer_join() from 0.8.
10357
10358 2005-05-25  Wim Taymans  <wim@fluendo.com>
10359
10360         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10361         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10362         (gst_pad_send_event), (gst_pad_start_task):
10363         Disable attempt at mode switching until it is figured out.
10364
10365 2005-05-25  Wim Taymans  <wim@fluendo.com>
10366
10367         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10368         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10369         (gst_basesink_finish_preroll), (gst_basesink_chain),
10370         (gst_basesink_loop), (gst_basesink_activate),
10371         (gst_basesink_change_state):
10372         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10373         (gst_basesrc_get_range), (gst_basesrc_loop),
10374         (gst_basesrc_activate):
10375         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10376         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10377         (gst_real_pad_init), (gst_real_pad_set_property),
10378         (gst_real_pad_get_property), (gst_pad_set_active),
10379         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10380         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10381         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10382         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10383         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10384         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10385         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10386         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10387         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10388         (gst_pad_stop_task):
10389         * gst/gstpad.h:
10390         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10391         (gst_queue_loop), (gst_queue_src_activate):
10392         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10393         (gst_task_get_state):
10394         * gst/gsttask.h:
10395         * gst/schedulers/threadscheduler.c:
10396         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10397         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10398         in task function.
10399         Remove ACTIVE pad flag, use FLUSHING everywhere
10400         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10401         functions.
10402         Add locks around IS_FLUSHING when reading.
10403         Take STREAM lock in chain(), get_range() functions so plugins
10404         don't need to take it anymore.
10405         
10406
10407
10408 2005-05-25  Wim Taymans  <wim@fluendo.com>
10409
10410         * tools/gst-launch.c: (event_loop):
10411         Unref message after using its contents instead of
10412         before.
10413
10414 2005-05-24  Wim Taymans  <wim@fluendo.com>
10415
10416         * docs/design/draft-ghostpads.txt:
10417         * docs/design/draft-push-pull.txt:
10418         * docs/design/draft-query.txt:
10419         * docs/design/part-overview.txt:
10420         Docs updates, added general overview doc.
10421
10422 2005-05-21  David Schleef  <ds@schleef.org>
10423
10424         * docs/gst/tmpl/old/GstBin.sgml:
10425         * docs/gst/tmpl/old/GstBuffer.sgml:
10426         * docs/gst/tmpl/old/GstCaps.sgml:
10427         * docs/gst/tmpl/old/GstClock.sgml:
10428         * docs/gst/tmpl/old/GstCompat.sgml:
10429         * docs/gst/tmpl/old/GstData.sgml:
10430         * docs/gst/tmpl/old/GstElement.sgml:
10431         * docs/gst/tmpl/old/GstEvent.sgml:
10432         * docs/gst/tmpl/old/GstIndex.sgml:
10433         * docs/gst/tmpl/old/GstStructure.sgml:
10434         * docs/gst/tmpl/old/GstTag.sgml:
10435         * docs/gst/tmpl/old/cothreads.sgml:
10436         * docs/gst/tmpl/old/cothreads_compat.sgml:
10437         * docs/gst/tmpl/old/gettext.sgml:
10438         * docs/gst/tmpl/old/gobject2gtk.sgml:
10439         * docs/gst/tmpl/old/grammar.tab.sgml:
10440         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10441         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10442         * docs/gst/tmpl/old/gst_private.sgml:
10443         * docs/gst/tmpl/old/gstaggregator.sgml:
10444         * docs/gst/tmpl/old/gstarch.sgml:
10445         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10446         * docs/gst/tmpl/old/gstbufferstore.sgml:
10447         * docs/gst/tmpl/old/gstdata_private.sgml:
10448         * docs/gst/tmpl/old/gstdisksink.sgml:
10449         * docs/gst/tmpl/old/gstdisksrc.sgml:
10450         * docs/gst/tmpl/old/gstelementfactory.sgml:
10451         * docs/gst/tmpl/old/gstextratypes.sgml:
10452         * docs/gst/tmpl/old/gstfakesink.sgml:
10453         * docs/gst/tmpl/old/gstfakesrc.sgml:
10454         * docs/gst/tmpl/old/gstfdsink.sgml:
10455         * docs/gst/tmpl/old/gstfdsrc.sgml:
10456         * docs/gst/tmpl/old/gstfilesink.sgml:
10457         * docs/gst/tmpl/old/gstfilesrc.sgml:
10458         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10459         * docs/gst/tmpl/old/gstidentity.sgml:
10460         * docs/gst/tmpl/old/gstindexfactory.sgml:
10461         * docs/gst/tmpl/old/gstmarshal.sgml:
10462         * docs/gst/tmpl/old/gstmd5sink.sgml:
10463         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10464         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10465         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10466         * docs/gst/tmpl/old/gstpipefilter.sgml:
10467         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10468         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10469         * docs/gst/tmpl/old/gstshaper.sgml:
10470         * docs/gst/tmpl/old/gstspider.sgml:
10471         * docs/gst/tmpl/old/gstspideridentity.sgml:
10472         * docs/gst/tmpl/old/gststatistics.sgml:
10473         * docs/gst/tmpl/old/gsttee.sgml:
10474         * docs/gst/tmpl/old/gsttimecache.sgml:
10475         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10476         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10477         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10478         * docs/gst/tmpl/old/types.sgml:
10479           I didn't intend to add these or check them in.
10480
10481 2005-05-19  David Schleef  <ds@schleef.org>
10482
10483         * configure.ac: Use -no-common everywhere.  In a sane world, it
10484           would be the default in libtool, because without it, you can't
10485           build DLLs on Windows.
10486         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10487         * docs/gst/gstreamer-sections.txt:
10488         * docs/gst/tmpl/gstcpu.sgml:
10489         * docs/gst/tmpl/gstdata.sgml:
10490         * docs/gst/tmpl/gstthread.sgml:
10491
10492 2005-05-19  David Schleef  <ds@schleef.org>
10493
10494         * gst/gstminiobject.c: (gst_value_set_mini_object),
10495         (gst_value_take_mini_object), (gst_value_get_mini_object):
10496         * gst/gstminiobject.h: Add GValue set/get functions.
10497
10498 2005-05-19  Wim Taymans  <wim@fluendo.com>
10499
10500         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10501         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10502         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10503         * gst/gstbuffer.h:
10504         * gst/gstbus.c: (gst_bus_post):
10505         * gst/gstelement.c: (gst_element_get_random_pad):
10506         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10507         Make subbufer unref the parent in finalize.
10508         some more debugging info.
10509
10510
10511 2005-05-19  Wim Taymans  <wim@fluendo.com>
10512
10513         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10514         (gst_basesink_init), (gst_basesink_finalize),
10515         (gst_basesink_activate), (gst_basesink_change_state):
10516         Don't free preroll queue too early.
10517
10518 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10519
10520         * gst/Makefile.am:
10521         * gst/ROADMAP:
10522           Hi, I'm outdated. Please shoot me.
10523
10524 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10525
10526         * gst/gstpipeline.c: (gst_pipeline_send_event):
10527           Do not access variables after they have been deleted.
10528
10529 2005-05-19  Wim Taymans  <wim@fluendo.com>
10530
10531         * tools/gst-inspect.c: (print_plugin_features):
10532         A plugin feature does unfortunatly not use the
10533         object name yet...
10534
10535 2005-05-18  Wim Taymans  <wim@fluendo.com>
10536
10537         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10538         Port _span() functions to new subbuffers.
10539
10540 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10541
10542         * gst/gstbin.c: (gst_bin_add_func):
10543           Fix clock settery in bins when adding kids after the clock has
10544           been selected.
10545
10546 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10547
10548         * gst/elements/gstidentity.c: (gst_identity_class_init):
10549           Workaround until signals support GstMiniObject.
10550
10551 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10552
10553         * gst/gstbuffer.c:
10554         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10555
10556 2005-05-18  Wim Taymans  <wim@fluendo.com>
10557
10558         * gst/base/Makefile.am:
10559         * gst/base/gstadapter.c: (gst_adapter_base_init),
10560         (gst_adapter_class_init), (gst_adapter_init),
10561         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10562         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10563         (gst_adapter_flush), (gst_adapter_available),
10564         (gst_adapter_available_fast):
10565         * gst/base/gstadapter.h:
10566         Ported and added adapter to the base classes.
10567
10568 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10569
10570         * gst/gst.c:
10571         * gst/gstmessage.c:
10572           Make sure the class is reffed/unreffed once before threads can be
10573           used.  Fixes #304551.
10574
10575 2005-05-17  Wim Taymans  <wim@fluendo.com>
10576
10577         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10578         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10579         * gst/gstminiobject.c: (gst_mini_object_get_type),
10580         (gst_mini_object_free):
10581         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10582         (gst_pad_push), (gst_pad_push_event):
10583         * gst/gstqueue.c: (gst_queue_change_state):
10584         Don't queue buffers in basesink when we are flushing.
10585         Unref buffer when flushing in basesink.
10586         Flush queue when going to READY
10587         Unref buffer when _push() returns an error.
10588         Don't free MiniObject instance when refcount is incremented
10589         in _finalize() so that we can recover objects.
10590
10591 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10592
10593         * docs/manual/advanced-schedulers.xml:
10594         * docs/manual/appendix-checklist.xml:
10595         * docs/pwg/advanced-clock.xml:
10596         * docs/pwg/advanced-interfaces.xml:
10597         * docs/pwg/advanced-request.xml:
10598         * docs/pwg/advanced-types.xml:
10599         * docs/pwg/intro-preface.xml:
10600         * examples/plugins/example.c: (gst_example_get_type),
10601         (gst_example_class_init), (gst_example_chain),
10602         (gst_example_set_property), (gst_example_get_property),
10603         (gst_example_change_state), (plugin_init):
10604         * examples/plugins/example.h:
10605           small doc fixes
10606
10607 2005-05-17  Wim Taymans  <wim@fluendo.com>
10608
10609         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10610         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10611         * gst/gstqueue.c: (gst_queue_change_state):
10612         Clear queue when going to READY.
10613         Remove IN_SETCAPS flag too.
10614
10615 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10616
10617         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10618           Remove implicit cast from gboolean to GstElementStateReturn;
10619           make sure we still return failure in paused => ready case if
10620           the parent class fails to change state and our own stop 
10621           vfunc succeeds.
10622
10623 2005-05-17  Wim Taymans  <wim@fluendo.com>
10624
10625         * tools/gst-launch.c: (event_loop):
10626         Message was unreffed too soon.
10627
10628 2005-05-16  Andy Wingo  <wingo@pobox.com>
10629
10630         * gst/gstbin.c (sink_iterator_filter): Err... um...
10631
10632         * check/gst/gstbin.c (test_ghost_pads): New test for the
10633         ghosting-if-elements-not-in-same-bin behavior.
10634
10635 2005-05-16  David Schleef  <ds@schleef.org>
10636
10637         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10638         accessing refcount directly.
10639
10640 2005-05-15  David Schleef  <ds@schleef.org>
10641
10642         * check/Makefile.am: remove GstData checks
10643         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10644         * gst/Makefile.am: add miniobject, remove data
10645         * gst/gst.h: add miniobject, remove data
10646         * gst/gstdata.c: remove
10647         * gst/gstdata.h: remove
10648         * gst/gstdata_private.h: remove
10649         * gst/gsttypes.h: remove GstEvent and GstMessage
10650         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10651         * gst/gstmarshal.list: change BOXED -> OBJECT
10652
10653         Implement GstMiniObject.
10654         * gst/gstminiobject.c:
10655         * gst/gstminiobject.h:
10656
10657         Modify to be subclasses of GstMiniObject.
10658         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10659         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10660         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10661         (gst_subbuffer_get_type), (gst_subbuffer_init),
10662         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10663         (gst_buffer_span):
10664         * gst/gstbuffer.h:
10665         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10666         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10667         (_gst_event_copy), (gst_event_new):
10668         * gst/gstevent.h:
10669         * gst/gstmessage.c: (_gst_message_initialize),
10670         (gst_message_get_type), (gst_message_class_init),
10671         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10672         (gst_message_new), (gst_message_new_error),
10673         (gst_message_new_warning), (gst_message_new_tag),
10674         (gst_message_new_state_changed), (gst_message_new_application):
10675         * gst/gstmessage.h:
10676         * gst/gstprobe.c: (gst_probe_perform),
10677         (gst_probe_dispatcher_dispatch):
10678         * gst/gstprobe.h:
10679         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10680         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10681         (_gst_query_copy), (gst_query_new):
10682
10683         Update elements for GstData -> GstMiniObject changes
10684         * gst/gstquery.h:
10685         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10686         (gst_queue_chain), (gst_queue_loop):
10687         * gst/elements/gstbufferstore.c:
10688         (gst_buffer_store_add_buffer_func),
10689         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10690         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10691         (gst_fakesink_render):
10692         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10693         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10694         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10695         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10696         (gst_filesrc_create_read):
10697         * gst/elements/gstidentity.c: (gst_identity_class_init):
10698         * gst/elements/gsttypefindelement.c:
10699         (gst_type_find_element_src_event), (free_entry_buffers),
10700         (gst_type_find_element_handle_event):
10701         * libs/gst/dataprotocol/dataprotocol.c:
10702         (gst_dp_header_from_buffer):
10703         * libs/gst/dataprotocol/dataprotocol.h:
10704         * libs/gst/dataprotocol/dp-private.h:
10705
10706 2005-05-15  David Schleef  <ds@schleef.org>
10707
10708         * gst/elements/gstelements.c: Don't include headers that were
10709         just removed.
10710
10711 2005-05-15  David Schleef  <ds@schleef.org>
10712
10713         * gst/elements/Makefile.am: Remove some elements that don't
10714         need to be in the core (or even exist at all).
10715         * gst/elements/gstaggregator.c:
10716         * gst/elements/gstaggregator.h:
10717         * gst/elements/gstmd5sink.c:
10718         * gst/elements/gstmd5sink.h:
10719         * gst/elements/gstmultifilesrc.c:
10720         * gst/elements/gstmultifilesrc.h:
10721         * gst/elements/gstpipefilter.c:
10722         * gst/elements/gstpipefilter.h:
10723         * gst/elements/gstshaper.c:
10724         * gst/elements/gstshaper.h:
10725         * gst/elements/gststatistics.c:
10726         * gst/elements/gststatistics.h:
10727         * po/POTFILES.in: Remove above files.
10728
10729 2005-05-14  Andy Wingo  <wingo@pobox.com>
10730
10731         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10732         so as to get the refs right.
10733         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10734         unreffing objects that don't pass the filter.
10735
10736         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10737         gst_element_set_bus.
10738         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10739         normal cases, this will destroy the bus.
10740
10741         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10742         object.
10743
10744         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10745         has no sinks.
10746
10747 2005-05-13  Andy Wingo  <wingo@pobox.com>
10748
10749         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10750         gst_pad_link, call pad_link_maybe_ghosting,
10751         (pad_link_maybe_ghosting): Links pads, making sure that the
10752         elements being linked are in the same bin.
10753         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10754         Helpers for pad_link_maybe_ghosting.
10755
10756 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10757
10758         * configure.ac:
10759           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10760
10761 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10762
10763         * docs/design/part-element-source.txt:
10764           Mention GstPushSrc
10765
10766 2005-05-12  Wim Taymans  <wim@fluendo.com>
10767
10768         * gst/base/gstbasesink.c: (gst_basesink_init),
10769         (gst_basesink_activate):
10770         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10771         (gst_basesrc_is_seekable):
10772         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10773         (bin_element_is_sink), (gst_bin_change_state):
10774         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10775         * gst/gstelement.h:
10776         Identify sinks by their flag to avoid overly complicated
10777         checks (fow now).
10778         Do state changes even for elements not reachable from the
10779         sinks.
10780         BaseSink is a sink now :)
10781         Some more debugging info in the basesrc.
10782
10783
10784 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10785
10786         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10787           Implement _query on a bin, similar to _send_event.
10788
10789 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10790
10791         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10792           Discont event offset format should be GST_FORMAT_BYTES,
10793           not GST_FORMAT_TIME.
10794
10795 2005-05-12  Wim Taymans  <wim@fluendo.com>
10796
10797         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10798         Same fix as Ronald's but without the signal. 
10799
10800 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10801
10802         * gst/gstutils.c: (gst_element_query_position):
10803           No, an element is not a pad.
10804
10805 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10806
10807         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10808         (gst_bin_get_state):
10809           If a child is removed from a bin while we remove the child from
10810           the bin and while we're retrieving its state, signal this to the
10811           get_state function so we abort the wait (instead of waiting for
10812           a timeout) and can immediately re-iterate over all other elements.
10813
10814 2005-05-12  Wim Taymans  <wim@fluendo.com>
10815
10816         * gst/base/Makefile.am:
10817         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10818         (gst_basesrc_start):
10819         * gst/base/gstbasesrc.h:
10820         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10821         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10822         (gst_pushsrc_init), (gst_pushsrc_create):
10823         * gst/base/gstpushsrc.h:
10824         Added is_seekable to BaseSrc
10825         Added simple PushSrc.
10826
10827 2005-05-11  Wim Taymans  <wim@fluendo.com>
10828
10829         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10830         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10831         (gst_element_link_pads), (gst_element_query_position),
10832         (gst_element_query_convert), (intersect_caps_func),
10833         (gst_pad_query_position), (gst_pad_query_convert):
10834         Fix refcounting in utils function.
10835         No point in trying to activate a pad when it's added, it could
10836         be added from the state change function and then we deadlock, the
10837         element has to decide what to do.
10838
10839 2005-05-10  Andy Wingo  <wingo@pobox.com>
10840
10841         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10842         *all* the arguments.
10843
10844         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10845         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10846         lock (according to the docs -- if this is wrong change the docs).
10847
10848         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10849         flush messages in the NULL state.
10850
10851         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10852         message immediately and return.
10853         (gst_bus_set_flushing): New function. If a bus is flushing, it
10854         flushes out any queued messages and immediately unrefs new
10855         messages. This is so when an element goes to NULL, all of the
10856         unhandled messages coming from it can be freed, and their
10857         references to the element dropped. In other words: message source
10858         ref considered harmful :P
10859
10860         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10861         we're finished with it.
10862
10863         * gst/gstmessage.c (gst_message_new_state_changed): 
10864
10865 2005-05-10  Wim Taymans  <wim@fluendo.com>
10866
10867         * gst/gstvalue.c: (gst_value_compare_flags),
10868         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10869         (_gst_value_initialize):
10870         Added flags serialize/deserialize/compare code.
10871
10872 2005-05-09  Andy Wingo  <wingo@pobox.com>
10873
10874         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10875         Intersect the peer's caps with our caps.
10876
10877 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10878
10879         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10880         * gst/elements/gsttypefindelement.c: (find_peek):
10881           Handle negative offsets better. Fixes decodebin.
10882
10883 2005-05-09  Wim Taymans  <wim@fluendo.com>
10884
10885         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10886         (gst_base_transform_event):
10887         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10888         Implement accept_caps.
10889         Fix silly lock/unlock mismatch in base class.
10890
10891 2005-05-09  Wim Taymans  <wim@fluendo.com>
10892
10893         * docs/design/draft-push-pull.txt:
10894         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10895         * gst/elements/gstfilesink.c: (gst_filesink_init),
10896         (gst_filesink_query):
10897         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10898         (gst_type_find_handle_src_query), (find_element_get_length):
10899         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10900         * gst/gstelement.h:
10901         * gst/gstmessage.c:
10902         * gst/gstmessage.h:
10903         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10904         (gst_real_pad_get_caps_unlocked),
10905         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10906         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10907         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10908         (gst_real_pad_dispose), (gst_real_pad_finalize),
10909         (gst_pad_load_and_link), (gst_pad_save_thyself),
10910         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10911         (gst_pad_check_pull_range), (gst_pad_pull_range),
10912         (gst_pad_template_get_type), (gst_pad_template_class_init),
10913         (gst_pad_template_init), (gst_pad_template_dispose),
10914         (name_is_valid), (gst_static_pad_template_get),
10915         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10916         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10917         (gst_pad_get_element_private), (gst_pad_start_task),
10918         (gst_pad_pause_task), (gst_pad_stop_task),
10919         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10920         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10921         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10922         (gst_ghost_pad_new):
10923         * gst/gstpad.h:
10924         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10925         (gst_query_new_position), (gst_query_set_position),
10926         (gst_query_parse_position), (gst_query_new_convert),
10927         (gst_query_set_convert), (gst_query_parse_convert):
10928         * gst/gstquery.h:
10929         * gst/gstqueryutils.c:
10930         * gst/gstqueryutils.h:
10931         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10932         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10933         (gst_queue_handle_src_query):
10934         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10935         (gst_element_query_position), (gst_element_query_convert),
10936         (intersect_caps_func), (gst_pad_query_position),
10937         (gst_pad_query_convert):
10938         * gst/gstutils.h:
10939         * tools/gst-inspect.c: (print_pad_info):
10940         * tools/gst-xmlinspect.c: (print_element_info):
10941         Remove old query functions. Ported old code.
10942         Added position/convert helper functions to gstutils.
10943         Reordered gstpad.c code, grouping relevant things.
10944         Remove gst_message_new(), always need to speficy a specific
10945         message.
10946
10947
10948 2005-05-09  Andy Wingo  <wingo@pobox.com>
10949
10950         * gst/gstiterator.h: Add some includes.
10951
10952         * gst/gstqueryutils.h: Include more headers.
10953
10954         * gst/gstpad.h:
10955         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10956         some uses of gst_pad_query.
10957
10958         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10959         NULL out parameters.
10960         (gst_query_new_position): New proc, allocates a new position
10961         query.
10962
10963         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10964         gstqueryutils.c to the build.
10965
10966         * gst/gststructure.c (gst_structure_set_valist): Implement with
10967         the generic G_VALUE_COLLECT.
10968         
10969 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10970
10971         * gst/Makefile.am: (gst_headers):
10972         Added gstqueryutils.h to the list of headers to install, that was
10973         a 'nachty' move wingo :)
10974
10975 2005-05-06  Andy Wingo  <wingo@pobox.com>
10976
10977         * gst/gstquery.h
10978         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10979         GstData, init a memchunk.
10980         (standard_definitions): Add a few query types, deprecate a few.
10981         (gst_query_get_type): New proc.
10982         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10983         implementation.
10984         (gst_query_new_application, gst_query_get_structure): New public
10985         procs.
10986
10987         * docs/design/draft-query.txt: Removed LINKS from the query types,
10988         because all the rest can be dispatched to other pads -- seemed
10989         ugly to have a query that couldn't be dispatched. internal_links
10990         is fine as a pad method.
10991
10992         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10993         in gstpad.c, but maintain binary compatibility for the moment.
10994         Will fix before 0.9 is out.
10995
10996         * gst/gstqueryutils.c: 
10997         * gst/gstqueryutils.h: New files, implement 3 methods for each
10998         query type: parse_query, parse_response, and set. Probably need an
10999         allocator as well.
11000
11001         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11002
11003         * gst/elements/gstfilesink.c (gst_filesink_query2):
11004         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11005         query_types, and formats methods.
11006
11007         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11008         (gst_pad_set_query2_function): New functions.
11009         (gst_real_pad_init): Set query2_default as the default query2
11010         function. Basically just dispatches to internally linked pads.
11011
11012         Needs review!
11013         
11014         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11015         without using the atomic operations. Only one thread can possibly
11016         be accessing the data at this point. Changed so as to avoid
11017         gst_atomic operations.
11018
11019 2005-05-06  Wim Taymans  <wim@fluendo.com>
11020
11021         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11022         Also set caps if we use the fallback buffer alloc.
11023
11024 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11025
11026         * docs/gst/Makefile.am:
11027         * docs/gst/gstreamer-docs.sgml:
11028         * docs/gst/gstreamer-sections.txt:
11029         * docs/gst/tmpl/gstatomic.sgml:
11030         * docs/gst/tmpl/gstmemchunk.sgml:
11031         * testsuite/elements/struct_i386.h:
11032         * win32/GStreamer.vcproj:
11033         * win32/Makefile:
11034           Purge GstAtomic stuff from docs and win32 makefiles as well
11035
11036 2005-05-06  Wim Taymans  <wim@fluendo.com>
11037
11038         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11039         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11040         * gst/gstpad.c: (gst_pad_peer_get_caps):
11041         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11042         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11043         (gst_queue_src_activate), (gst_queue_change_state):
11044         * gst/gstqueue.h:
11045         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11046         (intersect_caps_func):
11047         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11048         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11049         Some fixes for the peer_get_caps() change.
11050
11051 2005-05-06  Wim Taymans  <wim@fluendo.com>
11052
11053         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11054         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11055         (gst_basesink_activate):
11056         Actually do something with error codes returned from the push
11057         functions.
11058
11059 2005-05-06  Wim Taymans  <wim@fluendo.com>
11060
11061         * docs/design/part-element-sink.txt:
11062         * docs/design/part-element-source.txt:
11063         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11064         (gst_basesink_event), (gst_basesink_activate):
11065         * gst/base/gstbasesink.h:
11066         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11067         (gst_basesrc_activate):
11068         * gst/base/gstbasesrc.h:
11069         * gst/gstelement.c: (gst_element_pads_activate):
11070         Some more documentation.
11071         Fixed scheduling decision in _pads_activate().
11072
11073 2005-05-05  Andy Wingo  <wingo@pobox.com>
11074
11075         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11076         the test suite.
11077
11078 2005-05-05  Wim Taymans  <wim@fluendo.com>
11079
11080         * gst/base/Makefile.am:
11081         * gst/base/gstbasesink.h:
11082         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11083         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11084         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11085         (gst_collectpads_class_init), (gst_collectpads_init),
11086         (gst_collectpads_finalize), (gst_collectpads_new),
11087         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11088         (find_pad), (gst_collectpads_remove_pad),
11089         (gst_collectpads_is_active), (gst_collectpads_collect),
11090         (gst_collectpads_collect_range), (gst_collectpads_start),
11091         (gst_collectpads_stop), (gst_collectpads_peek),
11092         (gst_collectpads_pop), (gst_collectpads_available),
11093         (gst_collectpads_read), (gst_collectpads_flush),
11094         (gst_collectpads_chain):
11095         * gst/base/gstcollectpads.h:
11096         * gst/elements/Makefile.am:
11097         * gst/elements/gstelements.c:
11098         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11099         (gst_fakesink_get_times), (gst_fakesink_event),
11100         (gst_fakesink_preroll), (gst_fakesink_render):
11101         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11102         (gst_filesink_init), (gst_filesink_set_location),
11103         (gst_filesink_open_file), (gst_filesink_close_file),
11104         (gst_filesink_pad_query), (gst_filesink_event),
11105         (gst_filesink_render), (gst_filesink_change_state):
11106         * gst/elements/gstfilesink.h:
11107         Added object to help in making collect pad based elements.
11108         Ported filesink.
11109         Make event function in sink baseclass return gboolean.
11110
11111 2005-05-05  Wim Taymans  <wim@fluendo.com>
11112
11113         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11114         (gst_bin_get_by_name):
11115         * gst/gstbuffer.h:
11116         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11117         (gst_clock_finalize):
11118         * gst/gstdata.c: (gst_data_replace):
11119         * gst/gstdata.h:
11120         * gst/gstelement.c: (gst_element_request_pad),
11121         (gst_element_pads_activate):
11122         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11123         (gst_object_unref):
11124         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11125         (gst_pad_set_checkgetrange_function),
11126         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11127         (gst_pad_check_pull_range), (gst_pad_pull_range),
11128         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11129         (gst_pad_pause_task), (gst_pad_stop_task):
11130         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11131         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11132         Fix name lookup in GstBin.
11133         Added _data_replace() function and _buffer_replace()
11134         Use finalize method to clean up clock.
11135         Fix refcounting on request pads.
11136         Fix pad schedule mode error.
11137         Some more object refcounting debug info,
11138
11139
11140 2005-05-04  Andy Wingo <wingo@pobox.com>
11141
11142         * check/Makefile.am:
11143         * docs/gst/tmpl/gstatomic.sgml:
11144         * docs/gst/tmpl/gstplugin.sgml:
11145         * gst/base/gstbasesink.c: (gst_basesink_activate):
11146         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11147         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11148         (gst_basesrc_query), (gst_basesrc_set_property),
11149         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11150         (gst_basesrc_activate):
11151         * gst/base/gstbasesrc.h:
11152         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11153         (gst_base_transform_src_activate):
11154         * gst/elements/gstelements.c:
11155         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11156         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11157         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11158         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11159         (gst_type_find_element_checkgetrange),
11160         (gst_type_find_element_activate):
11161         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11162         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11163         (gst_caps_load_thyself):
11164         * gst/gstelement.c: (gst_element_pads_activate),
11165         (gst_element_save_thyself), (gst_element_restore_thyself):
11166         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11167         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11168         * gst/gstpad.h:
11169         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11170         (gst_xml_parse_file), (gst_xml_parse_memory),
11171         (gst_xml_get_element), (gst_xml_make_element):
11172         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11173         (_file_index_id_save_xml), (gst_file_index_commit):
11174         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11175         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11176         (load_paths):
11177         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11178         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11179         * tools/gst-complete.c: (main):
11180         * tools/gst-compprep.c: (main):
11181         * tools/gst-inspect.c: (print_element_properties_info):
11182         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11183         * tools/gst-xmlinspect.c: (print_element_properties):
11184         GCC 4 fixen.
11185         
11186 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11187
11188         * gst/gstplugin.c: (gst_plugin_check_module),
11189         (gst_plugin_check_file), (gst_plugin_load_file):
11190             apply patch from #172526 to make register work on MacOSX
11191
11192 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11193
11194         * docs/gst/tmpl/gstconfig.sgml:
11195         * gst/gstconfig.h.in:
11196           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11197         * testsuite/debug/printf_extension.c: (main):
11198           Do not use GST_PTR_FORMAT on pointers to types with
11199           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11200         * testsuite/elements/property.h:
11201           use correct printf format
11202
11203 2005-05-02  Wim Taymans  <wim@fluendo.com>
11204
11205         * docs/design/draft-push-pull.txt:
11206         * docs/design/draft-query.txt:
11207         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11208         (gst_basesrc_start):
11209         Added draft for new query API.
11210         Added draft for better selecting scheduling methods.
11211         Make basesrc ignore length if the subclass does not support
11212         it.
11213
11214 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11215
11216         * gst/Makefile.am:
11217           possible fixes for automake-1.5 - _LIBADD is reserved
11218
11219 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11220
11221         * docs/faq/Makefile.am:
11222         * docs/manual/Makefile.am:
11223         * docs/manuals.mak:
11224         * docs/pwg/Makefile.am:
11225         * gst/Makefile.am:
11226           possible fixes for automake-1.5
11227
11228 2005-04-28  Wim Taymans  <wim@fluendo.com>
11229
11230         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11231         (gst_basesink_pad_getcaps), (gst_basesink_init),
11232         (gst_basesink_do_sync):
11233         * gst/gstclock.c: (gst_clock_entry_new):
11234         * gst/gstevent.c: (gst_event_discont_get_value):
11235         * gst/gstpipeline.c: (pipeline_bus_handler),
11236         (gst_pipeline_change_state):
11237         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11238         Better debugging of clocking info.
11239         Allow NULL values when getting discont values.
11240
11241 2005-04-27  Wim Taymans  <wim@fluendo.com>
11242
11243         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11244         * check/gst/gstpad.c: (gst_pad_suite):
11245         Increase timeout for checks.
11246
11247 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11248
11249         * check/Makefile.am:
11250           fix the broken rule for cleanup.  Apparently this rule is
11251           only needed on FC2, so maybe this warrants further autotool
11252           inspection.
11253
11254 2005-04-26  Wim Taymans  <wim@fluendo.com>
11255
11256         * gst/gsttrashstack.h:
11257         Ooohh. a nasty one! After having a failed pop() from the stack,
11258         it's possible that the stack is empty. In that case, don't
11259         follow the NULL pointer.
11260
11261 2005-04-25  Wim Taymans  <wim@fluendo.com>
11262
11263         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11264         (gst_pad_set_checkgetrange_function),
11265         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11266         (gst_pad_check_pull_range), (gst_pad_pull_range),
11267         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11268         (gst_pad_pause_task), (gst_pad_stop_task):
11269         * gst/gstplugin.c: (gst_plugin_load):
11270         * gst/gstplugin.h:
11271         Remove gst_library_load as it does more harm than good with
11272         the new g_module flags.
11273         Revert bogus caps template check in pad linking, pad caps
11274         are important when linking not the template, which is more
11275         general than the current caps.
11276
11277 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11278
11279         * gst/autoplug/.cvsignore:
11280         * gst/autoplug/Makefile.am:
11281         * gst/autoplug/gstsearchfuncs.c:
11282         * gst/autoplug/gstsearchfuncs.h:
11283         * gst/autoplug/gstspider.c:
11284         * gst/autoplug/gstspider.h:
11285         * gst/autoplug/gstspideridentity.c:
11286         * gst/autoplug/gstspideridentity.h:
11287         * gst/autoplug/spidertest.c:
11288           Die, spider, die.
11289
11290 2005-04-25  Wim Taymans  <wim@fluendo.com>
11291
11292         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11293         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11294         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11295         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11296         * gst/gstpad.h:
11297         Added stubs for unimplemented functions. 
11298
11299 2005-04-24  David Schleef  <ds@schleef.org>
11300
11301         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11302         please fix.
11303
11304 2005-04-24  David Schleef  <ds@schleef.org>
11305
11306         Convert everything from GstAtomicInt to g_atomic_int_*, and
11307         remove gstatomic.
11308         * gst/Makefile.am:
11309         * gst/gstatomic.c:
11310         * gst/gstatomic.h:
11311         * gst/gstatomic_impl.h:
11312         * gst/gstbuffer.c:
11313         * gst/gstcaps.c:
11314         * gst/gstcaps.h:
11315         * gst/gstclock.c:
11316         * gst/gstclock.h:
11317         * gst/gstdata.c:
11318         * gst/gstdata.h:
11319         * gst/gstdata_private.h:
11320         * gst/gstevent.c:
11321         * gst/gstinfo.c:
11322         * gst/gstinfo.h:
11323         * gst/gstmessage.c:
11324         * gst/gstobject.c:
11325         * gst/gstobject.h:
11326         * gst/gststructure.c:
11327         * gst/gststructure.h:
11328         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11329         * gst/gstutils.h:
11330
11331 2005-04-24  David Schleef  <ds@schleef.org>
11332
11333         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11334         make the regressions tests work.  Remove some code that is no
11335         longer true.
11336         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11337         Disable warning for pads without templates.
11338
11339 2005-04-24  David Schleef  <ds@schleef.org>
11340
11341         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11342         functions that handle filtered links.
11343         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11344         removed functions.
11345         * gst/gstutils.c: Fix/remove utility functions that handle
11346         filtered caps.
11347         * gst/gstutils.h:
11348         * gst/gstvalue.c: Add serialization/deserialization of caps
11349         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11350         requires fixing so that the filter caps notation creates
11351         a capsfilter element and sets the filter_caps property.  I
11352         think everyone probably wants to keep the shorthand notation.
11353         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11354         * docs/gst/tmpl/gstpad.sgml:
11355
11356         * gst/elements/gstelements.c: Register capsfilter element.
11357         * gst/Makefile.am: fix spacing
11358         * docs/random/ds/0.9-suggested-changes: random
11359
11360 2005-04-23  David Schleef  <ds@schleef.org>
11361
11362         * gst/elements/Makefile.am:
11363         * gst/elements/gstcapsfilter.c: New element that acts like an
11364         identity, but filters caps.  Will eventually replace filtered
11365         caps in pad linking.
11366         * gst/gstutils.c: (gst_element_create_all_pads): New function
11367         to create all the ALWAYS pads that are registered with an
11368         element class.  This functionality should eventually be
11369         merged in with GstElement initialization.
11370         * gst/gstutils.h:
11371         * testsuite/trigger/README: part of trigger test code that should
11372         have been checked in a long time ago.
11373
11374 2005-04-23  David Schleef  <ds@schleef.org>
11375
11376         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11377         needed with new versions of libtool (nobody will confirm this),
11378         and hard to carry around.
11379         * gst/autoplug/Makefile.am:
11380         * gst/base/Makefile.am:
11381         * gst/elements/Makefile.am:
11382         * gst/indexers/Makefile.am:
11383         * gst/schedulers/Makefile.am:
11384         * libs/gst/bytestream/Makefile.am:
11385         * libs/gst/control/Makefile.am:
11386         * libs/gst/dataprotocol/Makefile.am:
11387         * libs/gst/getbits/Makefile.am:
11388
11389 2005-04-21  Wim Taymans  <wim@fluendo.com>
11390
11391         * docs/design/draft-push-pull.txt:
11392         * docs/design/part-MT-refcounting.txt:
11393         * docs/design/part-TODO.txt:
11394         * docs/design/part-caps.txt:
11395         * docs/design/part-events.txt:
11396         * docs/design/part-gstbus.txt:
11397         * docs/design/part-gstpipeline.txt:
11398         * docs/design/part-messages.txt:
11399         * docs/design/part-push-pull.txt:
11400         * docs/design/part-query.txt:
11401         Some more docs.
11402
11403 2005-04-21  Wim Taymans  <wim@fluendo.com>
11404
11405         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11406         (gst_message_new), (gst_message_new_error),
11407         (gst_message_new_warning), (gst_message_new_tag),
11408         (gst_message_new_state_changed), (gst_message_new_application),
11409         (gst_message_get_structure):
11410         * gst/gstmessage.h:
11411         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11412         (gst_structure_copy_conditional):
11413         Use parent refcount in GstMessage to ensure GstStructure
11414         consistency.
11415         Cleaned up headers a bit.
11416         
11417
11418 2005-04-20  Wim Taymans  <wim@fluendo.com>
11419
11420         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11421         (gst_basesink_pad_getcaps), (gst_basesink_init),
11422         (gst_basesink_chain_unlocked):
11423         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11424         (gst_type_find_helper):
11425         * gst/elements/gsttypefindelement.c:
11426         (gst_type_find_element_have_type), (gst_type_find_element_init),
11427         (stop_typefinding), (gst_type_find_element_handle_event),
11428         (find_suggest), (gst_type_find_element_chain),
11429         (gst_type_find_element_checkgetrange),
11430         (gst_type_find_element_getrange), (do_typefind),
11431         (gst_type_find_element_activate):
11432         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11433         (gst_buffer_default_free), (gst_buffer_default_copy),
11434         (gst_buffer_set_caps):
11435         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11436         (gst_caps_replace):
11437         * gst/gstmessage.c: (gst_message_new),
11438         (gst_message_new_state_changed):
11439         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11440         (gst_pad_set_checkgetrange_function),
11441         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11442         (gst_pad_set_caps), (gst_pad_check_pull_range),
11443         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11444         * gst/gstpad.h:
11445         * gst/gsttypefind.c: (gst_type_find_register):
11446         Make gst_caps_replace() work like other _replace() functions.
11447         Use _caps_replace() where possible.
11448         Make sure _message_new() initialises its field.
11449         Add gst_static_pad_template_get_caps()
11450
11451
11452 2005-04-18  Andy Wingo  <wingo@pobox.com>
11453
11454         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11455         on the peer, not the pad. I think that was a typo. Pass an extra
11456         arg to see if random access is possible. Activate the pads as
11457         PULL_RANGE if possible.
11458
11459         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11460
11461         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11462         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11463         to PROP_....
11464
11465 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11466
11467         * docs/faq/using.xml:
11468           Add note on gstreamer-properties (#154996).
11469
11470 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11471
11472         * docs/random/bbb/optional-properties:
11473           Some analysis on optional properties.
11474
11475 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11476
11477         * docs/gst/tmpl/gstelementfactory.sgml:
11478         * gst/gstelement.h:
11479         * gst/gstelementfactory.c: (gst_element_factory_init),
11480         (gst_element_factory_cleanup), (gst_element_register),
11481         (__gst_element_factory_add_static_pad_template),
11482         (gst_element_factory_get_static_pad_templates),
11483         (gst_element_factory_can_src_caps),
11484         (gst_element_factory_can_sink_caps):
11485         * gst/registries/Makefile.am:
11486         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11487         (gst_xml_registry_class_init), (gst_xml_registry_init),
11488         (gst_xml_registry_new), (gst_xml_registry_set_property),
11489         (gst_xml_registry_get_property), (get_time), (make_dir),
11490         (gst_xml_registry_get_perms_func),
11491         (plugin_times_older_than_recurse), (plugin_times_older_than),
11492         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11493         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11494         (add_to_char_array), (read_string), (read_uint), (read_enum),
11495         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11496         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11497         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11498         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11499         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11500         (gst_xml_registry_rebuild):
11501         * gst/registries/gstlibxmlregistry.h:
11502         * tools/gst-compprep.c: (main):
11503         * tools/gst-inspect.c: (print_pad_templates_info):
11504         * tools/gst-xmlinspect.c: (print_element_info):
11505           Use libxml2 for registry parsing, use staticpadtemplates in
11506           elementfactories. Makes gst_init() +/- 10x faster.
11507
11508 2005-04-12  Wim Taymans  <wim@fluendo.com>
11509
11510         * gst/base/Makefile.am:
11511         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11512         (gst_basesink_pad_getcaps), (gst_basesink_init),
11513         (gst_basesink_event), (gst_basesink_change_state):
11514         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11515         (gst_basesrc_init), (gst_basesrc_query),
11516         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11517         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11518         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11519         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11520         (gst_basesrc_stop), (gst_basesrc_activate),
11521         (gst_basesrc_change_state):
11522         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11523         (helper_find_suggest), (gst_type_find_helper):
11524         * gst/base/gsttypefindhelper.h:
11525         * gst/elements/Makefile.am:
11526         * gst/elements/gstelements.c:
11527         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11528         (gst_fakesink_get_times), (gst_fakesink_event),
11529         (gst_fakesink_preroll), (gst_fakesink_render):
11530         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11531         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11532         (gst_fakesrc_get_property), (gst_fakesrc_create),
11533         (gst_fakesrc_start), (gst_fakesrc_stop):
11534         * gst/elements/gstfakesrc.h:
11535         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11536         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11537         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11538         (gst_filesrc_create_read), (gst_filesrc_create),
11539         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11540         (gst_filesrc_start):
11541         * gst/elements/gsttypefindelement.c:
11542         (gst_type_find_element_have_type), (gst_type_find_element_init),
11543         (start_typefinding), (stop_typefinding), (push_buffer_store),
11544         (gst_type_find_element_handle_event),
11545         (gst_type_find_element_chain),
11546         (gst_type_find_element_checkgetrange),
11547         (gst_type_find_element_getrange), (do_typefind),
11548         (gst_type_find_element_activate),
11549         (gst_type_find_element_change_state):
11550         * gst/elements/gsttypefindelement.h:
11551         * gst/gstpipeline.c: (pipeline_bus_handler):
11552         Added typefind helper.
11553         Small preroll fix in the base sink.
11554         Disable typefind code in basesrc.
11555         Crude port of typefindelement.
11556         Fakesrc cleanups.
11557
11558
11559 2005-04-11  Wim Taymans  <wim@fluendo.com>
11560
11561         * check/gst/gstbus.c: (gstbus_suite):
11562         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11563         * check/gstcheck.h:
11564           Fix up the timeout so that the test does not fail.
11565
11566 2005-04-06  Wim Taymans  <wim@fluendo.com>
11567
11568         * gst/base/README:
11569         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11570         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11571         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11572         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11573         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11574         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11575         (gst_basesrc_stop), (gst_basesrc_activate),
11576         (gst_basesrc_change_state), (basesrc_find_peek),
11577         (basesrc_find_suggest), (gst_basesrc_type_find):
11578         * gst/base/gstbasesrc.h:
11579         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11580         (gst_filesrc_class_init), (gst_filesrc_init),
11581         (gst_filesrc_finalize), (gst_filesrc_set_location),
11582         (gst_filesrc_set_property), (gst_filesrc_get_property),
11583         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11584         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11585         (gst_filesrc_create_read), (gst_filesrc_create),
11586         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11587         * gst/elements/gstfilesrc.h:
11588         * gst/gstelement.c: (gst_element_get_state_func),
11589         (gst_element_lost_state), (gst_element_pads_activate):
11590         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11591         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11592         (gst_pad_pull_range):
11593         * gst/gstpad.h:
11594         More work on the generic source base class, implement seeking,
11595         query.
11596         Make filesrc extend the base source class.
11597         Added gst_pad_set_checkgetrange_function to GstPad.
11598
11599 2005-04-06  Andy Wingo  <wingo@pobox.com>
11600
11601         * pkgconfig/gstreamer-base.pc.in:
11602         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11603
11604         * pkgconfig/Makefile.am:
11605         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11606
11607 2005-04-04  Wim Taymans  <wim@fluendo.com>
11608
11609         * gst/base/Makefile.am:
11610         * gst/base/README:
11611         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11612         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11613         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11614         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11615         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11616         (gst_basesrc_base_init), (gst_basesrc_class_init),
11617         (gst_basesrc_init), (gst_basesrc_get_formats),
11618         (gst_basesrc_get_query_types), (gst_basesrc_query),
11619         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11620         (gst_basesrc_set_property), (gst_basesrc_get_property),
11621         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11622         (gst_basesrc_loop), (gst_basesrc_activate),
11623         (gst_basesrc_change_state):
11624         * gst/base/gstbasesrc.h:
11625         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11626         (gst_fakesrc_class_init), (gst_fakesrc_init),
11627         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11628         (gst_fakesrc_get_property), (gst_fakesrc_create):
11629         * gst/elements/gstfakesrc.h:
11630         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11631         (gst_filesrc_open_file), (gst_filesrc_loop),
11632         (gst_filesrc_activate), (filesrc_find_peek),
11633         (gst_filesrc_type_find):
11634         Made base source class, make fakesrc extend it.
11635         Add comments to basesink class.
11636         Some filesrc cleanup.
11637
11638 2005-03-31  David Schleef  <ds@schleef.org>
11639
11640         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11641         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11642         expected to link against libgstreamer.
11643         * gst/base/Makefile.am: link against libgstreamer
11644         * gst/elements/Makefile.am: same
11645
11646 2005-03-31  Andy Wingo  <wingo@pobox.com>
11647
11648         * tests/instantiate/Makefile.am:
11649         * tests/instantiate/caps.c: Add test to test speed of caps copy
11650         and free.
11651
11652         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11653         GMemChunk to be fair.
11654
11655         * gst/gsttrashstack.h: Remove warning about using the fallback
11656         trash stack implementation, it's still faster than malloc.
11657
11658 2005-03-30  Andy Wingo  <wingo@pobox.com>
11659
11660         * tests/complexity.c: Add a copyright.
11661
11662 2005-03-31  Wim Taymans  <wim@fluendo.com>
11663
11664         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11665         (gst_base_transform_class_init), (gst_base_transform_init),
11666         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11667         (gst_base_transform_get_property),
11668         (gst_base_transform_sink_activate),
11669         (gst_base_transform_src_activate),
11670         (gst_base_transform_change_state):
11671         * gst/base/gstbasetransform.h:
11672         * gst/elements/gstidentity.c: (gst_identity_class_init),
11673         (gst_identity_event), (gst_identity_check_perfect),
11674         (gst_identity_transform), (gst_identity_start),
11675         (gst_identity_stop):
11676         Added start/stop methods to transform base class so subclasses 
11677         don't need to deal with state changes even.
11678
11679 2005-03-31  Wim Taymans  <wim@fluendo.com>
11680
11681         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11682         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11683         * gst/gstevent.h:
11684         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11685         (gst_pad_pull_range):
11686         Added rate to the discont event to prepare for variable speed
11687         and reverse playback.
11688
11689 2005-03-29  David Schleef  <ds@schleef.org>
11690
11691         * configure.ac:
11692         * testsuite/trigger/Makefile.am:
11693         * testsuite/trigger/trigger.c: A little example program to show
11694         how trigger-based elements can work.
11695
11696 2005-03-29  Wim Taymans  <wim@fluendo.com>
11697
11698         * gst/base/Makefile.am:
11699         * gst/base/README:
11700         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11701         (gst_basesink_base_init), (gst_basesink_class_init),
11702         (gst_basesink_pad_getcaps), (gst_basesink_init),
11703         (gst_basesink_activate), (gst_basesink_change_state):
11704         * gst/base/gstbasesink.h:
11705         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11706         (gst_base_transform_base_init), (gst_base_transform_finalize),
11707         (gst_base_transform_class_init), (gst_base_transform_init),
11708         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11709         (gst_base_transform_event), (gst_base_transform_getrange),
11710         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11711         (gst_base_transform_set_property),
11712         (gst_base_transform_get_property),
11713         (gst_base_transform_sink_activate),
11714         (gst_base_transform_src_activate),
11715         (gst_base_transform_change_state):
11716         * gst/base/gstbasetransform.h:
11717         * gst/elements/gstidentity.c: (gst_identity_finalize),
11718         (gst_identity_class_init), (gst_identity_init),
11719         (gst_identity_event), (gst_identity_check_perfect),
11720         (gst_identity_transform), (gst_identity_set_property),
11721         (gst_identity_get_property), (gst_identity_change_state):
11722         * gst/elements/gstidentity.h:
11723         * gst/gstelement.c: (gst_element_get_state_func),
11724         (gst_element_lost_state), (gst_element_pads_activate):
11725         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11726         (gst_pad_check_pull_range), (gst_pad_pull_range):
11727         * gst/gstpad.h:
11728         Simplify pad activation.
11729         Added function to check if pull_range can be performed.
11730         Error out when pulling inactive or flushing pads.
11731         Removed const from refcounted types as it does not make sense.
11732         Simplify pad templates in basesink
11733         Added base class for simple 1-to-1 transforms.
11734         Make identity subclass the base transform.
11735
11736 2005-03-29  Andy Wingo  <wingo@pobox.com>
11737
11738         * docs/libs/gstreamer-libs-overrides.txt: 
11739         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11740         really don't understand what's going on, but like whatever. I want
11741         green buildbot!
11742
11743         * docs/gst/Makefile.am:
11744         * docs/libs/Makefile.am: Dist the overrides files.
11745
11746         * check/Makefile.am (clean-local): Remove .libs directories.
11747
11748         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11749         elements to EXTRA_DIST, so po/ files are happy.
11750
11751         * po/POTFILES.in: Er, remove it here.
11752
11753         * po/POTFILES: Remove gstspider.c.
11754
11755         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11756
11757         * docs/libs/gstreamer-libs-docs.sgml: 
11758         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11759         bytestream.
11760
11761         * tests/complexity.c (main): Set the length of the preroll queue
11762         on the sinks to prevent a lockup.
11763
11764         * libs/gst/dataprotocol/Makefile.am: 
11765         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11766         the same as the one in check/gst-libs/gdp.c.
11767
11768         * po/, docs/gst/: Commit automatic changes to docs and po files.
11769
11770         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11771         the versioned libgstbase.
11772
11773         * check/Makefile.am: Depend on an unversioned gst-register, seems
11774         to make autoconf happier.
11775
11776         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11777
11778 2005-03-28  Wim Taymans  <wim@fluendo.com>
11779
11780         * configure.ac:
11781         * docs/design/part-gstelement.txt:
11782         * docs/design/part-negotiation.txt:
11783         * docs/design/part-preroll.txt:
11784         * docs/design/part-scheduling.txt:
11785         * docs/design/part-states.txt:
11786         * gst/Makefile.am:
11787         * gst/base/Makefile.am:
11788         * gst/base/README:
11789         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11790         (gst_basesink_base_init), (gst_basesink_class_init),
11791         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11792         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11793         (gst_basesink_set_pad_functions),
11794         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11795         (gst_basesink_set_property), (gst_basesink_get_property),
11796         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11797         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11798         (gst_basesink_preroll_queue_push),
11799         (gst_basesink_preroll_queue_empty),
11800         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11801         (gst_basesink_event), (gst_basesink_get_times),
11802         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11803         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11804         (gst_basesink_loop), (gst_basesink_activate),
11805         (gst_basesink_change_state):
11806         * gst/base/gstbasesink.h:
11807         * gst/elements/Makefile.am:
11808         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11809         (gst_fakesink_class_init), (gst_fakesink_init),
11810         (gst_fakesink_set_property), (gst_fakesink_get_property),
11811         (gst_fakesink_get_times), (gst_fakesink_event),
11812         (gst_fakesink_preroll), (gst_fakesink_render),
11813         (gst_fakesink_change_state):
11814         * gst/elements/gstfakesink.h:
11815         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11816         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11817         * gst/gstelement.c: (gst_element_add_pad),
11818         (gst_element_get_state_func), (gst_element_abort_state),
11819         (gst_element_commit_state), (gst_element_lost_state),
11820         (gst_element_set_state), (gst_element_pads_activate):
11821         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11822         * gst/gstpipeline.c: (gst_pipeline_send_event),
11823         (gst_pipeline_change_state):
11824         Added state change code.
11825         Added/updated docs.
11826         Added sink base class, make fakesink extend the base class.
11827         Small cleanups in GstPipeline.
11828
11829 2005-03-26  David Schleef  <ds@schleef.org>
11830
11831         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11832         is broken and should be implemented in a different library.
11833         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11834         * gst/gst.h: remove gstcpu.h
11835         * gst/gstcpu.c: remove
11836         * gst/gstcpu.h: remove
11837         * gst/Makefile.am.future: Remove this file.  It's ancient.
11838
11839 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11840
11841         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11842         (gst_bin_send_event):
11843           Add default event/set_manager handlers. The set_manager handler
11844           takes care that the manager is distributed over kids that were
11845           already in the bin before the manager was set. The event handler
11846           is a utility virtual function that sends the event over all sinks,
11847           so that gst_element_send_event (bin, event); has the expected
11848           behaviour.
11849         * gst/gstpad.c: (gst_pad_event_default):
11850           Re-install default event handling for discontinuities, so that
11851           seeking works without requiring hacks in applications or extra
11852           code in sinks.
11853         * gst/gstpipeline.c: (gst_pipeline_class_init),
11854         (gst_pipeline_send_event):
11855           Half hack, half utility: set a pipeline to PAUSED for seek events,
11856           since that is the only way we can guarantee a/v sync. Means that
11857           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11858           and it "just works".
11859
11860 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11861
11862         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11863           Lock/unlock mismatch.
11864
11865 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11866
11867         * docs/faq/gst-uninstalled:
11868           add gst-plugins-base
11869         * docs/gst/Makefile.am:
11870           don't error out until docs are fixed
11871         * docs/gst/gstreamer.types:
11872           remove thread
11873
11874 2005-03-22  Wim Taymans  <wim@fluendo.com>
11875
11876         * check/Makefile.am:
11877         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11878         * gst/gststructure.c: (gst_structure_set_valist),
11879         (gst_structure_copy_conditional):
11880         Activated more tests.
11881         Added message test.
11882         Added G_TYPE_POINTER to GstStructure.
11883         
11884
11885 2005-03-22  Wim Taymans  <wim@fluendo.com>
11886
11887         * docs/design/part-TODO.txt:
11888         * docs/design/part-events.txt:
11889         * docs/design/part-gstbin.txt:
11890         * docs/design/part-gstbus.txt:
11891         * docs/design/part-gstpipeline.txt:
11892         * docs/design/part-messages.txt:
11893         * gst/gstbus.c:
11894         * gst/gstmessage.c:
11895         Docs updates
11896
11897 2005-03-21  Wim Taymans  <wim@fluendo.com>
11898
11899         * gst/gstbus.c: (gst_bus_post):
11900         Fix copy-and-paste error.
11901
11902 2005-03-21  Wim Taymans  <wim@fluendo.com>
11903
11904         * check/Makefile.am:
11905         * gst/Makefile.am:
11906         * gst/elements/Makefile.am:
11907         * gst/elements/gstelements.c:
11908         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11909         (gst_fakesink_event), (gst_fakesink_chain):
11910         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11911         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11912         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11913         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11914         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11915         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11916         (gst_fakesrc_loop), (gst_fakesrc_activate),
11917         (gst_fakesrc_change_state):
11918         * gst/elements/gstfakesrc.h:
11919         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11920         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11921         (gst_filesrc_open_file), (gst_filesrc_loop),
11922         (gst_filesrc_activate), (gst_filesrc_change_state),
11923         (filesrc_find_peek), (filesrc_find_suggest),
11924         (gst_filesrc_type_find):
11925         * gst/elements/gstidentity.c: (gst_identity_finalize),
11926         (gst_identity_class_init), (gst_identity_init),
11927         (gst_identity_proxy_getcaps), (identity_queue_push),
11928         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11929         (gst_identity_getrange), (gst_identity_chain),
11930         (gst_identity_sink_loop), (gst_identity_src_loop),
11931         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11932         (gst_identity_set_property), (gst_identity_get_property),
11933         (gst_identity_change_state):
11934         * gst/elements/gstidentity.h:
11935         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11936         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11937         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11938         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11939         (gst_tee_sink_activate):
11940         * gst/elements/gsttee.h:
11941         * gst/gst.c: (gst_register_core_elements), (init_post):
11942         * gst/gst.h:
11943         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11944         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11945         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11946         (gst_bin_change_state):
11947         * gst/gstbin.h:
11948         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11949         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11950         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11951         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11952         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11953         (bus_watch_callback), (bus_watch_destroy),
11954         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11955         (poll_timeout), (gst_bus_poll):
11956         * gst/gstbus.h:
11957         * gst/gstcaps.h:
11958         * gst/gstdata.h:
11959         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11960         (gst_element_post_message), (gst_element_message_full),
11961         (gst_element_get_state_func), (gst_element_get_state),
11962         (gst_element_abort_state), (gst_element_commit_state),
11963         (gst_element_lost_state), (gst_element_set_state),
11964         (gst_element_pads_activate), (gst_element_change_state),
11965         (gst_element_dispose), (gst_element_set_manager_func),
11966         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11967         (gst_element_set_manager), (gst_element_get_manager),
11968         (gst_element_set_bus), (gst_element_get_bus),
11969         (gst_element_set_scheduler), (gst_element_get_scheduler):
11970         * gst/gstelement.h:
11971         * gst/gstevent.c: (gst_event_new_segment_seek),
11972         (gst_event_new_flush):
11973         * gst/gstevent.h:
11974         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11975         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11976         (gst_message_new_eos), (gst_message_new_error),
11977         (gst_message_new_warning), (gst_message_new_tag),
11978         (gst_message_new_state_changed), (gst_message_new_application),
11979         (gst_message_get_structure), (gst_message_parse_tag),
11980         (gst_message_parse_state_changed), (gst_message_parse_error),
11981         (gst_message_parse_warning):
11982         * gst/gstmessage.h:
11983         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11984         (gst_real_pad_set_property), (gst_pad_set_active),
11985         (gst_pad_is_active), (gst_pad_set_blocked_async),
11986         (gst_pad_set_blocked), (gst_pad_is_blocked),
11987         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11988         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11989         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11990         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11991         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11992         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11993         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11994         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11995         (gst_pad_set_caps), (gst_pad_configure_sink),
11996         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11997         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11998         (gst_real_pad_dispose), (gst_real_pad_finalize),
11999         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12000         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12001         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12002         * gst/gstpad.h:
12003         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12004         (pipeline_bus_handler), (gst_pipeline_change_state),
12005         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12006         * gst/gstpipeline.h:
12007         * gst/gstprobe.h:
12008         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12009         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12010         (gst_queue_link_src), (gst_queue_bufferalloc),
12011         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12012         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12013         (gst_queue_loop), (gst_queue_handle_src_event),
12014         (gst_queue_handle_src_query), (gst_queue_src_activate),
12015         (gst_queue_change_state):
12016         * gst/gstqueue.h:
12017         * gst/gstscheduler.c: (gst_scheduler_init),
12018         (gst_scheduler_dispose), (gst_scheduler_create_task),
12019         (gst_scheduler_factory_create):
12020         * gst/gstscheduler.h:
12021         * gst/gststructure.c: (gst_structure_get_type),
12022         (gst_structure_copy_conditional):
12023         * gst/gststructure.h:
12024         * gst/gsttaginterface.h:
12025         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12026         (gst_task_init), (gst_task_dispose), (gst_task_create),
12027         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12028         (gst_task_pause):
12029         * gst/gsttask.h:
12030         * gst/gstthread.c:
12031         * gst/gstthread.h:
12032         * gst/gsttypes.h:
12033         * gst/schedulers/Makefile.am:
12034         * gst/schedulers/cothreads_compat.h:
12035         * gst/schedulers/entryscheduler.c:
12036         * gst/schedulers/faircothreads.c:
12037         * gst/schedulers/faircothreads.h:
12038         * gst/schedulers/fairscheduler.c:
12039         * gst/schedulers/gstbasicscheduler.c:
12040         * gst/schedulers/gstoptimalscheduler.c:
12041         * gst/schedulers/gthread-cothreads.h:
12042         * gst/schedulers/threadscheduler.c:
12043         (gst_thread_scheduler_task_get_type),
12044         (gst_thread_scheduler_task_class_init),
12045         (gst_thread_scheduler_task_init),
12046         (gst_thread_scheduler_task_start),
12047         (gst_thread_scheduler_task_stop),
12048         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12049         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12050         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12051         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12052         (plugin_init):
12053         * libs/gst/Makefile.am:
12054         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12055         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12056         (gst_file_pad_parent_set):
12057         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12058         (gst_dp_event_from_packet):
12059         * tests/complexity.c: (main):
12060         * tests/mass_elements.c: (main):
12061         * testsuite/states/locked.c: (message_received), (main):
12062         * testsuite/states/parent.c: (main):
12063         * tools/gst-inspect.c: (print_element_flag_info),
12064         (print_implementation_info), (print_pad_info):
12065         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12066         (main):
12067         * tools/gst-md5sum.c: (event_loop), (main):
12068         * tools/gst-typefind.c: (main):
12069         * tools/gst-xmlinspect.c: (print_element_info):
12070         Next big merge.
12071         Added GstBus for mainloop integration.
12072         Added GstMessage for sending notifications on the bus.
12073         Added GstTask as an abstraction for pipeline entry points.
12074         Removed GstThread.
12075         Removed Schedulers.
12076         Simplified GstQueue for multithreaded core.
12077         Made _link threadsafe, removed old capsnego.
12078         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12079         Added pad blocking functions.
12080         Reworked scheduling functions in GstPad to prepare for
12081         scheduling updates soon.
12082         Moved events out of data stream.
12083         Simplified GstEvent types.
12084         Added return values to push/pull.
12085         Removed clocking from GstElement.
12086         Added prototypes for state change function for next merge.
12087         Removed iterate from bins and state change management.
12088         Fixed some elements, disabled others for now.
12089         Fixed -inspect and -launch.
12090         Added check for GstBus.
12091
12092 2005-03-10  Wim Taymans  <wim@fluendo.com>
12093
12094         * docs/design/part-MT-refcounting.txt:
12095         * docs/design/part-clocks.txt:
12096         * docs/design/part-gstelement.txt:
12097         * docs/design/part-gstobject.txt:
12098         * docs/design/part-standards.txt:
12099         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12100         (gst_bin_remove_func), (gst_bin_remove):
12101         * gst/gstbin.h:
12102         * gst/gstbuffer.c:
12103         * gst/gstcaps.h:
12104         * testsuite/clock/clock1.c: (main):
12105         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12106         (main):
12107         * testsuite/dlopen/loadgst.c: (do_test):
12108         * testsuite/refcounting/bin.c: (add_remove_test1),
12109         (add_remove_test2), (main):
12110         * testsuite/refcounting/element.c: (main):
12111         * testsuite/refcounting/element_pad.c: (main):
12112         * testsuite/refcounting/pad.c: (main):
12113         * tools/gst-launch.c: (sigint_handler_sighandler):
12114         * tools/gst-typefind.c: (main):
12115         Doc updates.
12116         Added doc about clock.
12117         removed gst_bin_iterate_recurse_up(), marked methods
12118         for removal.
12119         Fix more testsuites.
12120
12121 2005-03-09  Wim Taymans  <wim@fluendo.com>
12122
12123         * gst/gstpad.c: (gst_pad_get_direction),
12124         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12125         (gst_pad_collect_valist):
12126         * testsuite/bins/interface.c: (main):
12127         * testsuite/caps/audioscale.c: (test_caps):
12128         * testsuite/caps/caps.c: (test1), (test2), (test3):
12129         * testsuite/caps/deserialize.c: (main):
12130         * testsuite/caps/enumcaps.c: (main):
12131         * testsuite/caps/filtercaps.c: (main):
12132         * testsuite/caps/intersect2.c: (main):
12133         * testsuite/caps/random.c: (main):
12134         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12135         * testsuite/caps/sets.c: (check_caps):
12136         * testsuite/caps/simplify.c: (check_caps), (main):
12137         * testsuite/caps/subtract.c: (check_caps):
12138         Fix _pad_get_direction wrt ghostpads.
12139         Fix caps testsuite.
12140
12141 2005-03-09  Wim Taymans  <wim@fluendo.com>
12142
12143         * check/Makefile.am:
12144         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12145         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12146         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12147         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12148         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12149         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12150         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12151         (bin_element_is_sink), (gst_bin_iterate_sinks),
12152         (gst_bin_iterate_all_by_interface):
12153         * gst/gstbin.h:
12154         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12155         (gst_element_change_state), (gst_element_dispose),
12156         (gst_element_finalize), (gst_element_set_loop_function):
12157         * gst/gstelement.h:
12158         * gst/gstiterator.c: (find_custom_fold_func):
12159         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12160         (gst_pad_collectv), (gst_pad_collect_valist),
12161         (gst_pad_template_new):
12162         * gst/gstpipeline.c: (gst_pipeline_class_init),
12163         (gst_pipeline_dispose), (gst_pipeline_set_property),
12164         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12165         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12166         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12167         * gst/gstutils.h:
12168         * gst/schedulers/entryscheduler.c:
12169         * gst/schedulers/gstbasicscheduler.c:
12170         (gst_basic_scheduler_cothreaded_chain),
12171         (gst_basic_scheduler_chain_add_element):
12172         * testsuite/bins/interface.c: (main):
12173         Added GstBin test.
12174         Added GstSystemClock test.
12175         Implemented clock distribution code in GstBin.
12176         Implemented iterate sinks method for future use.
12177         Rearranged gstelement.h
12178         Fix GstIterator comparison bug.
12179         Moved some code to GstPipeline, mostly clocking related.
12180
12181 2005-03-09  Wim Taymans  <wim@fluendo.com>
12182
12183         * configure.ac:
12184         * gst/gst_private.h:
12185         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12186         (gst_bin_remove_func), (gst_bin_remove),
12187         (gst_bin_get_by_name_recurse_up):
12188         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12189         (gst_clock_id_compare_func), (gst_clock_id_wait),
12190         (gst_clock_id_wait_async), (gst_clock_init),
12191         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12192         * gst/gstelement.h:
12193         * gst/gstinfo.c: (_gst_debug_init):
12194         * gst/gstobject.h:
12195         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12196         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12197         * gst/gstpad.h:
12198         Bump version number, we're now 0.9.0
12199         Add future debugging category.
12200         Fix NULL _unref() in _get_by_name_recurse_up
12201         Rearrange gstpad.h.
12202         Update some docs.
12203
12204 2005-03-08  Wim Taymans  <wim@fluendo.com>
12205
12206         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12207         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12208         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12209         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12210         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12211         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12212         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12213         * gst/elements/gstidentity.c: (gst_identity_class_init):
12214         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12215         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12216         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12217         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12218         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12219         (gst_tee_link):
12220         * gst/gstelement.c: (gst_element_class_init),
12221         (gst_element_base_class_init), (gst_element_init),
12222         (gst_element_get_random_pad), (gst_element_wait_state_change),
12223         (gst_element_change_state), (gst_element_dispose),
12224         (gst_element_finalize), (gst_element_set_loop_function):
12225         * gst/gstelement.h:
12226         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12227         * gst/gstthread.c: (gst_thread_class_init),
12228         (gst_thread_release_children_locks), (gst_thread_change_state):
12229         * gst/schedulers/gstbasicscheduler.c:
12230         (gst_basic_scheduler_loopfunc_wrapper),
12231         (gst_basic_scheduler_chain_wrapper),
12232         (gst_basic_scheduler_src_wrapper),
12233         (gst_basic_scheduler_remove_element):
12234         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12235         Remove threadsafe properties. Fix elements because GObject
12236         complains when installing a property before declaring a
12237         set/get_property handler.
12238         Rearrange gstelement.h file, use STATE macros for state locks.
12239         Free mutexes in the finalize method instead of dispose.
12240
12241 2005-03-08  Wim Taymans  <wim@fluendo.com>
12242
12243         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12244         * gst/gstthread.c: (gst_thread_release_children_locks):
12245         Added parentage check.
12246         Fix build og GstThread again.
12247
12248 2005-03-08  Wim Taymans  <wim@fluendo.com>
12249
12250         * docs/design/part-MT-refcounting.txt:
12251         * docs/design/part-conventions.txt:
12252         * docs/design/part-gstobject.txt:
12253         * docs/design/part-relations.txt:
12254         * docs/design/part-standards.txt:
12255         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12256         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12257         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12258         (gst_bin_iterate_all_by_interface):
12259         * gst/gstbuffer.h:
12260         * gst/gstclock.h:
12261         * gst/gstelement.c: (gst_element_class_init),
12262         (gst_element_change_state), (gst_element_set_loop_function):
12263         * gst/gstelement.h:
12264         * gst/gstiterator.c:
12265         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12266         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12267         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12268         (gst_object_set_parent), (gst_object_unparent),
12269         (gst_object_check_uniqueness):
12270         * gst/gstobject.h:
12271         Docs updates, clean up some headers.
12272
12273 2005-03-07  Wim Taymans  <wim@fluendo.com>
12274
12275         * check/.cvsignore:
12276         * check/Makefile.am:
12277         * check/gst-libs/.cvsignore:
12278         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12279         * check/gst/.cvsignore:
12280         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12281         (START_TEST), (gstbus_suite), (main):
12282         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12283         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12284         (gst_data_suite), (main):
12285         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12286         (add_fold_func), (gstiterator_suite), (main):
12287         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12288         (thread_name_object), (thread_name_object_default),
12289         (gst_object_name_compare), (gst_object_suite), (main):
12290         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12291         (gst_pad_suite), (main):
12292         * check/gstcheck.c: (gst_check_log_message_func),
12293         (gst_check_log_critical_func), (gst_check_init):
12294         * check/gstcheck.h:
12295         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12296         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12297         Added checks.
12298
12299 2005-03-07  Wim Taymans  <wim@fluendo.com>
12300
12301         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12302         (gst_list_iterator_next), (gst_list_iterator_resync),
12303         (gst_list_iterator_free), (gst_iterator_new_list),
12304         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12305         (gst_iterator_free), (gst_iterator_push), (filter_next),
12306         (filter_resync), (filter_uninit), (filter_free),
12307         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12308         (gst_iterator_foreach), (find_custom_fold_func),
12309         (gst_iterator_find_custom):
12310         * gst/gstiterator.h:
12311         Added missing files.
12312
12313 2005-03-07  Wim Taymans  <wim@fluendo.com>
12314
12315         * Makefile.am:
12316         * configure.ac:
12317         * docs/design/part-MT-refcounting.txt:
12318         * docs/design/part-conventions.txt:
12319         * docs/design/part-gstobject.txt:
12320         * docs/design/part-relations.txt:
12321         * examples/mixer/mixer.c: (main):
12322         * examples/thread/thread.c: (eos), (main):
12323         * gst/Makefile.am:
12324         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12325         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12326         (gst_spider_plug_from_srcpad):
12327         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12328         (gst_spider_identity_change_state),
12329         (gst_spider_identity_sink_loop_type_finding):
12330         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12331         * gst/elements/gstidentity.c: (gst_identity_init):
12332         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12333         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12334         * gst/elements/gsttypefindelement.c: (free_entry):
12335         * gst/gst.c:
12336         * gst/gst.h:
12337         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12338         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12339         (gst_bin_set_index), (gst_bin_set_element_sched),
12340         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12341         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12342         (gst_bin_iterate_elements), (iterate_child_recurse),
12343         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12344         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12345         (compare_interface), (gst_bin_get_by_interface),
12346         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12347         * gst/gstbin.h:
12348         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12349         (gst_buffer_default_free), (gst_buffer_default_copy),
12350         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12351         (gst_buffer_create_sub):
12352         * gst/gstbuffer.h:
12353         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12354         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12355         (gst_caps_unref), (gst_static_caps_get),
12356         (gst_caps_remove_and_get_structure), (gst_caps_append),
12357         (gst_caps_append_structure), (gst_caps_remove_structure),
12358         (gst_caps_copy_nth), (gst_caps_set_simple),
12359         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12360         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12361         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12362         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12363         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12364         (gst_caps_structure_figure_out_union),
12365         (gst_caps_switch_structures), (gst_caps_do_simplify),
12366         (gst_caps_replace), (gst_caps_from_string),
12367         (gst_caps_copy_conditional):
12368         * gst/gstcaps.h:
12369         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12370         (_gst_clock_id_free), (gst_clock_id_unref),
12371         (gst_clock_id_compare_func), (gst_clock_id_wait),
12372         (gst_clock_id_wait_async), (gst_clock_class_init),
12373         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12374         (gst_clock_get_time), (gst_clock_set_time_adjust),
12375         (gst_clock_set_property), (gst_clock_get_property):
12376         * gst/gstclock.h:
12377         * gst/gstcompat.h:
12378         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12379         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12380         * gst/gstdata.h:
12381         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12382         (gst_element_requires_clock), (gst_element_provides_clock),
12383         (gst_element_set_clock), (gst_element_clock_wait),
12384         (gst_element_wait), (gst_element_set_time_delay),
12385         (gst_element_is_indexable), (gst_element_add_pad),
12386         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12387         (pad_compare_name), (gst_element_get_static_pad),
12388         (gst_element_request_pad), (gst_element_get_request_pad),
12389         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12390         (gst_element_class_get_pad_template_list),
12391         (gst_element_class_get_pad_template), (gst_element_error_func),
12392         (gst_element_get_random_pad), (gst_element_get_event_masks),
12393         (gst_element_send_event), (gst_element_seek),
12394         (gst_element_get_query_types), (gst_element_query),
12395         (gst_element_get_formats), (gst_element_convert),
12396         (gst_element_is_locked_state), (gst_element_set_locked_state),
12397         (gst_element_sync_state_with_parent), (gst_element_change_state),
12398         (gst_element_finalize), (gst_element_yield),
12399         (gst_element_interrupt), (gst_element_set_scheduler),
12400         (gst_element_get_scheduler), (gst_element_set_loop_function):
12401         * gst/gstelement.h:
12402         * gst/gstevent.h:
12403         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12404         (gst_format_get_by_nick), (gst_format_get_details),
12405         (gst_format_iterate_definitions):
12406         * gst/gstformat.h:
12407         * gst/gstindex.c: (gst_index_gtype_resolver):
12408         * gst/gstinfo.c:
12409         * gst/gstinfo.h:
12410         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12411         (gst_mem_chunk_free):
12412         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12413         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12414         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12415         (gst_object_dispatch_properties_changed),
12416         (gst_object_set_name_default), (gst_object_set_name),
12417         (gst_object_get_name), (gst_object_set_name_prefix),
12418         (gst_object_get_name_prefix), (gst_object_set_parent),
12419         (gst_object_get_parent), (gst_object_unparent),
12420         (gst_object_check_uniqueness), (gst_object_save_thyself),
12421         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12422         (gst_object_set_property), (gst_object_get_property),
12423         (gst_object_get_path_string):
12424         * gst/gstobject.h:
12425         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12426         (gst_real_pad_init), (gst_real_pad_get_property),
12427         (gst_pad_custom_new), (gst_pad_get_direction),
12428         (gst_pad_set_active), (gst_pad_is_active),
12429         (gst_pad_set_event_function), (gst_pad_is_linked),
12430         (gst_pad_link_free), (gst_pad_link_intersect),
12431         (gst_pad_link_fixate), (gst_pad_set_caps),
12432         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12433         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12434         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12435         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12436         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12437         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12438         (gst_pad_realize), (gst_pad_get_allowed_caps),
12439         (gst_real_pad_dispose), (gst_real_pad_finalize),
12440         (gst_pad_collectv), (gst_pad_collect_valist),
12441         (gst_pad_template_dispose), (gst_pad_template_new),
12442         (gst_pad_get_internal_links):
12443         * gst/gstpad.h:
12444         * gst/gstpipeline.c: (gst_pipeline_dispose),
12445         (gst_pipeline_change_state):
12446         * gst/gstpipeline.h:
12447         * gst/gstplugin.c:
12448         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12449         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12450         * gst/gstpluginfeature.h:
12451         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12452         * gst/gstquery.c: (_gst_query_type_initialize),
12453         (gst_query_type_register), (gst_query_type_get_by_nick),
12454         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12455         * gst/gstquery.h:
12456         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12457         * gst/gstscheduler.c: (gst_scheduler_add_element),
12458         (gst_scheduler_factory_create):
12459         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12460         (gst_structure_free), (gst_structure_set_name),
12461         (gst_structure_id_set_value), (gst_structure_set_value),
12462         (gst_structure_set_valist), (gst_structure_remove_field),
12463         (gst_structure_remove_fields),
12464         (gst_structure_remove_fields_valist),
12465         (gst_structure_remove_all_fields), (gst_structure_foreach),
12466         (gst_structure_map_in_place),
12467         (gst_caps_structure_fixate_field_nearest_int),
12468         (gst_caps_structure_fixate_field_nearest_double):
12469         * gst/gststructure.h:
12470         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12471         (gst_system_clock_init), (gst_system_clock_dispose),
12472         (gst_system_clock_async_thread),
12473         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12474         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12475         * gst/gstsystemclock.h:
12476         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12477         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12478         * gst/gsttaginterface.c:
12479         * gst/gstthread.c: (gst_thread_dispose),
12480         (gst_thread_release_children_locks), (gst_thread_change_state),
12481         (gst_thread_main_loop):
12482         * gst/gsttrashstack.h:
12483         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12484         * gst/gsttypes.h:
12485         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12486         (gst_element_request_pad), (gst_element_get_pad_from_template),
12487         (gst_element_request_compatible_pad),
12488         (gst_element_get_compatible_pad_filtered),
12489         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12490         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12491         (gst_element_link_many), (gst_element_link),
12492         (gst_element_link_pads), (gst_element_unlink_pads),
12493         (gst_element_unlink_many), (gst_element_unlink),
12494         (gst_pad_can_link_filtered), (gst_pad_can_link),
12495         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12496         (gst_object_default_error), (gst_bin_add_many),
12497         (gst_bin_remove_many), (gst_element_populate_std_props),
12498         (gst_element_class_install_std_props), (gst_buffer_merge),
12499         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12500         (link_fold_func), (gst_pad_proxy_setcaps):
12501         * gst/gstutils.h:
12502         * gst/gstvalue.c: (gst_value_deserialize_string):
12503         * gst/parse/grammar.y:
12504         * gst/schedulers/gstbasicscheduler.c:
12505         (gst_basic_scheduler_cothreaded_chain),
12506         (gst_basic_scheduler_chain_recursive_add),
12507         (gst_basic_scheduler_pad_link):
12508         * gst/schedulers/gstoptimalscheduler.c:
12509         (get_group_schedule_function),
12510         (gst_opt_scheduler_state_transition),
12511         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12512         * libs/gst/bytestream/bytestream.c:
12513         * libs/gst/dataprotocol/dataprotocol.c:
12514         (gst_dp_header_from_buffer):
12515         * po/nb.po:
12516         * po/ru.po:
12517         * tests/threadstate/threadstate2.c: (eos):
12518         * tools/gst-compprep.c: (main):
12519         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12520         (print_pad_info), (print_children_info):
12521         * tools/gst-launch.c: (idle_func), (main):
12522         * tools/gst-md5sum.c: (idle_func), (main):
12523         * tools/gst-xmlinspect.c: (print_element_info):
12524         First THREADED backport attempt, focusing on adding locks and
12525         making sure the API is threadsafe. Needs more work. More docs
12526         follow this week.
12527
12528 2005-02-24  Andy Wingo  <wingo@pobox.com>
12529
12530         * tests/bench-complexity.scm:
12531         * tests/complexity.gnuplot: New files, good for running complexity
12532         benchmarks.
12533
12534         * tests/Makefile.am:
12535         * tests/complexity.c: New test, sets up N elements, at each level
12536         teeing into M streams per element. Eeeenteresting.
12537
12538         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12539         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12540         running bench-mass_elements.scm.
12541
12542         * tests/bench-mass_elements.scm: New script, runs mass_elements
12543         for various numbers of identities, outputting the results to a
12544         file. Requires guile 1.6. Just for testing.
12545
12546 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12547
12548         * gst/schedulers/fairscheduler.c:
12549           compile with debug disabled
12550
12551 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12552
12553         * configure.ac:
12554           hunting season on 0.9 is now OPEN