plugins/elements/gstidentity.c: make initialization portable, using LL is not
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4           make initialization portable, using LL is not
5
6 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7
8         * win32/common/gstconfig.h:
9           add large padding
10
11 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12
13         * win32/common/libgstreamer.def:
14           rename symbols; sort base section
15
16 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17
18         * gst/gstclock.c: (do_linear_regression):
19           remove crack non-portable handrolled DEBUG macro
20
21 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
22
23         * docs/random/release:
24           update notes
25         * win32/common/gstenumtypes.c: (register_gst_object_flags),
26         (gst_object_flags_get_type), (register_gst_bin_flags),
27         (gst_bin_flags_get_type), (register_gst_buffer_flag),
28         (gst_buffer_flag_get_type), (register_gst_bus_flags),
29         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
30         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
31         (gst_caps_flags_get_type), (register_gst_clock_return),
32         (gst_clock_return_get_type), (register_gst_clock_entry_type),
33         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
34         (gst_clock_flags_get_type), (register_gst_state),
35         (gst_state_get_type), (register_gst_state_change_return),
36         (gst_state_change_return_get_type), (register_gst_state_change),
37         (gst_state_change_get_type), (register_gst_element_flags),
38         (gst_element_flags_get_type), (register_gst_core_error),
39         (gst_core_error_get_type), (register_gst_library_error),
40         (gst_library_error_get_type), (register_gst_resource_error),
41         (gst_resource_error_get_type), (register_gst_stream_error),
42         (gst_stream_error_get_type), (register_gst_event_type_flags),
43         (gst_event_type_flags_get_type), (register_gst_event_type),
44         (gst_event_type_get_type), (register_gst_seek_type),
45         (gst_seek_type_get_type), (register_gst_seek_flags),
46         (gst_seek_flags_get_type), (register_gst_format),
47         (gst_format_get_type), (register_gst_index_certainty),
48         (gst_index_certainty_get_type), (register_gst_index_entry_type),
49         (gst_index_entry_type_get_type),
50         (register_gst_index_lookup_method),
51         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
52         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
53         (gst_index_resolver_method_get_type), (register_gst_index_flags),
54         (gst_index_flags_get_type), (register_gst_debug_level),
55         (gst_debug_level_get_type), (register_gst_debug_color_flags),
56         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
57         (gst_iterator_result_get_type), (register_gst_iterator_item),
58         (gst_iterator_item_get_type), (register_gst_message_type),
59         (gst_message_type_get_type), (register_gst_mini_object_flags),
60         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
61         (gst_pad_link_return_get_type), (register_gst_flow_return),
62         (gst_flow_return_get_type), (register_gst_activate_mode),
63         (gst_activate_mode_get_type), (register_gst_pad_direction),
64         (gst_pad_direction_get_type), (register_gst_pad_flags),
65         (gst_pad_flags_get_type), (register_gst_pad_presence),
66         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
67         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
68         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
69         (gst_plugin_error_get_type), (register_gst_plugin_flags),
70         (gst_plugin_flags_get_type), (register_gst_rank),
71         (gst_rank_get_type), (register_gst_query_type),
72         (gst_query_type_get_type), (register_gst_tag_merge_mode),
73         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
74         (gst_tag_flag_get_type), (register_gst_task_state),
75         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
76         (gst_alloc_trace_flags_get_type),
77         (register_gst_type_find_probability),
78         (gst_type_find_probability_get_type), (register_gst_uri_type),
79         (gst_uri_type_get_type), (register_gst_parse_error),
80         (gst_parse_error_get_type):
81         * win32/common/gstenumtypes.h:
82         * win32/common/gstversion.h:
83           update visual studio generated files
84
85 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
86
87         * win32/vs6/libgstbase.dsp:
88         * win32/vs6/libgstelements.dsp:
89           update project files for new locations
90
91 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
92
93         * Makefile.am:
94           remove some files
95         * README:
96           reinstate and update
97         * DEVEL:
98         * REQUIREMENTS:
99           removed
100         * LICENSE:
101         * docs/random/LICENSE:
102           moved to random
103
104 2005-11-30  Edward Hervey  <edward@fluendo.com>
105
106         * gst/gsttypefind.c: (gst_type_find_register):
107         * gst/gsttypefind.h:
108         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
109         (gst_type_find_factory_dispose):
110         * gst/gsttypefindfactory.h:
111         Fix memory leak in GstTypeFindFactory.
112
113 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
114
115         * gst/gst.c:
116         * plugins/elements/Makefile.am:
117         * plugins/elements/gstelements.c:
118         * plugins/elements/gstqueue.c:
119           move queue from core to the elements plugin
120
121 2005-11-29  Andy Wingo  <wingo@pobox.com>
122
123         * libs/gst/base/gstbasetransform.h: 
124         * libs/gst/base/gstbasesrc.h: 
125         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
126
127         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
128         of pointers by which to pad very extensible base classes (like the
129         ones in libs/gst/base).
130
131 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
132
133         * docs/gst/gstreamer-docs.sgml:
134         * docs/gst/gstreamer-sections.txt:
135         * docs/libs/gstreamer-libs-docs.sgml:
136         * docs/libs/gstreamer-libs-sections.txt:
137           moving documentation from core to lib
138
139 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
140
141         * check/Makefile.am:
142         * configure.ac:
143         * docs/gst/Makefile.am:
144         * gst/Makefile.am:
145         * gst/base/.cvsignore:
146         * gst/base/Makefile.am:
147         * gst/base/README:
148         * gst/base/gstadapter.c:
149         * gst/base/gstadapter.h:
150         * gst/base/gstbasesink.c:
151         * gst/base/gstbasesink.h:
152         * gst/base/gstbasesrc.c:
153         * gst/base/gstbasesrc.h:
154         * gst/base/gstbasetransform.c:
155         * gst/base/gstbasetransform.h:
156         * gst/base/gstcollectpads.c:
157         * gst/base/gstcollectpads.h:
158         * gst/base/gstpushsrc.c:
159         * gst/base/gstpushsrc.h:
160         * gst/base/gsttypefindhelper.c:
161         * gst/base/gsttypefindhelper.h:
162         * gst/check/Makefile.am:
163         * gst/check/gstcheck.c:
164         * gst/check/gstcheck.h:
165         * gst/net/Makefile.am:
166         * gst/net/gstnet.h:
167         * gst/net/gstnetclientclock.c:
168         * gst/net/gstnetclientclock.h:
169         * gst/net/gstnettimepacket.c:
170         * gst/net/gstnettimepacket.h:
171         * gst/net/gstnettimeprovider.c:
172         * gst/net/gstnettimeprovider.h:
173         * libs/gst/Makefile.am:
174         * libs/gst/base/Makefile.am:
175         * libs/gst/base/gstbasetransform.c:
176         * libs/gst/check/Makefile.am:
177         * plugins/elements/Makefile.am:
178         * po/POTFILES.in:
179           CVS surgery + support to move base, check, and net out of gst
180           and into libs/gst
181
182 2005-11-29  Andy Wingo  <wingo@pobox.com>
183
184         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
185
186         * gst/gststructure.h (struct _GstStructure): Only one pointer of
187         padding.
188
189         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
190
191         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
192
193         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
194
195         * gst/gstobject.h: (struct _GstObject): Only one pointer of
196         padding; reduces object size by about 30%. We don't expect
197         anything else to go into gstobject.
198
199         * gst/gstminiobject.h (struct _GstMiniObject)
200         (struct _GstMiniObjectClass): Only one pointer of padding; the
201         payload is only a pointer and two ints anyway. For the class there
202         are only two methods as well.
203         
204         * gst/gstelement.h (struct _GstElementClass): Removed
205         the state_changed signal callback, it is not used.
206
207 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
208
209         * docs/gst/gstreamer.types:
210           fix includes, though they are a little dinky
211
212 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
213
214         * check/Makefile.am:
215           look in the right place for elements, a lot more chance of
216           success
217         * gst/Makefile.am:
218           remove indexers and elements subdirs
219         * plugins/Makefile.am:
220           make indexers conditional
221
222 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
223
224         * Makefile.am:
225         * configure.ac:
226         * plugins/elements/Makefile.am:
227         * plugins/elements/gstcapsfilter.c:
228         * plugins/elements/gstfilesink.c:
229         * plugins/elements/gstfilesrc.c:
230         * plugins/elements/gstidentity.c:
231         * plugins/indexers/Makefile.am:
232           do CVS surgery and related build fixery to move elements
233           and indexers in a new gstreamer/plugins directory, out of the
234           gst/ directory
235
236 2005-11-29  Andy Wingo  <wingo@pobox.com>
237
238         * check/Makefile.am:
239         * pkgconfig/gstreamer-net-uninstalled.pc.in:
240         * pkgconfig/gstreamer-net.pc.in:
241         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
242         #322257.
243
244 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
245
246         * tools/Makefile.am:
247         * tools/gst-complete.1.in:
248         * tools/gst-complete.c:
249         * tools/gst-compprep.1.in:
250         * tools/gst-compprep.c:
251           removing -compprep and -complete
252
253 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
254
255         * gst/gstevent.c: (gst_event_new_new_segment),
256         (gst_event_parse_new_segment):
257         * gst/gstevent.h:
258           fix #320529 - clean up new_segment API and structure.
259           Let's hope everyone was using the methods, and not the structure.
260
261 2005-11-29  Edward Hervey  <edward@fluendo.com>
262
263         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
264         (gst_base_sink_event), (gst_base_sink_do_sync),
265         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
266         Properly handle non GST_FORMAT_TIME segment
267         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
268         Properly handle non GST_FORMAT_TIME segment
269         * gst/gstsegment.c:
270         This function is valid if the accumulator is 0 and the format
271         is different from the requested format.
272         
273 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
274
275         * docs/gst/gstreamer-sections.txt:
276         Add gst_query_new_seeking and gst_query_parse_seeking to the
277         docs.
278
279 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
280
281         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
282           Treat a pad alloc with new caps the same as if we were not
283           negotiated, in order to allow a changing upstream output
284           to produce a new format of data.
285
286 2005-11-29  Edward Hervey  <edward@fluendo.com>
287
288         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
289         (gst_base_transform_event), (gst_base_transform_eventfunc):
290         The event virtual method is now properly implemented, with a default
291         handler
292         Sub classes should call the parent_class event method. They should
293         return FALSE if they had a problem handling the given event, or don't
294         want GstBaseTransform to send that even downstream
295         * gst/elements/gstidentity.c: (gst_identity_class_init),
296         (gst_identity_init), (gst_identity_event),
297         (gst_identity_transform_ip), (gst_identity_set_property),
298         (gst_identity_get_property):
299         * gst/elements/gstidentity.h:
300         Added the single-segment boolean property.
301         If set to TRUE, it will output a single segment of data, starting from
302         0, will eat up all incoming newsegment, and modify the timestamp of the
303         buffers accordingly
304
305 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
306
307         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
308           Don't ref NULL target pad (#322751). Improve docs.
309
310 2005-11-29  Michael Smith  <msmith@fluendo.com>
311
312         * gst/gstregistryxml.c: (load_plugin):
313           Don't crash if we failed to load a feature from a plugin. 
314
315 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
316
317         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
318         (GST_START_TEST):
319           use more check API and less GLib API
320
321 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
322
323         * Makefile.am:
324           don't run checks if we don't have check
325         * common/check.mak:
326           remove the registry when running make torture
327         * docs/gst/gstreamer-sections.txt:
328           remove second multiply
329         * gst/gstqueue.c: (gst_queue_loop):
330           fix a compile warning when disabling debug
331
332 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
333
334         * gst/gstinfo.h:
335         Hey! Let's print the pad name if the pointer != NULL instead
336         of when it == NULL :-)
337
338 2005-11-28  Wim Taymans  <wim@fluendo.com>
339
340         * check/gst/gstutils.c: (GST_START_TEST):
341         Updated check, add some scaling accuracy checking code.
342
343         * gst/gstutils.c: (gst_util_div128_64),
344         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
345         (gst_util_uint64_scale_int):
346         Fix 6 times faster division code. Optimize for common 
347         1/1 and less common X/1 cases.
348
349 2005-11-28  Wim Taymans  <wim@fluendo.com>
350
351         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
352         More checks.
353
354         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
355         (do_linear_regression), (gst_clock_add_observation):
356         Cleanups.
357         Release lock when the clock cannot be slaved.
358         Catch the case where the regression returned an invalid denominator.
359
360         * gst/gstutils.c: (gst_util_div128_64_iterate),
361         (gst_util_div128_64), (gst_util_uint64_scale_int64),
362         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
363         Add protentially more performant non-iterative 128/64 divide function
364         that unfortunatly does not work yet.
365         Shortcut the trivial 0/X = 0 case.
366         Remove the warnings on overflow.
367
368 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
369
370         * gst/gstplugin.c: (gst_plugin_register_func):
371           everything causing a plugin not to load should be at least a WARNING
372
373 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
374
375         * docs/random/ensonic/dparams.txt:
376           some TODOs for the next dev cycle
377         * libs/gst/controller/gstcontroller.c:
378         (gst_controlled_property_set_interpolation_mode),
379         (gst_controlled_property_new):
380         * libs/gst/controller/gstcontroller.h:
381           use base type to assign acccessor functions
382
383 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
384
385         * check/Makefile.am:
386         Oops, that should have been top_srcdir
387
388 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
389
390         * check/Makefile.am:
391         * check/elements/fdsrc.c: (GST_START_TEST):
392         Use a cmdline define to specify the location of a file to use for
393         testing, to avoid breaking distcheck.
394
395 2005-11-28  Andy Wingo  <wingo@pobox.com>
396
397         * gst/gstpad.c (fixate_value): Use array functions for arrays.
398
399 2005-11-28  Edward Hervey  <edward@fluendo.com>
400
401         * tools/gst-launch.c: (main):
402         Clarify the output strings, makes it easier to translate.
403         Fixes #322626
404
405 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
406
407         * gst/Makefile.am:
408           don't try and build net if we don't even have <sys/socket.h>
409
410 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
411
412         * check/Makefile.am:
413         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
414         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
415           Add tests for fdsrc seekability
416
417         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
418         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
419         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
420         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
421         * gst/elements/gstfdsrc.h:
422           fdsrc should not be a 'live' source.
423           Implement seeking on seekable fd's.
424
425         * gst/gstquery.c: (gst_query_new_seeking),
426         (gst_query_parse_seeking):
427         * gst/gstquery.h:
428           Implement SEEKING query functions: 
429             *_new_seeking and *_parse_seeking
430
431 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
432
433         * gst/gstelement.c: (gst_element_dispose):
434           don't loop forever
435
436         * gst/gstiterator.c:
437         * gst/gststructure.c:
438           doc fixes
439
440         * libs/gst/controller/gstcontroller.c:
441         (gst_controlled_property_set_interpolation_mode):
442         * libs/gst/controller/gstcontroller.h:
443         * libs/gst/controller/gstinterpolation.c:
444         (interpolate_none_get_enum_value_array):
445           support controlling enums
446
447 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
448
449         * gst/gstvalue.c:
450           Improve documentation for gst_value_union().
451
452         * gst/gstvalue.h:
453           Change return value for union, intersect and subtract functions
454           from gint to gboolean.
455
456 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
457
458         * gst/gstvalue.c: (gst_value_serialize_any_list),
459         (gst_value_transform_any_list_string),
460         (gst_value_deserialize_list), (gst_value_deserialize_array),
461         (gst_value_set_int_range), (gst_value_deserialize_int_range),
462         (gst_value_set_double_range), (gst_value_deserialize_double_range),
463         (gst_value_set_fraction_range_full),
464         (gst_value_deserialize_fraction_range),
465         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
466         (gst_value_deserialize_boolean),
467         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
468         (gst_value_serialize_float), (gst_value_deserialize_float),
469         (gst_string_wrap), (gst_value_deserialize_string),
470         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
471         (gst_value_union_int_range_int_range),
472         (gst_value_intersect_int_range_int_range),
473         (gst_value_intersect_double_range_double_range),
474         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
475         (gst_value_subtract_int_range_int_range),
476         (gst_value_subtract_double_double_range),
477         (gst_value_subtract_double_range_double_range),
478         (gst_value_deserialize_fraction):
479         * gst/gstvalue.h:
480           Use gint, gdouble and gchar in our API instead of int, double and
481           char (and make usage in gstvalue.c more consistent).
482
483 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
484
485         * check/Makefile.am:
486         * libs/gst/controller/Makefile.am:
487         * libs/gst/dataprotocol/Makefile.am:
488           fix up Makefile.am and remove GST_ENABLE_NEW
489
490 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
491
492         * configure.ac:
493         * gst/Makefile.am:
494         * gst/base/Makefile.am:
495         * gst/check/Makefile.am:
496         * gst/elements/Makefile.am:
497         * gst/net/Makefile.am:
498           update LDFLAGS use some more
499
500 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
501
502         * common/m4/gst-doc.m4:
503           Fixes #312589
504
505 2005-11-26  Edward Hervey  <edward@fluendo.com>
506
507         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
508         This shouldn't issue a g_warning since it returns NULL if it
509         couldn't find the plugin, and all functions using this behave
510         properly on a NULL return. Switching to a GST_WARNING.
511
512 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
513
514         * gst/gstbin.c: (gst_bin_handle_message_func):
515         Don't leak clock messages.
516
517 2005-11-25  Wim Taymans  <wim@fluendo.com>
518
519         * gst/gstutils.c: (gst_util_uint64_scale_int64),
520         (gst_util_uint64_scale_int):
521         Optimisations, remove unneeded vars.
522
523 2005-11-25  Wim Taymans  <wim@fluendo.com>
524
525         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
526         Added more checks for the high precision uint64 cases.
527
528         * gst/gstutils.c: (gst_util_uint64_scale_int64),
529         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
530         Implement high precission (guint64 * guint64) / guint64.
531
532 2005-11-24  Wim Taymans  <wim@fluendo.com>
533
534         * gst/base/gstbasesrc.c: (gst_base_src_query):
535         Fix wrong percentage query.
536
537         * gst/gstutils.c: (gst_util_uint64_scale),
538         (gst_util_uint64_scale_int):
539         Add some more common cases that can be handled 
540         efficiently to _scale.
541
542 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
543
544         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
545         (gst_mini_object_suite):
546           don't use check calls from threads; check probably isn't
547           threadsafe and using a lock to make it threadsafe would
548           defeat the purpose of this check
549         * gst/check/gstcheck.c:
550         * gst/check/gstcheck.h:
551           use GST_DEBUG some more
552
553 2005-11-24  Wim Taymans  <wim@fluendo.com>
554
555         * gst/gstutils.c: (gst_util_uint64_scale),
556         (gst_util_uint64_scale_int):
557         Chain trivial case to _scale_int.
558
559 2005-11-24  Wim Taymans  <wim@fluendo.com>
560
561         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
562         Added test for scaling.
563
564         * gst/gstclock.h:
565         Small doc fix.
566
567         * gst/gstutils.c: (gst_util_uint64_scale_int):
568         Implemented high precision scaling code.
569
570 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
571
572         * gst/gstinfo.h:
573           do not crash on pad==NULL
574
575 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
576
577         Patch by: Stefan Kost
578
579         * common/gtk-doc.mak:
580         * docs/gst/Makefile.am:
581         * docs/libs/Makefile.am:
582           Fix distcheck issues for the libraries docs build
583           Closes #319599.
584
585 2005-11-24  Michael Smith <msmith@fluendo.com>
586
587         * docs/manual/basics-helloworld.xml:
588           Fix bug #315027: memory leak in example code in docs.
589
590 2005-11-24  Michael Smith <msmith@fluendo.com>
591
592         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
593           Unlock the PREROLL_LOCK in a failure case.
594
595 2005-11-24  Wim Taymans  <wim@fluendo.com>
596
597         * docs/gst/gstreamer-sections.txt:
598         * gst/base/gstadapter.h:
599         * gst/base/gstbasesink.h:
600         * gst/base/gstbasesrc.h:
601         * gst/base/gstbasetransform.h:
602         * gst/base/gstpushsrc.h:
603         * gst/elements/gstfakesink.h:
604         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
605         * gst/elements/gstfakesrc.h:
606         * gst/elements/gstfilesink.h:
607         * gst/elements/gstfilesrc.h:
608         * gst/gst.c:
609         * gst/gstbin.c:
610         * gst/gstbuffer.c: (_gst_buffer_copy):
611         * gst/gstbus.h:
612         * gst/gstcaps.c:
613         * gst/gstchildproxy.c:
614         * gst/gstclock.c:
615         * gst/gstelement.c:
616         * gst/gstelementfactory.c:
617         * gst/gstelementfactory.h:
618         * gst/gstevent.c:
619         * gst/gstghostpad.h:
620         * gst/gstindex.h:
621         * gst/gstinterface.h:
622         * gst/gstminiobject.c:
623         * gst/gstminiobject.h:
624         * gst/gstpad.c:
625         * gst/gstpad.h:
626         * gst/gstpadtemplate.h:
627         * gst/gstpipeline.h:
628         * gst/gstpluginfeature.h:
629         * gst/gstquery.h:
630         * gst/gstqueue.h:
631         * gst/gsttaglist.c:
632         * gst/gsttaglist.h:
633         * gst/gsttagsetter.c:
634         * gst/gsttagsetter.h:
635         * gst/gsttrace.c:
636         * gst/gsttrace.h:
637         * gst/gsttypefind.h:
638         * gst/gsturi.h:
639         * gst/gstvalue.c:
640         * gst/net/gstnetclientclock.c:
641         * gst/net/gstnetclientclock.h:
642         * gst/net/gstnettimepacket.c:
643         * gst/net/gstnettimeprovider.c:
644         * gst/net/gstnettimeprovider.h:
645         Doc fixes.
646
647 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
648
649         * configure.ac: back to HEAD
650
651 === release 0.9.6 ===
652
653 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
654
655         * configure.ac:
656           releasing 0.9.6, "Always On Time"
657
658 2005-11-23  Wim Taymans  <wim@fluendo.com>
659
660         * docs/gst/gstreamer-sections.txt:
661         * gst/glib-compat.c:
662         * gst/gsttagsetter.c:
663         * gst/gstvalue.c:
664         * gst/net/gstnetclientclock.c:
665         * gst/net/gstnettimepacket.h:
666         Doc updates.
667
668 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
669
670         * docs/faq/using.xml:
671         * docs/libs/tmpl/gstcontrol.sgml:
672         * docs/manual/advanced-dparams.xml:
673         * docs/manual/appendix-checklist.xml:
674         * docs/manual/basics-elements.xml:
675         * docs/pwg/other-source.xml:
676         * docs/random/moving-plugins:
677         * gst/gstpad.c:
678         * tools/gst-launch.1.in:
679           remove mentions of sinesrc
680
681 2005-11-23  Michael Smith <msmith@fluendo.com>
682
683         * docs/gst/gstreamer-sections.txt:
684           Update for new API and API changes.
685         * gst/gstobject.h:
686           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
687         * gst/gstvalue.c:
688           Documentation typo fix.
689         * gst/net/gstnettimepacket.c:
690           Documentation fixes for arguments.
691
692 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
693
694         * gst/gststructure.c: (gst_structure_get_fraction),
695         (gst_structure_parse_value),
696         (gst_structure_fixate_field_nearest_fraction):
697         * gst/gststructure.h:
698         * gst/gstutils.c: (gst_util_uint64_scale_int):
699         * gst/gstutils.h:
700         * scripts/update-funcnames:
701         API Changes. 
702         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
703         Make gst_structure_fixate_field_nearest_fraction take a numerator
704         and denominator argument instead of a GValue
705         add gst_structure_get_fraction helper function.
706
707 2005-11-23  Wim Taymans  <wim@fluendo.com>
708
709         * docs/design/part-TODO.txt:
710         Update TODO.
711
712         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
713         * gst/net/gstnetclientclock.h:
714         Use parent fields for timeout and window_size.
715
716 2005-11-23  Andy Wingo  <wingo@pobox.com>
717
718         * check/net/gstnetclientclock.c (test_functioning): Adjust to
719         rate_num/rate_denom change.
720
721         * gst/net/gstnetclientclock.c
722         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
723         OBJECT_LOCK. Don't call add_observation with the lock.
724
725         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
726         fraction.
727         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
728         rate fraction.
729         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
730         deal with rate as a fraction whose numerator and denominator are
731         GstClockTime values.
732         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
733         master; the other fields are protected by the SLAVE_LOCK.
734         (do_linear_regression): Note that this must be called with the
735         SLAVE_LOCK.
736         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
737         OBJECT_LOCK. Call set_calibration instead of touching the
738         variables directly.
739         (gst_clock_set_property, gst_clock_get_property): Protect
740         master/slave parameters with the SLAVE_LOCK.
741
742         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
743         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
744         note that all of the instance variables that add_observation and
745         the set_master functions use are protected by that lock and not
746         the OBJECT_LOCK.
747         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
748
749         * gst/gstclock.c (gst_clock_add_observation): No longer requires
750         the caller to take the object lock.
751
752 2005-11-23  Wim Taymans  <wim@fluendo.com>
753
754         * gst/gsterror.c: (_gst_core_errors_init):
755         * gst/gsterror.h:
756         Add error for clock stuff.
757
758         * gst/gstpipeline.c: (gst_pipeline_change_state),
759         (gst_pipeline_set_clock):
760         Post clock error when clock cannot be used in a pipeline.
761
762 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
763
764         * docs/gst/gstreamer-sections.txt:
765           make two symbols from gstinfo private for the docs
766         * gst/base/gstcollectpads.h:
767         * gst/gstutils.c:
768           fix doc typos, update docs
769
770 2005-11-22  Wim Taymans  <wim@fluendo.com>
771
772         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
773         (gst_base_sink_wait), (gst_base_sink_do_sync),
774         (gst_base_sink_handle_event):
775         * gst/base/gstbasesink.h:
776         No need to store the clock, the parent element class already
777         has it.
778
779         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
780         Updates for clock_set returning a gboolean
781
782         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
783         (gst_clock_id_wait_async), (gst_clock_class_init),
784         (gst_clock_init), (gst_clock_finalize),
785         (gst_clock_get_internal_time), (gst_clock_get_time),
786         (gst_clock_slave_callback), (gst_clock_set_master),
787         (gst_clock_get_master), (do_linear_regression),
788         (gst_clock_add_observation), (gst_clock_set_property),
789         (gst_clock_get_property):
790         * gst/gstclock.h:
791         Implement master/slave. When setting a clock as a slave, a
792         periodic timeout is scheduled to sample master and slave times.
793         Then the slave clock is recalibrated to match offset and rate
794         of the master clock.
795         Update logging a bit.
796         Add flag so that a clock can state that is cannot be slaved to
797         another clock.
798
799         * gst/gstelement.c: (gst_element_set_clock):
800         * gst/gstelement.h:
801         The set clock returns a gboolean for when an element cannot
802         deal with the selected clock in the pipeline. 
803
804         * gst/gstpipeline.c: (gst_pipeline_change_state),
805         (gst_pipeline_set_clock):
806         * gst/gstpipeline.h:
807         Handle the case where the selected clock cannot be set on
808         the pipeline.
809
810         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
811         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
812         (gst_net_client_clock_set_property),
813         (gst_net_client_clock_get_property),
814         (gst_net_client_clock_observe_times):
815         * gst/net/gstnetclientclock.h:
816         Use regression code in GstClock parent, remove duplicated
817         functionality.
818
819 2005-11-22  Michael Smith <msmith@fluendo.com>
820
821         * gst/gstutils.c: (gst_util_clock_time_scale):
822         * gst/gstutils.h:
823         * docs/gst/gstreamer-sections.txt:
824           Rename method to have extra underscore.
825
826 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
827
828         * gst/elements/Makefile.am:
829         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
830         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
831         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
832         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
833         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
834         * gst/elements/gstfakesrc.h:
835         * gst/gstqueue.c: (queue_leaky_get_type):
836           correctly fix GEnumValues so that nick is the short lowercase
837           dashed tag
838         * tools/gst-inspect.c: (print_element_properties_info):
839           also show the nick, since it's useful to use from parse_launch
840           syntax
841           Fixes #322139
842
843 2005-11-22  Michael Smith <msmith@fluendo.com>
844
845         * gst/gstutils.c: (gst_util_clocktime_scale):
846         * gst/gstutils.h:
847         * docs/gst/gstreamer-sections.txt:
848           Add util method for scaling a clocktime by a fraction. Useful 
849           implementation is left as an exercise for the reader.
850
851 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
852
853         * gst/gstvalue.c: (gst_value_collect_fraction_range):
854         If needed, allocate storage in the destination value during
855         collection.
856
857 2005-11-22  Edward Hervey  <edward@fluendo.com>
858
859         * docs/gst/gstreamer-sections.txt:
860         * gst/Makefile.am:
861         * gst/gst.h:
862         * gst/gsturitype.c:
863         * gst/gsturitype.h:
864         * gst/gstutils.c: (gst_util_set_object_arg):
865         * tools/gst-compprep.c: (main):
866         * tools/gst-inspect.c: (print_element_properties_info):
867         Removed GstURI, closes bug #321061
868
869 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
870
871         * check/gst/gststructure.c: (GST_START_TEST):
872         * gst/gststructure.c: (gst_structure_parse_value):
873           Oops, broke automatic string type parsing.
874           Add a test to catch it in future.
875
876 2005-11-22  Andy Wingo  <wingo@pobox.com>
877
878         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
879         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
880         Actually rename the function implementations. Grr.
881
882 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
883
884         * check/gst/capslist.h:
885           Comment test cases
886         * check/gst/gststructure.c: (GST_START_TEST),
887         (gst_structure_suite):
888           Test automatic value type detection in gst_structure_from_string.
889         * gst/gststructure.c: (gst_structure_parse_value):
890           Add fraction as a type we try and guess automatically in
891           caps/structure strings.
892
893 2005-11-22  Andy Wingo  <wingo@pobox.com>
894
895         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
896
897         * gst/gsttagsetter.h:
898         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
899         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
900         (gst_tag_setter_add_tag_valist)
901         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
902         _add_values, _add_valist, and _add_valist_values. Since this is an
903         interface the function suffixes should be more explicit so
904         language binding don't end up with element.add_valist ->
905         gst_tag_setter_add_valist, for example. Fixes #322069.
906
907 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
908
909         * check/gst/gstcaps.c: (GST_START_TEST):
910           Extend caps string tests to check that a caps to string
911           conversion is reversible and produces the same caps.
912
913         * gst/gststructure.c: (gst_structure_value_get_generic_type):
914           Output "fraction" as the generic type fraction range, so caps
915           serialisation and deserialisation works.
916         * check/gst/capslist.h:
917         * gst/gstvalue.c: (gst_value_deserialize_fraction):
918           Support 'MIN' and 'MAX' for deserialising fractions.
919
920 2005-11-22  Andy Wingo  <wingo@pobox.com>
921
922         * gst/gstevent.h (gst_event_new_new_segment)
923         (gst_event_parse_new_segment, gst_event_new_buffer_size)
924         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
925         Renamed from *_newsegment, *_buffersize, *_notarget.
926
927         * scripts/update-funcnames: New script, performs the changes
928         listed above.
929
930 2005-11-22  Wim Taymans  <wim@fluendo.com>
931
932         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
933         Make sure the GstFlowReturn is returned.
934
935         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
936         (gst_bus_add_signal_watch):
937         * gst/gstbus.h:
938         add gst_bus_add_signal_watch_full.
939
940         * gst/gstplugin.c: (gst_plugin_load_file):
941         Small style cleanup.
942
943 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
944
945         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
946           Block the fakesrc srcpad when we send an event, to avoid
947           contention on the stream_lock causing random test failures.
948
949 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
950
951         * check/gst/gstvalue.c: (GST_START_TEST):
952         * gst/gstvalue.c: (gst_value_fraction_subtract):
953           Fix subtraction.
954
955 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
956
957         * gst/gst.h:
958           include "gstchildproxy.h"
959         * gst/gstchildproxy.h:
960         * libs/gst/controller/gstcontroller.h:
961           use G_GNUC_NULL_TERMINATED
962
963 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
964
965         * check/gst/capslist.h:
966         * check/gst/gstcaps.c: (GST_START_TEST):
967         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
968         * gst/gststructure.c: (gst_structure_parse_range),
969         (gst_structure_fixate_field_nearest_fraction):
970         * gst/gststructure.h:
971         * gst/gstvalue.c: (gst_value_init_fraction_range),
972         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
973         (gst_value_collect_fraction_range),
974         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
975         (gst_value_set_fraction_range_full),
976         (gst_value_get_fraction_range_min),
977         (gst_value_get_fraction_range_max),
978         (gst_value_serialize_fraction_range),
979         (gst_value_transform_fraction_range_string),
980         (gst_value_compare_fraction_range),
981         (gst_value_deserialize_fraction_range),
982         (gst_value_intersect_fraction_fraction_range),
983         (gst_value_intersect_fraction_range_fraction_range),
984         (gst_value_subtract_fraction_fraction_range),
985         (gst_value_subtract_fraction_range_fraction),
986         (gst_value_subtract_fraction_range_fraction_range),
987         (gst_value_collect_fraction), (gst_value_fraction_multiply),
988         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
989         (gst_value_transform_string_fraction), (_gst_value_initialize):
990         * gst/gstvalue.h:
991           Implement fraction ranges and extend GstFraction to support
992           arithmetic subtraction, as well as deserialization from integer
993           strings such as "100"
994           Add a testsuite as for int and double range set operations
995
996 2005-11-21  Andy Wingo  <wingo@pobox.com>
997
998         * gst/gsttaglist.h: 
999         * gst/gstcaps.h: 
1000         * gst/gststructure.h: Add glib-compat.h.
1001
1002 2005-11-21  Wim Taymans  <wim@fluendo.com>
1003
1004         * gst/gstbin.c: (gst_bin_change_state_func):
1005         Fix for #321595
1006
1007 2005-11-21  Wim Taymans  <wim@fluendo.com>
1008
1009         * gst/gstsegment.h:
1010         And add a nice define too.
1011
1012 2005-11-21  Wim Taymans  <wim@fluendo.com>
1013
1014         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1015         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1016         (gst_segment_set_duration), (gst_segment_set_last_stop),
1017         (gst_segment_set_seek), (gst_segment_set_newsegment),
1018         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1019         (gst_segment_clip):
1020         * gst/gstsegment.h:
1021         Make binding friendly.
1022
1023 2005-11-21  Andy Wingo  <wingo@pobox.com>
1024
1025         * gst/gsttagsetter.h: 
1026         * gst/gsttaglist.h: 
1027         * gst/gststructure.h: 
1028         * gst/gstcaps.h: 
1029         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1030         #319940.
1031
1032         * gst/gsterror.c (_gst_core_errors_init):
1033         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1034         category.
1035
1036         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1037         (noinst_HEADERS): noinst the -private.
1038
1039 2005-11-21  Michael Smith <msmith@fluendo.com>
1040
1041         * gst/gstplugin.h:
1042         * gst/gstregistry.h:
1043           Remove unimplemented declarations for which we can see no sensible
1044           use.
1045
1046 2005-11-21  Andy Wingo  <wingo@pobox.com>
1047
1048         * gst/gst.h: Include glib-compat.h.
1049
1050         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1051
1052         * gst/glib-compat.c: Include the public and the private header.
1053
1054         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1055
1056         * gst/gstvalue.c: 
1057         * gst/gstpad.c: 
1058         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1059
1060         * check/gst/gstevent.c (create_custom_events): Check that
1061         FLUSH_STOP is serialized.
1062
1063         * check/elements/identity.c (event_func): 
1064         * check/elements/fakesrc.c (event_func): No stream lock, the core
1065         takes it.
1066
1067         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1068         stream lock taking, yay.
1069
1070         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1071         ensure that core takes the stream lock.
1072
1073         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1074         lock name change.
1075
1076         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1077         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1078         it already. For the flush start we do take it though so we get the
1079         right preroll state change messages.
1080
1081         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1082         the stream lock here, the core does it for us.
1083
1084         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1085         GST_STREAM_GET_LOCK.
1086         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1087         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1088         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1089         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1090         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1091         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1092
1093         * gst/gstpad.c: Update for stream lock name change.
1094
1095         * gst/base/gstbasesink.c: Update for preroll lock name change.
1096
1097 2005-11-21  Wim Taymans  <wim@fluendo.com>
1098
1099         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1100         (gst_clock_get_master):
1101         * gst/gstclock.h:
1102         * gst/gstsystemclock.c: (gst_system_clock_init):
1103         Convert Clock flags to object flags.
1104         Added methods to manage master/slave clocks.
1105
1106 2005-11-21  Wim Taymans  <wim@fluendo.com>
1107
1108         * check/gst/gstsegment.c: (GST_START_TEST):
1109         * docs/design/part-TODO.txt:
1110         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1111         (gst_base_sink_event), (gst_base_sink_do_sync),
1112         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1113         (gst_base_sink_query), (gst_base_sink_change_state):
1114         * gst/base/gstbasesink.h:
1115         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1116         (gst_base_src_default_newsegment),
1117         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1118         (gst_base_src_get_range), (gst_base_src_loop),
1119         (gst_base_src_change_state):
1120         * gst/base/gstbasesrc.h:
1121         * gst/base/gstbasetransform.c:
1122         (gst_base_transform_prepare_output_buf),
1123         (gst_base_transform_event), (gst_base_transform_change_state):
1124         * gst/base/gstbasetransform.h:
1125         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1126         (gst_collect_pads_event):
1127         * gst/base/gstcollectpads.h:
1128         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1129         (gst_fake_src_create):
1130         * gst/elements/gstfakesrc.h:
1131         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1132         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1133         (gst_segment_set_last_stop), (gst_segment_set_seek),
1134         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1135         (gst_segment_to_running_time), (gst_segment_clip):
1136         * gst/gstsegment.h:
1137         More segment updates, replace code in plugins with segment
1138         helper functions.
1139
1140 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1141
1142         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1143         Don't ignore sscanf results
1144
1145 2005-11-21  Andy Wingo  <wingo@pobox.com>
1146
1147         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1148
1149         * *.h:
1150         * *.c: Ran scripts/update-macros. Oh yes.
1151
1152         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1153         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1154         GST_GET_LOCK, etc.
1155
1156         * scripts/update-macros: New script. Run it on your files to
1157         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1158         well.
1159
1160 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1161
1162         * docs/gst/Makefile.am:
1163         * docs/gst/gstreamer-docs.sgml:
1164         * docs/gst/gstreamer-sections.txt:
1165         * docs/gst/gstreamer.types:
1166         * gst/gstinfo.h:
1167           more docs fixes, add new api to the docs
1168
1169 2005-11-21  Andy Wingo  <wingo@pobox.com>
1170
1171         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1172         state_broadcast call.
1173
1174         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1175
1176 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1177
1178         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1179         function calls for arrays.
1180
1181 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1182
1183         * docs/random/ensonic/media-device-daemon.txt:
1184           wild idea, can this be done?
1185         * docs/gst/gstreamer-sections.txt:
1186         * gst/gsterror.h:
1187         * gst/gstfilter.c:
1188         * gst/gstfilter.h:
1189         * gst/gstplugin.h:
1190         * gst/gstpluginfeature.c:
1191         * gst/gsttrace.c:
1192         * gst/gstvalue.c:
1193         * gst/gstvalue.h:
1194           doc fixes and additions
1195
1196 2005-11-21  Andy Wingo  <wingo@pobox.com>
1197
1198         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1199         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1200         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1201         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1202         private to the basesrc implementation.
1203
1204         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1205         behalf of event function if necessary. It should no longer be
1206         necessary to take the stream lock in pad's event functions. Fixes
1207         #320299.
1208
1209 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1210         * docs/gst/gstreamer-sections.txt:
1211         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1212         (gst_structure_fixate_field_nearest_double),
1213         (gst_structure_fixate_field_boolean):
1214         * gst/gststructure.h:
1215         * win32/common/libgstreamer.def:
1216         * win32/gstreamer.def:
1217
1218         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1219         (#322027)
1220
1221 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1222
1223         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1224         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1225         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1226         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1227         (gst_fdsrc_uri_handler_init):
1228         * gst/elements/gstfdsrc.h:
1229           Port fd:// URI handler from 0.8 to fdsrc
1230
1231 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1232
1233         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1234         (gst_value_serialize_fourcc):
1235         * gst/gstvalue.h:
1236           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1237           consistent with our other format defines (#320324).
1238
1239 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1240
1241         * gst/gstvalue.c: (gst_value_is_fixed):
1242           Revert previous commit. Value lists are by definition
1243           not fixed, as they are a list of possible values.
1244
1245 2005-11-21  Andy Wingo  <wingo@pobox.com>
1246
1247         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1248         during the stable series if we need it. Fixes #319178.
1249
1250         * gst/gstevent.c (gst_event_new_filler): Removed.
1251
1252         * check/gst/gstevent.c: Update comment about filler events.
1253
1254 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1255
1256         * gst/gstvalue.c: (gst_value_is_fixed):
1257           Should handle both value arrays and value lists.
1258
1259 2005-11-21  Andy Wingo  <wingo@pobox.com>
1260
1261         patch by: Alessandro Dessina <alessandro nnva org>
1262
1263         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1264         functions to access arrays. Fixes #321962.
1265
1266 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1267
1268         * docs/gst/gstreamer.types:
1269           gst_collectpads_get_type => gst_collect_pads_get_type.
1270           
1271         * gst/base/gstbasetransform.c:
1272           Remove unused SIGNAL_HANDOFF enum.
1273
1274 2005-11-21  Andy Wingo  <wingo@pobox.com>
1275
1276         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1277         the event type (upstream, downstream, serialized). Renamed
1278         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1279         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1280         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1281
1282         * gst/gstevent.c: Update for new CUSTOM event names.
1283
1284         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1285
1286         * gst/gstevent.h:
1287         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1288         bug #319392.
1289
1290 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1291
1292         * docs/gst/gstreamer-sections.txt:
1293         * win32/common/libgstbase.def:
1294         * win32/libgstbase.def:
1295         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1296         (gst_collect_pads_class_init), (gst_collect_pads_init),
1297         (gst_collect_pads_finalize), (gst_collect_pads_new),
1298         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1299         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1300         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1301         (gst_collect_pads_start), (gst_collect_pads_stop),
1302         (gst_collect_pads_peek), (gst_collect_pads_pop),
1303         (gst_collect_pads_available), (gst_collect_pads_read),
1304         (gst_collect_pads_flush), (gst_collect_pads_event),
1305         (gst_collect_pads_chain):
1306         * gst/base/gstcollectpads.h:
1307           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1308           unimplemented functions as unimplemented. Add padding to
1309           GstCollectData. (#320766, #320423)
1310
1311 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1312
1313         * gst/gstmessage.c:
1314           Improve docs for DURATION message (usage of duration parameter)
1315           (#320113)
1316
1317 2005-11-20  Wim Taymans  <wim@fluendo.com>
1318
1319         * check/Makefile.am:
1320         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1321         (main):
1322         * gst/Makefile.am:
1323         * gst/gst.h:
1324         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1325         (gst_segment_set_seek), (gst_segment_set_newsegment),
1326         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1327         (gst_segment_clip):
1328         * gst/gstsegment.h:
1329         Added segment helper structure and methods. Not fully implemented
1330         yet.
1331         Added segment check.
1332
1333 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1334
1335         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1336           Add a deserialisation test for fractions
1337         * examples/metadata/read-metadata.c: (message_loop),
1338         (make_pipeline), (main):
1339           Fix up metadata reading sample.
1340         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1341           Debug format fix
1342         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1343           Don't try and fixate empty caps
1344         * gst/gst_private.h:
1345           Wrap in G_BEGIN_DECLS/G_END_DECLS
1346         * gst/gstvalue.c: (gst_value_collect_fraction),
1347         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1348         (gst_value_transform_string_fraction),
1349         (gst_value_compare_fraction):
1350           Add some extra guards to ensure that we don't end up 
1351           with an invalid denominator of 0 in a gstfraction and
1352           that fractions always get reduced.
1353
1354 2005-11-20  Wim Taymans  <wim@fluendo.com>
1355
1356         * docs/gst/gstreamer-sections.txt:
1357         * gst/gstbuffer.h:
1358         * gst/gstelement.c:
1359         * gst/gstformat.c:
1360         * gst/gstformat.h:
1361         * gst/gstindex.h:
1362         * gst/gstquery.c:
1363         * gst/gstquery.h:
1364         * gst/gstvalue.c:
1365         Doc fixes.
1366
1367 2005-11-20  Wim Taymans  <wim@fluendo.com>
1368
1369         * docs/design/part-TODO.txt:
1370         * gst/gstcaps.h:
1371         Make a proper enum of the flag.
1372
1373 2005-11-19  Wim Taymans  <wim@fluendo.com>
1374
1375         * docs/design/part-TODO.txt:
1376         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1377         (gst_format_to_quark), (gst_format_register):
1378         * gst/gstformat.h:
1379         * gst/gstquery.c: (_gst_query_initialize),
1380         (gst_query_type_get_name), (gst_query_type_to_quark),
1381         (gst_query_type_register):
1382         * gst/gstquery.h:
1383         Add type to quark and type to string conversions.
1384
1385 2005-11-19  Andy Wingo  <wingo@pobox.com>
1386
1387         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1388         #320097.
1389
1390 2005-11-19  Wim Taymans  <wim@fluendo.com>
1391
1392         * docs/design/part-TODO.txt:
1393         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1394         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1395         (gst_bin_handle_message_func):
1396         * gst/gstbin.h:
1397         Make message handling overridable.
1398
1399 2005-11-19  Andy Wingo  <wingo@pobox.com>
1400
1401         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1402
1403         * gst/gstclock.h:
1404         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1405         be a GstClockTime.
1406         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1407         is a GstClockTime. Fixes #321710.
1408
1409         * gst/gstclock.h (GstClock): Remove offset property. Add
1410         internal_calibration and external_calibration. Fix padding. Pad
1411         also by GstClockTime so we don't run into problems.
1412
1413         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1414         (gst_clock_get_rate_offset): Remove.
1415         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1416
1417         * gst/gstutils.h:
1418         * gst/gstutils.c (g_static_rec_cond_wait)
1419         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1420
1421         * gst/gstbin.c: Remove terrible continue_state prototype.
1422
1423         * gst/gstelement.h (gst_element_continue_state): Make public.
1424
1425         * gst/gstelement.h:
1426         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1427         by continue_state. Fixes #319389.
1428
1429         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1430         Really fixes #168438. However I don't see anywhere where the
1431         filter function is called... stupid GStreamer...
1432         
1433         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1434         don't have a dispose function, so it won't get called when the
1435         object is unreffed, but oh well!
1436
1437         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1438         allows a destroy function to be set so user_data can be freed.
1439         Fixes #168438.
1440         (gst_index_set_filter): Call gst_index_set_filter_full.
1441
1442         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1443
1444         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1445         string should produce an error, given the lack of a way to
1446         represent NULL strings. Fixes #165650.
1447         
1448         * gst/gstvalue.h: 
1449         * gst/gstvalue.c (gst_value_array_append_value) 
1450         (gst_value_array_prepend_value, gst_value_array_get_size) 
1451         (gst_value_array_get_value): New API, copied from
1452         gst_value_list_*, only operates on arrays.
1453         (gst_value_list_append_value, gst_value_list_prepend_value) 
1454         (gst_value_list_concat, gst_value_list_get_size) 
1455         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1456
1457         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1458         init_list, because it works on both.
1459         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1460         (gst_value_copy_list_or_array): Renamed from copy_list.
1461         (gst_value_free_list_or_array): Renamed from free_list.
1462         (gst_value_collect_list_or_array): Renamed from collect_list.
1463         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1464         (gst_value_list_or_array_peek_pointer): Renamed from
1465         list_peek_pointer.
1466         (_gst_value_array_value_table, _gst_value_list_value_table):
1467         Update value table functions.
1468         (gst_value_compare_list_or_array): Renamed from compare_list.
1469
1470         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1471         some constness.
1472
1473         * gst/gsttaglist.c:
1474         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1475         GstTagList*. Fixes #143472.
1476
1477         * gst/gststructure.h: Clarify what the foreach/map functions can
1478         or can't do to their arguments.
1479
1480 2005-11-18  Wim Taymans  <wim@fluendo.com>
1481
1482         * gst/gstclock.c: (gst_clock_set_calibration),
1483         (gst_clock_get_calibration):
1484         Doc and API fixes.
1485         Calibration can be set with internal time equal to current
1486         internal time too.
1487
1488 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1489
1490         * gst/gsterror.c:
1491         * gst/gsterror.h:
1492           document
1493
1494 2005-11-18  Andy Wingo  <wingo@pobox.com>
1495
1496         * configure.ac: 
1497         * pkgconfig/gstreamer-net.pc.in:
1498         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1499         * pkgconfig/Makefile.am: Add net pkgconfig files.
1500
1501 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1502
1503         * gst/gstcaps.c:
1504         * gst/gstghostpad.c:
1505         * gst/gsttrace.c:
1506         * gst/gstvalue.c:
1507         * gst/gstvalue.h:
1508           docs fixes
1509
1510 2005-11-18  Andy Wingo  <wingo@pobox.com>
1511
1512         * gst/net/gstnetclientclock.c: Turn off debugging.
1513
1514         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1515         times connverge somewhat. Can't make a real test.
1516
1517         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1518         integer arithmetic. Return the minimum of the domain, which can be
1519         set as "internal" for gst_clock_set_calibration.
1520         (gst_net_client_clock_observe_times): Call _set_calibration.
1521         (gst_net_client_clock_new): Call _set_calibration instead of
1522         rate_offset.
1523
1524         * check/net/gstnetclientclock.c (test_functioning): Use the right
1525         adjustment api.
1526
1527         * gst/gstclock.h:
1528         * gst/gstclock.c (gst_clock_get_calibration) 
1529         (gst_clock_set_calibration): New functions, obsolete the ones I
1530         added yesterday. Doh. Precision issues mean we have to extrapolate
1531         from a point in the more recent past than 1970.
1532         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1533         obsolete.
1534         (gst_clock_adjust_unlocked): Use the right calibration data.
1535
1536 2005-11-18  Edward Hervey  <edward@fluendo.com>
1537
1538         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1539         Also reset the ->current_* values in READY->PAUSED
1540
1541 2005-11-18  Andy Wingo  <wingo@pobox.com>
1542
1543         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1544         Whoops, check the right fd. Also add some debugging.
1545         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1546         (do_linear_regression): Add a crapload of debugging. Subtract off
1547         the minimum values from the input series to discard unneeded bits.
1548         Use only int arithmetic. There is still double arithmetic when
1549         calculating the intercept that needs fixing. Return boolean to
1550         indicate success; FALSE would mean the domain or range is too
1551         great. Still needs fixes.
1552
1553 2005-11-18  Wim Taymans  <wim@fluendo.com>
1554
1555         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1556         For the current position in stream time, we need to subtract
1557         accumulated time.
1558         
1559         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1560         Release lock before calling the callback function of async
1561         entries.
1562
1563 2005-11-18  Andy Wingo  <wingo@pobox.com>
1564
1565         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1566         Port goes all the way to MAXUINT16.
1567
1568         * gst/net/gstnettimeprovider.c: Make the port range the same as
1569         for the kernel: 0 assigns, otherwise ports are less than
1570         MAXUINT16.
1571
1572         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1573         port change.
1574
1575         * check/net/gstnetclientclock.c (test_functioning): Add the start
1576         of another test. 
1577
1578 2005-11-18  Wim Taymans  <wim@fluendo.com>
1579
1580         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1581         (gst_bin_remove_func), (bin_bus_handler):
1582         * gst/gstbin.h:
1583         Removing a clock provider from a bin, triggers a clock lost message
1584         so that a new clock will be selected.
1585         Adding a clock to a bin triggers a clock provider message.
1586         Make sure we reselect a clock when we received a clock lost message.
1587         Keep a reference to the element that provided the clock.
1588
1589 2005-11-18  Andy Wingo  <wingo@pobox.com>
1590
1591         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1592         the clock initially so it produces values around the base time.
1593         (gst_net_client_clock_class_init): Typo fix.
1594         (gst_net_client_clock_thread): Add note on when the socket gets
1595         closed.
1596
1597 2005-11-17  Wim Taymans  <wim@fluendo.com>
1598
1599         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1600         Free remote and local time arrays.
1601
1602 2005-11-17  Wim Taymans  <wim@fluendo.com>
1603
1604         * gst/net/gstnetclientclock.c: (do_linear_regression),
1605         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1606         Fix compilation, uninitialized vars and a forgotten continue.
1607
1608 2005-11-17  Andy Wingo  <wingo@pobox.com>
1609
1610         * check/Makefile.am (check_PROGRAMS): 
1611         * check/net/gstnetclientclock.c: Add a most minimal test for the
1612         net client clock. More to come later.
1613
1614         * gst/net/gstnet.h: 
1615         * gst/net/Makefile.am: Add netclientclock.
1616
1617         * gst/net/gstnetclientclock.h:
1618         * gst/net/gstnetclientclock.c: New files, implement an untested
1619         GstClock that takes its time from a network time provider.
1620         Implements the algorithm in network-clock.scm.
1621
1622         * tests/network-clock.scm (*window-size*): Rename from
1623         *queue-length*.
1624         * tests/network-clock.scm (network-time): 
1625         * tests/network-clock-utils.scm (q-push): Update callers.
1626
1627 2005-11-17  Wim Taymans  <wim@fluendo.com>
1628
1629         * gst/gstbin.c: (gst_bin_provide_clock_func),
1630         (gst_bin_sort_iterator_new):
1631         And unref the child too..
1632
1633 2005-11-17  Wim Taymans  <wim@fluendo.com>
1634
1635         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1636         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1637         Refactor the sort iterator so it can be used while holding the
1638         LOCK too.
1639         Make clock selection select a clock closest to the source.
1640
1641 2005-11-17  Michael Smith <msmith@fluendo.com>
1642
1643         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1644         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1645         * gst/gstclock.h:
1646           Anonymous structs are a gcc (and some other compilers) extension, so
1647           don't use them. Since this is only for ABI-compatibility, and our
1648           API/ABI freeze is over in a few days, this whole thing will only
1649           last a few days, so don't bother trying to think up a meaningful
1650           name for the struct.
1651
1652 2005-11-17  Andy Wingo  <wingo@pobox.com>
1653
1654         * gst/gstclock.h (GstClock): Add rate and offset properties,
1655         preserving ABI stability. Add rate/offset accessors. Will file bug
1656         for the freeze break.
1657
1658         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1659         and offset, trying to keep precision and avoiding
1660         underflow/overflow.
1661         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1662         functions. Make gst_clock_set_time_adjust obsolete.
1663         (gst_clock_set_time_adjust): Note that this function is obsolete.
1664         Will file bug soon.
1665
1666         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1667         greppable by using GST_PADDING-1+1.
1668
1669 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1670
1671         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1672
1673         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1674           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1675
1676         * gst/gstpadtemplate.h:
1677         * gst/gstpluginfeature.h:
1678           Don't use c++ style comments in headers (#321638).
1679
1680 2005-11-16  Andy Wingo  <wingo@pobox.com>
1681
1682         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1683         buffer.
1684
1685         * check/net/gstnettimeprovider.c: Check to see that the time
1686         provider actually provides times. Works, yo!
1687
1688 2005-11-16  Wim Taymans  <wim@fluendo.com>
1689
1690         * check/Makefile.am:
1691         Enable more tests.
1692
1693         * check/elements/fakesrc.c: (GST_START_TEST):
1694         Set element to NULL before disposing it.
1695
1696 2005-11-16  Andy Wingo  <wingo@pobox.com>
1697
1698         * gst/net/Makefile.am:
1699         * gst/net/gstnet.h:
1700         * gst/net/gstnettimeprovider.c: 
1701         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1702         provider, include it from gstnet.h, and add it to the build.
1703
1704         * gst/net/gstnettimepacket.h: 
1705         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1706         sending and receiving.
1707
1708 2005-11-16  Wim Taymans  <wim@fluendo.com>
1709
1710         * check/Makefile.am:
1711         Enable valgrind check.
1712
1713         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1714         (gst_fake_src_alloc_buffer):
1715         Fix memleak.
1716
1717 2005-11-16  Wim Taymans  <wim@fluendo.com>
1718
1719         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1720         Call parent finalize too.
1721
1722 2005-11-16  Wim Taymans  <wim@fluendo.com>
1723
1724         * check/Makefile.am:
1725         Enable valgrind check that should work fine now.
1726
1727         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1728         * gst/gstqueue.c: (gst_queue_init):
1729         Fix memleaks in pad allocation.
1730
1731 2005-11-16  Andy Wingo  <wingo@pobox.com>
1732
1733         * gst/net/Makefile.am:
1734         * gst/net/gstnet.h: New part of core to hold network elements and
1735         objects. Put in core because it exposes API that applications want
1736         to use. The library is named libgstnet-tempname right now because
1737         of the existing libgstnet in gst-plugins-base. Solution is
1738         probably to rename the one in plugins-base; will file a bug for
1739         the freeze break.
1740
1741         * gst/net/gstnettimeprovider.c: 
1742         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1743         get_time call over the network.
1744
1745         * configure.ac: 
1746         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1747
1748         * check/Makefile.am:
1749         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1750         get additions shortly.
1751
1752 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1753
1754         * gst/gstpad.c: (gst_pad_new_from_static_template):
1755         * gst/gstpad.h:
1756           add gst_pad_new_from_static_template functions
1757         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1758         (gst_check_setup_sink_pad):
1759         * gst/elements/gsttee.c: (gst_tee_init):
1760           and use them
1761
1762 2005-11-16  Wim Taymans  <wim@fluendo.com>
1763
1764         * gst/gstpad.c: (gst_pad_pause_task):
1765         Removed warning, it's not really an error either.
1766
1767 2005-11-16  Wim Taymans  <wim@fluendo.com>
1768
1769         * gst/base/gstbasetransform.c:
1770         (gst_base_transform_prepare_output_buf),
1771         (gst_base_transform_event):
1772         Check if the caps are NULL, this can happen if the element
1773         is shutting down and the pad caps are set to NULL.
1774
1775 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1776
1777         * gst/elements/gsttee.c: (gst_tee_init):
1778           fix pad template leak in tee
1779
1780 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1781
1782         * gst/glib-compat.c: (g_value_dup_gst_object):
1783         * gst/glib-compat.h:
1784         * gst/gstpad.c: (gst_pad_set_property):
1785           use gst_object_ref when setting the pad template; this will
1786           trigger the pad template leaks on GLib 2.6 and the slaves
1787
1788 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1789
1790         * gst/glib-compat.c: (gst_flags_get_first_value):
1791         * gst/glib-compat.h:
1792         * gst/gstregistryxml.c:
1793           remove functions copied from GLib 2.6
1794
1795 2005-11-16  Michael Smith <msmith@fluendo.com>
1796
1797         * gst/Makefile.am:
1798           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1799           do, but only breaks with newer valgrind versions. We're not a
1800           valgrind tool, we have no link-time dependencies on libcoregrind.
1801
1802 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1803
1804         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1805           some debug changes
1806         * gst/gstmessage.h:
1807           typo fixes
1808
1809 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1810
1811         * gst/base/gstbasesrc.c: (gst_base_src_init):
1812         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1813         * gst/gstqueue.c: (gst_queue_init):
1814         * gst/gstregistryxml.c: (load_feature):
1815           Revert all these unrefs, they don't even pass make check !
1816
1817 2005-11-15  Johan Dahlin  <johan@gnome.org>
1818
1819         * gst/base/gstbasesrc.c: (gst_base_src_init):
1820         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1821         * gst/gstqueue.c: (gst_queue_init): 
1822         Free pad templates, fixes a couple of leaks.
1823
1824 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1825
1826         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1827
1828         * gst/gstpad.c: (gst_pad_get_property):
1829           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1830           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1831           (#321452)
1832
1833 2005-11-15  Wim Taymans  <wim@fluendo.com>
1834
1835         * gst/gstevent.c:
1836         Small doc update.
1837
1838 2005-11-15  Andy Wingo  <wingo@pobox.com>
1839
1840         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1841
1842         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1843         using GST_CLOCK_TIME_NONE to disable base time management.
1844         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1845         time if it was NONE before.
1846         (gst_pipeline_change_state): Only munge the base time if
1847         stream_time != GST_CLOCK_TIME_NONE.
1848
1849         * check/gst/gstpipeline.c (test_base_time): Punt around the
1850         problem of the probe not being called, because that's not the
1851         issue I'm looking at. Add a check that setting stream_time to NONE
1852         disables base time management.
1853         
1854 2005-11-15  Wim Taymans  <wim@fluendo.com>
1855
1856         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1857         segment_stop == -1 at startup.
1858
1859         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1860         (gst_base_transform_change_state):
1861         Init segment values at start.
1862
1863 2005-11-15  Wim Taymans  <wim@fluendo.com>
1864
1865         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1866         0 segment values are 0 in any format.
1867
1868         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1869         * gst/base/gstbasetransform.h:
1870         Parse newsegment correctly in basetransform
1871
1872         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1873         Sync to clock using updated segment values.
1874
1875 2005-11-15  Andy Wingo  <wingo@pobox.com>
1876
1877         * check/gst/gstpipeline.c (test_base_time): Add check that the
1878         base time and stream time are reset correctly.
1879
1880 2005-11-15  Wim Taymans  <wim@fluendo.com>
1881
1882         * docs/design/part-TODO.txt:
1883         Some more TODO items.
1884
1885 2005-11-15  Andy Wingo  <wingo@pobox.com>
1886
1887         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1888         error if the user selected "no clock" as the clocking method.
1889
1890         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1891         timestamps with live capture.
1892
1893         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1894         is 0 but we are a live source, timestamp the buffers using the
1895         element's clock.
1896
1897 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1898
1899         * docs/gst/gstreamer-sections.txt:
1900         * gst/gsterror.c:
1901         * gst/gstghostpad.c:
1902         * gst/gstobject.h:
1903         * gst/gstxml.c:
1904           more section docs
1905
1906 2005-11-14  Wim Taymans  <wim@fluendo.com>
1907
1908         * common/gst.supp:
1909           add suppressions from Wim's Debian machine
1910
1911 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1912
1913         * common/gst.supp:
1914           add suppressions from Andy's AMD64 Ubuntu machine
1915
1916 2005-11-14  Andy Wingo  <wingo@pobox.com>
1917
1918         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1919         STATE_LOCK not necessary. Fixes #311489.
1920
1921         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1922         #305291.
1923
1924         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1925         this function is not implemented.
1926
1927 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1928
1929         * gst/base/gstbasetransform.c:
1930         (gst_base_transform_prepare_output_buf):
1931         Ref the source pad caps while we need them.
1932         Fixes (#321386)
1933
1934 2005-11-11  Wim Taymans  <wim@fluendo.com>
1935
1936         * docs/gst/gstreamer-sections.txt:
1937         Added some docs for GstCollectData.
1938
1939         * gst/base/gstadapter.c:
1940         Some small code example fix.
1941
1942         * gst/base/gstcollectpads.c:
1943         * gst/base/gstcollectpads.h:
1944         Document some more.
1945
1946 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1947
1948         * configure.ac: back to HEAD
1949
1950 === release 0.9.5 ===
1951
1952 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1953
1954         * configure.ac:
1955           releasing 0.9.5, "Bike Lunch Day"
1956
1957 2005-11-11  Wim Taymans  <wim@fluendo.com>
1958
1959         * gst/gstbuffer.c: (_gst_buffer_copy):
1960         Copy more flags.
1961
1962         * gst/gstcaps.c: (gst_caps_is_equal):
1963         Fix some docs.
1964         Make _is_equal fast in the trivial cases.
1965
1966         * gst/gstminiobject.c:
1967         * gst/gstminiobject.h:
1968         More docs. Spifify .h file.
1969
1970         * gst/gstutils.c:
1971         Small doc update.
1972
1973 2005-11-11  Wim Taymans  <wim@fluendo.com>
1974
1975         * gst/base/gstbasetransform.c:
1976         (gst_base_transform_prepare_output_buf),
1977         (gst_base_transform_handle_buffer):
1978         Small cleanups.
1979         If we're processing a buffer and need to allocate an output
1980         buffer, we cannot accept a format change. If we did get a 
1981         format change, we have to alloc a buffer ourselves of the 
1982         right size.
1983
1984 2005-11-11  Wim Taymans  <wim@fluendo.com>
1985
1986         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1987         While checking the flag for reentrancy in the gstcaps function
1988         is nice to detect recursive invocations, it also makes it 
1989         impossible to call getcaps from multiple threads, which must be
1990         possible. So, checking for recursive calls has to go.
1991
1992 2005-11-11  Michael Smith <msmith@fluendo.com>
1993
1994         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1995           Don't sync on buffers that fall partially outside our current
1996           segment. Prevents an assertion failure/abort playing some files.
1997
1998 2005-11-10  Andy Wingo  <wingo@pobox.com>
1999
2000         * check/gst/gstbin.c (test_message_state_changed_children): Style
2001         fix..
2002
2003         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2004         gst_bus_poll with the signal watch. Ensures that poll and a signal
2005         watch see the same messages.
2006
2007         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2008         a poll and a watch at the same time get the same messages.
2009
2010 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2011
2012         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2013         * gst/gstcaps.c: (gst_caps_intersect):
2014           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2015           and it's not needed.
2016
2017 2005-11-10  Wim Taymans  <wim@fluendo.com>
2018
2019         * docs/design/part-TODO.txt:
2020         Updated todo.
2021
2022 2005-11-10  Wim Taymans  <wim@fluendo.com>
2023
2024         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2025         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2026         (gst_base_src_do_sync), (gst_base_src_get_range):
2027         Implement clock sync in base class.
2028
2029 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2030
2031         patch by: Tim-Philipp Müller <tim at centricular dot net>
2032
2033         * gst/gststructure.c: (gst_structure_parse_field),
2034         (gst_structure_from_string):
2035           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2036           so that gst_parse_launch() can deal with spaces in filtered link
2037           caps (fixes #164479)
2038         * check/gst/capslist.h:
2039         * check/gst/gststructure.c: (GST_START_TEST):
2040           add unit tests for this change
2041
2042 2005-11-10  Wim Taymans  <wim@fluendo.com>
2043
2044         * docs/gst/gstreamer-sections.txt:
2045         * gst/gstelement.c:
2046         * gst/gstelement.h:
2047         Fix docs, move some STATE macros to private.
2048
2049 2005-11-10  Wim Taymans  <wim@fluendo.com>
2050
2051         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2052         Added check for bug #317341
2053
2054         * gst/gstbuffer.c:
2055         * gst/gstbuffer.h:
2056         Some more spiffifying.
2057
2058         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2059         Call peer linkfunction if we are a source pad. Totally fixes
2060         #317341
2061
2062         * gst/gstpad.c:
2063         Update docs, source pads should call the peer linkfunction
2064         so they can atomically perform the pad link.
2065
2066 2005-11-09  Wim Taymans  <wim@fluendo.com>
2067
2068         * gst/gstbuffer.c:
2069         * gst/gstbuffer.h:
2070         Uber-spiffy-spiffify some more.
2071
2072 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2073
2074         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2075         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2076         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2077         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2078         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2079         * gst/gstpad.c: (gst_pad_init):
2080           Use GST_DEBUG_FUNCPTR() more extensively.
2081
2082 2005-11-09  Wim Taymans  <wim@fluendo.com>
2083
2084         * gst/gstobject.c: (gst_object_class_init):
2085         * gst/gstobject.h:
2086         Documentation fixes.
2087
2088 2005-11-09  Edward Hervey  <edward@fluendo.com>
2089
2090         * gst/gsttypefindfactory.c:
2091         Fix docs.
2092         
2093 2005-11-09  Edward Hervey  <edward@fluendo.com>
2094
2095         * gst/base/gsttypefindhelper.c:
2096         * gst/gsttypefind.c:
2097         * gst/gsttypefind.h:
2098         Fix docs.
2099
2100 2005-11-09  Wim Taymans  <wim@fluendo.com>
2101
2102         * gst/gstiterator.c:
2103         Fix revision data.
2104
2105         * gst/gsttask.c:
2106         * gst/gsttask.h:
2107         Fix docs.
2108
2109 2005-11-09  Wim Taymans  <wim@fluendo.com>
2110
2111         * gst/gstevent.h:
2112         * gst/gsturi.h:
2113         Fix docs.
2114
2115 2005-11-09  Wim Taymans  <wim@fluendo.com>
2116
2117         * docs/gst/gstreamer-sections.txt:
2118         Moved the message async delivery private lock and cond
2119         to the private section.
2120
2121         * gst/gstmessage.c:
2122         * gst/gstmessage.h:
2123         Fixed docs.
2124
2125 2005-11-09  Edward Hervey  <edward@fluendo.com>
2126
2127         * docs/gst/gstreamer-sections.txt:
2128         * gst/gsturi.c:
2129         * gst/gsturi.h:
2130         Document GstURIHandler
2131
2132 2005-11-09  Wim Taymans  <wim@fluendo.com>
2133
2134         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2135         (gst_iterator_find_custom):
2136         * gst/gstiterator.h:
2137         Fix iterator docs.
2138
2139 2005-11-09  Wim Taymans  <wim@fluendo.com>
2140
2141         * gst/gstbin.h:
2142         Document another field.
2143
2144         * gst/gststructure.c:
2145         * gst/gststructure.h:
2146         Document.
2147
2148 2005-11-09  Wim Taymans  <wim@fluendo.com>
2149
2150         * gst/gstbin.h:
2151         Documented structs.
2152
2153 2005-11-09  Wim Taymans  <wim@fluendo.com>
2154
2155         * docs/gst/gstreamer-sections.txt:
2156         Added some new macros.
2157
2158         * gst/gstclock.c:
2159         * gst/gstclock.h:
2160         * gst/gstobject.h:
2161         Docs updates.
2162
2163 2005-11-09  Wim Taymans  <wim@fluendo.com>
2164
2165         * docs/design/part-TODO.txt:
2166         Some more items for the TODO
2167
2168         * gst/gstcaps.c:
2169         * gst/gstcaps.h:
2170         Document GstCaps.
2171
2172 2005-11-09  Andy Wingo  <wingo@pobox.com>
2173
2174         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2175         to work on something else now tho...
2176
2177         * gst/base/gstadapter.c: More adapter docs.
2178
2179         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2180         (gst_file_sink_stop): New functions, replace the state change
2181         handler.
2182         (gst_file_sink_class_init): Hook up the start and stop functions.
2183         (gst_file_sink_base_init): Don't set the state change handler any
2184         more. It was a bit ugly too, being set from here...
2185         (gst_file_sink_get_property, gst_file_sink_set_property):
2186         Cleanups...
2187         (gst_file_sink_set_location): More robust check that doesn't call
2188         GST_STATE. Ugggggg.
2189
2190 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2191
2192         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2193           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2194
2195 2005-11-08  Wim Taymans  <wim@fluendo.com>
2196
2197         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2198         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2199         (gst_base_sink_chain), (gst_base_sink_change_state):
2200         * gst/base/gstbasesink.h:
2201         * gst/base/gstbasesrc.h:
2202         * gst/gstelement.h:
2203         * gst/gstevent.h:
2204         Avoid excessive typechecking in macros.
2205
2206         * gst/gstminiobject.c: (gst_mini_object_get_type),
2207         (gst_mini_object_init), (gst_mini_object_new),
2208         (gst_mini_object_free):
2209         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2210         (gst_object_finalize):
2211         Remove cruft code, optimize alloc_trace.
2212
2213 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2214
2215         * docs/faq/gst-uninstalled:
2216           fix up PS1 for systems that try to reset it
2217
2218 2005-11-07  Wim Taymans  <wim@fluendo.com>
2219
2220         * gst/base/gstbasesrc.c: (gst_base_src_init),
2221         (gst_base_src_get_range):
2222         Set the segment_end to -1 initially. Fixed typefind.
2223
2224 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2225
2226         * gst/base/gstadapter.c:
2227           Debug category should be 'adapter', not 'GstAdapter'.
2228           
2229         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2230         (gst_collectpads_class_init), (gst_collectpads_init),
2231         (gst_collectpads_peek), (gst_collectpads_pop),
2232         (gst_collectpads_event), (gst_collectpads_chain):
2233           Add debug category and some debugging output. Use boilerplate
2234           macros. Remove some extraneous words from docs.
2235
2236 2005-11-05  Andy Wingo  <wingo@pobox.com>
2237
2238         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2239         macro.
2240
2241 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2242
2243         * docs/gst/gstreamer-sections.txt:
2244         * gst/gstcaps.h:
2245         * gst/gstinfo.c:
2246         * gst/gstminiobject.h:
2247         * gst/gstobject.h:
2248         * gst/gstutils.h:
2249           more docs added
2250
2251 2005-11-04  Wim Taymans  <wim@fluendo.com>
2252
2253         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2254         Small update to stop at the configured segment_end
2255         position.
2256
2257 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2258
2259         * gst/gstregistry.c:
2260         * gst/gstregistry.h:
2261           added missing docs
2262
2263 2005-11-04  Edward Hervey  <edward@fluendo.com>
2264
2265         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2266         Check if we are doing a segment seek and have arrived at the
2267         end of that segment.
2268
2269 2005-11-04  Wim Taymans  <wim@fluendo.com>
2270
2271         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2272         Don't leak a mutex unlock in case of an error.
2273
2274         * gst/gstbus.h:
2275         Doc fixes.
2276
2277 2005-11-04  Wim Taymans  <wim@fluendo.com>
2278
2279         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2280         (gst_bus_post):
2281         Get the context to wake up only once.
2282
2283 2005-11-03  Wim Taymans  <wim@fluendo.com>
2284
2285         * check/states/sinks.c: (GST_START_TEST):
2286         Uncomment fixed check.
2287
2288         * docs/design/part-TODO.txt:
2289         Updated TODO.
2290
2291         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2292         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2293         (gst_base_sink_get_position):
2294         If we are going to PLAYING, post the right pending state
2295         when we post the intermediate paused message.
2296
2297         * gst/gstelement.c: (gst_element_continue_state),
2298         (gst_element_set_state_func), (gst_element_change_state):
2299         Don't post state changes that were between the same state
2300         and were not ASYNC.
2301
2302 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2303
2304         * docs/gst/gstreamer-sections.txt:
2305         * gst/gstcaps.h:
2306         * gst/gstinfo.c:
2307         * gst/gstminiobject.h:
2308         * gst/gstobject.h:
2309         * gst/gstutils.h:
2310           more docs and doc style fixes
2311
2312 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2313
2314         * docs/gst/gstreamer-sections.txt:
2315         * gst/gstelement.c:
2316         * gst/gstminiobject.c:
2317         doc fixes
2318
2319 2005-11-03  Andy Wingo  <wingo@pobox.com>
2320
2321         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2322         state-changed messages actually have the right order and the right
2323         values.
2324
2325 2005-11-03  Wim Taymans  <wim@fluendo.com>
2326
2327         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2328         Added some more checks. Specifically the case where NO_PREROLL
2329         elements are in the pipeline.
2330
2331         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2332         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2333         (gst_base_sink_get_position):
2334         Post READY->PAUSED state change messages too.
2335         Fix bug where VOID was posted as pending state...
2336
2337         * gst/gstbin.c: (gst_bin_recalc_state):
2338         use _element_continue_state() to continue the state change.
2339
2340         * gst/gstelement.c: (gst_element_continue_state),
2341         (gst_element_commit_state), (gst_element_set_state_func),
2342         (gst_element_change_state), (gst_element_change_state_func):
2343         Lots of state change cleanups, assign the STATE_RETURN in
2344         a new continue_state() function that also propagates the
2345         last return value from a state change to the app.
2346         Update some debug statements with proper category.
2347
2348 2005-11-03  Wim Taymans  <wim@fluendo.com>
2349
2350         * docs/design/part-events.txt:
2351         * docs/design/part-gstpipeline.txt:
2352         * docs/design/part-messages.txt:
2353         * docs/design/part-overview.txt:
2354         * docs/design/part-seeking.txt:
2355         * docs/design/part-states.txt:
2356         * docs/design/part-trickmodes.txt:
2357         * docs/manual/advanced-position.xml:
2358         Small docs updates.
2359
2360         * gst/gstobject.h:
2361         People think !! is ugly, this looks better.
2362
2363         * gst/gstpad.c: (gst_pad_set_blocked_async):
2364         Remove !! since it's fixed elsewhere now.
2365
2366 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2367
2368         * gst/gstminiobject.h:
2369         * gst/gstobject.h:
2370           Add !! to _FLAG_IS_SET macros to make the result boolean.
2371
2372 2005-11-03  Edward Hervey  <edward@fluendo.com>
2373
2374         * gst/gstpad.c: (gst_pad_set_blocked_async):
2375         comparing a flag and a gboolean rarely returns coherent results...
2376         Added two characters (!!) to make that work correctly.
2377         
2378 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2379
2380         * gst/gstbus.c: (gst_bus_class_init):
2381           Fix some typos.
2382           
2383         * gst/gstqueue.c: (gst_queue_loop):
2384           Don't assume a miniobject that isn't a buffer is an
2385           event (it could be that there is a refcounting
2386           problem somewhere and the pointer is stale and
2387           refers to an already destroyed miniobject).
2388
2389 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2390
2391         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2392
2393 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2394
2395         * docs/manual/advanced-position.xml:
2396           Update seek example and explanations to current 0.9 API.
2397
2398         * gst/elements/gsttypefindelement.c:
2399         (gst_type_find_element_activate):
2400           Remove FIXME comment now that the found caps
2401           are unreffed.
2402
2403 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2404
2405         * gst/gstregistryxml.c: (load_feature):
2406           Add another GST_STR_NULL instance
2407
2408 2005-11-02  Edward Hervey  <edward@fluendo.com>
2409
2410         * gst/gstpad.c: (handle_pad_block):
2411         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2412         
2413 2005-11-02  Wim Taymans  <wim@fluendo.com>
2414
2415         * gst/gstbin.c:
2416         Fix typo in docs.
2417
2418         * gst/gstelement.c: (gst_element_commit_state):
2419         Remove unused value.
2420
2421         * gst/gstiterator.c:
2422         Mention that the returned element is reffed in the docs.
2423
2424 2005-11-02  Wim Taymans  <wim@fluendo.com>
2425
2426         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2427         (gst_pad_push), (gst_pad_push_event):
2428         Unlock blocked pads when they are flushed.
2429
2430 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2431
2432         * docs/README:
2433         * docs/gst/gstreamer-sections.txt:
2434         * gst/gstbin.c:
2435           doc updates
2436         * gst/gstregistry.c: (gst_registry_scan_path_level):
2437           fix for a nasty little missed situation where an installed plug-in
2438           which was in the cache did not get overridden by an uninstalled one
2439           which was earlier in the plugin path because the newly created plugin
2440           for the uninstalled one (not in the registry) didn't get its
2441           ->registered set to TRUE
2442
2443 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2444
2445         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2446         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2447         (gst_collectpads_is_active), (gst_collectpads_collect),
2448         (gst_collectpads_collect_range), (gst_collectpads_start),
2449         (gst_collectpads_stop), (gst_collectpads_peek),
2450         (gst_collectpads_pop), (gst_collectpads_available),
2451         (gst_collectpads_read), (gst_collectpads_flush):
2452           Guard public API with assertions.
2453         
2454         * gst/gstpad.c:
2455           Fix docs for gst_pad_set_link_function().
2456
2457 2005-11-02  Johan Dahlin  <johan@gnome.org>
2458
2459         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2460         Unref found_caps after we used it.
2461
2462 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2463
2464         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2465           Don't try to ref NULL.
2466
2467 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2468
2469         * win32/common/config.h.in:
2470           provide a GST_FUNCTION that just gives a string for now
2471
2472 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2473
2474         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2475         (gst_object_flags_get_type), (register_gst_bin_flags),
2476         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2477         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2478         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2479         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2480         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2481         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2482         (gst_clock_flags_get_type), (register_gst_state),
2483         (gst_state_get_type), (register_gst_state_change_return),
2484         (gst_state_change_return_get_type), (register_gst_state_change),
2485         (gst_state_change_get_type), (register_gst_element_flags),
2486         (gst_element_flags_get_type), (register_gst_core_error),
2487         (gst_core_error_get_type), (register_gst_library_error),
2488         (gst_library_error_get_type), (register_gst_resource_error),
2489         (gst_resource_error_get_type), (register_gst_stream_error),
2490         (gst_stream_error_get_type), (register_gst_event_type),
2491         (gst_event_type_get_type), (register_gst_seek_type),
2492         (gst_seek_type_get_type), (register_gst_seek_flags),
2493         (gst_seek_flags_get_type), (register_gst_format),
2494         (gst_format_get_type), (register_gst_index_certainty),
2495         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2496         (gst_index_entry_type_get_type),
2497         (register_gst_index_lookup_method),
2498         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2499         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2500         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2501         (gst_index_flags_get_type), (register_gst_debug_level),
2502         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2503         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2504         (gst_iterator_result_get_type), (register_gst_iterator_item),
2505         (gst_iterator_item_get_type), (register_gst_message_type),
2506         (gst_message_type_get_type), (register_gst_mini_object_flags),
2507         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2508         (gst_pad_link_return_get_type), (register_gst_flow_return),
2509         (gst_flow_return_get_type), (register_gst_activate_mode),
2510         (gst_activate_mode_get_type), (register_gst_pad_direction),
2511         (gst_pad_direction_get_type), (register_gst_pad_flags),
2512         (gst_pad_flags_get_type), (register_gst_pad_presence),
2513         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2514         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2515         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2516         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2517         (gst_plugin_flags_get_type), (register_gst_rank),
2518         (gst_rank_get_type), (register_gst_query_type),
2519         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2520         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2521         (gst_tag_flag_get_type), (register_gst_task_state),
2522         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2523         (gst_alloc_trace_flags_get_type),
2524         (register_gst_type_find_probability),
2525         (gst_type_find_probability_get_type), (register_gst_uri_type),
2526         (gst_uri_type_get_type), (register_gst_parse_error),
2527         (gst_parse_error_get_type):
2528         * win32/common/gstversion.h:
2529           update win32 copies
2530
2531 2005-11-01  Luca Ognibene  <luogni@tin.it>
2532
2533         * gst/gst.c:
2534           fix docs. popt is dead, long live GOption.
2535
2536 2005-10-31  Wim Taymans  <wim@fluendo.com>
2537
2538         * gst/gstbuffer.h:
2539         Small doc fix.
2540
2541 2005-10-31  Andy Wingo  <wingo@pobox.com>
2542
2543         * Boo!
2544
2545         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2546
2547         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2548         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2549         the possibility of deadlocks here if code calling notify() or
2550         set() has a lock that can be taken in another notify handler (ABBA
2551         with class lock and e.g. python GIL state lock).
2552
2553 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2554
2555         * gst/gstbus.c: Doc updates.
2556
2557 2005-10-28  Wim Taymans  <wim@fluendo.com>
2558
2559         * docs/design/part-TODO.txt:
2560         * gst/gstiterator.c:
2561         * gst/gstsystemclock.c:
2562         * gst/gstsystemclock.h:
2563         Doc updates.
2564
2565 2005-10-28  Edward Hervey  <edward@fluendo.com>
2566
2567         * docs/gst/gstreamer-docs.sgml:
2568         * docs/gst/gstreamer-sections.txt:
2569         the GstURIType documentation page is private, it only defines GstURIType
2570         which should be defined in the GstURIHandler page
2571         
2572 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2573
2574         * gst/gstbin.c: (gst_bin_class_init):
2575         * gst/gstbin.h:
2576         * gst/gstutils.c:
2577         Documentation updates.
2578
2579 2005-10-28  Wim Taymans  <wim@fluendo.com>
2580
2581         * docs/gst/gstreamer-sections.txt:
2582         * gst/gstclock.c:
2583         * gst/gstclock.h:
2584         Documented the clocks.
2585
2586 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2587
2588         * docs/gst/gstreamer-sections.txt:
2589           move some macros to private sections
2590         * gst/gstminiobject.c:
2591         * gst/gstminiobject.h:
2592           add descriptions provided by ds and some more
2593         * gst/gstpad.h:
2594           mark macro as to be removed
2595
2596 2005-10-28  Wim Taymans  <wim@fluendo.com>
2597
2598         * docs/design/part-TODO.txt:
2599         Add an item to TODO.
2600
2601         * gst/gstiterator.c: (gst_iterator_fold),
2602         (gst_iterator_find_custom):
2603         * gst/gstiterator.h:
2604         Add iterator docs.
2605
2606 2005-10-28  Wim Taymans  <wim@fluendo.com>
2607
2608         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2609         (gst_base_transform_init):
2610         Don't leak class.
2611
2612         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2613         An EOS event marks the queue as completely filled.
2614
2615 2005-10-27  Wim Taymans  <wim@fluendo.com>
2616
2617         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2618         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2619         Some more debugging.
2620
2621         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2622         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2623         (gst_base_transform_event), (gst_base_transform_getrange),
2624         (gst_base_transform_chain):
2625         * gst/base/gstbasetransform.h:
2626         Fix debugging,
2627         Protect transform and concurrent buffer alloc with a new lock.
2628         Try not to break ABI/API.
2629
2630 2005-10-27  Wim Taymans  <wim@fluendo.com>
2631
2632         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2633         (gst_base_src_init), (gst_base_src_query),
2634         (gst_base_src_default_newsegment),
2635         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2636         (gst_base_src_send_event), (gst_base_src_event_handler),
2637         (gst_base_src_pad_get_range), (gst_base_src_loop),
2638         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2639         (gst_base_src_start), (gst_base_src_deactivate),
2640         (gst_base_src_activate_push), (gst_base_src_change_state):
2641         Move some stuff around and cleanup things.
2642
2643 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2644
2645         * gst/base/gstbasesrc.c: (gst_base_src_query):
2646           Add missing break statements.
2647
2648 2005-10-27  Wim Taymans  <wim@fluendo.com>
2649
2650         * check/gst/gstbin.c: (GST_START_TEST):
2651         An extra refcount is taken in basesrc.
2652
2653         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2654         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2655         (gst_base_src_loop):
2656         Small cleanups, check for flushing after being unlocked from the 
2657         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2658         Don't send out EOS when going to READY.
2659
2660 2005-10-27  Wim Taymans  <wim@fluendo.com>
2661
2662         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2663         (gst_base_sink_get_position):
2664         Some more debug.
2665
2666         * gst/gstbin.c: (message_check), (bin_replace_message),
2667         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2668         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2669         (bin_query_duration_init), (bin_query_duration_fold),
2670         (bin_query_duration_done), (bin_query_generic_fold),
2671         (gst_bin_query):
2672         * tools/gst-launch.c: (main):
2673         Remove old option.
2674
2675 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2676
2677         * examples/controller/audio-example.c: (main):
2678         * examples/queue/queue.c: (event_loop):
2679         * gst/base/gstbasetransform.h:
2680         * gst/gstelement.c: (gst_element_send_event):
2681         * gst/gstevent.h:
2682         * gst/gstpad.c: (gst_pad_send_event):
2683           fixing examples
2684           fixing docs typos
2685           changing log priority in error situations
2686
2687 2005-10-25  Wim Taymans  <wim@fluendo.com>
2688
2689         * gst/gstbin.c: (message_check), (bin_replace_message),
2690         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2691         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2692         (bin_query_duration_init), (bin_query_duration_fold),
2693         (bin_query_duration_done), (bin_query_generic_fold),
2694         (gst_bin_query):
2695         Some doc and debug updates.
2696         Cache previously requested query DURATION for speed. invalidate
2697         cached duration if element posts a DURATION message.
2698
2699 2005-10-25  Wim Taymans  <wim@fluendo.com>
2700
2701         * docs/design/part-TODO.txt:
2702         Update TODO.
2703
2704         * gst/gstbin.c: (message_check), (bin_replace_message),
2705         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2706         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2707         (bin_query_duration_init), (bin_query_duration_fold),
2708         (bin_query_duration_done), (bin_query_generic_fold),
2709         (gst_bin_query):
2710         Handle SEGMENT_START/DONE messages correctly.
2711         More evolved query algorithm that handles duration queries
2712         correctly.
2713
2714         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2715         (gst_element_get_state_func), (gst_element_abort_state),
2716         (gst_element_commit_state), (gst_element_lost_state):
2717         Some more debugging.
2718
2719         * gst/gstmessage.h:
2720         Added doc.
2721
2722 2005-10-25  Wim Taymans  <wim@fluendo.com>
2723
2724         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2725         Don't use invalid stream_time.
2726
2727         * gst/gstevent.c: (gst_event_new_newsegment):
2728         stream_time in newsegment cannot be undefined.
2729
2730 2005-10-24  Wim Taymans  <wim@fluendo.com>
2731
2732         * gst/gstbus.c:
2733         Doc fix.
2734
2735         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2736         (gst_queue_loop):
2737         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2738
2739 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2740
2741         * docs/libs/tmpl/gstdparam.sgml:
2742         * docs/libs/tmpl/gstdplinint.sgml:
2743         * docs/libs/tmpl/gstdpman.sgml:
2744         * docs/libs/tmpl/gstdpsmooth.sgml:
2745         * docs/libs/tmpl/gstunitconvert.sgml:
2746           these are obsolete
2747
2748 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2749
2750         * configure.ac:
2751           back to HEAD
2752
2753 === release 0.9.4 ===
2754
2755 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2756
2757         * configure.ac:
2758           releasing 0.9.4, "Tyrannosaurus Rex"
2759
2760 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2761
2762         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2763         (gst_file_sink_get_current_offset):
2764           Use fseeko() and ftello() if available. When falling back on
2765           lseek() to get the current offset, fflush() first to make sure
2766           everything is up-to-date and we get the right offset.
2767
2768 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2769
2770         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2771         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2772         * gst/gsterror.c: (_gst_stream_errors_init):
2773         * gst/gsterror.h:
2774         * gst/gstqueue.c: (gst_queue_loop):
2775         * po/POTFILES.in:
2776           remove prematurely added error category and clean up the instances
2777
2778 2005-10-21  Wim Taymans  <wim@fluendo.com>
2779
2780         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2781         (gst_base_sink_get_position), (gst_base_sink_query),
2782         (gst_base_sink_change_state):
2783         Simply set the right flag when going to playing, that's all
2784         we need to do instead of calling a function inside the object
2785         lock (that could take the lock as well and deadlock)
2786
2787 2005-10-21  Wim Taymans  <wim@fluendo.com>
2788
2789         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2790         (gst_base_src_loop):
2791         Don't warn, the peer element knows what to do best when
2792         the seek failed, it might try something else.
2793
2794 2005-10-21  Wim Taymans  <wim@fluendo.com>
2795
2796         * gst/base/gstbasesrc.c: (gst_base_src_init),
2797         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2798         Fix seeking.
2799
2800 2005-10-21  Wim Taymans  <wim@fluendo.com>
2801
2802         * docs/design/part-segments.txt:
2803         More docs.
2804
2805         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2806         Correctly set caps, even on the subbufer.
2807
2808 2005-10-21  Wim Taymans  <wim@fluendo.com>
2809
2810         * docs/gst/gstreamer-docs.sgml:
2811         * docs/gst/gstreamer-sections.txt:
2812         * gst/gstelement.h:
2813         * gst/gstevent.c:
2814         * gst/gstevent.h:
2815         * gst/gstmessage.h:
2816         * gst/gstpad.h:
2817         * gst/gstparse.h:
2818         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2819         * gst/gsttask.h:
2820         * gst/gstutils.c:
2821         * gst/gstutils.h:
2822         And 2% more doc coverage.
2823
2824 2005-10-21  Andy Wingo  <wingo@pobox.com>
2825
2826         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2827         position reporting.
2828
2829 2005-10-20  Wim Taymans  <wim@fluendo.com>
2830
2831         * gst/gsterror.c: (gst_error_get_message):
2832         * gst/gstparse.h:
2833         * gst/gstquery.h:
2834         * gst/gststructure.c:
2835         * gst/gsttrace.c:
2836         * gst/gstutils.c:
2837         More docs.
2838
2839 2005-10-20  Wim Taymans  <wim@fluendo.com>
2840
2841         * gst/gstbuffer.h:
2842         * gst/gstpad.c:
2843         * gst/gstparse.c:
2844         Another 1% more coverage.
2845
2846 2005-10-20  Wim Taymans  <wim@fluendo.com>
2847
2848         * docs/gst/gstreamer-sections.txt:
2849         * gst/gstelement.c: (gst_element_get_state_func),
2850         (gst_element_abort_state), (gst_element_commit_state),
2851         (gst_element_lost_state):
2852         * gst/gstevent.h:
2853         * gst/gstquery.c: (gst_query_set_position),
2854         (gst_query_parse_position), (gst_query_set_duration),
2855         (gst_query_parse_duration), (gst_query_new_convert):
2856         * gst/gstutils.c:
2857         Yay! 1% more docs coverage.
2858
2859 2005-10-20  Wim Taymans  <wim@fluendo.com>
2860
2861         * gst/gstpad.h:
2862         * gst/gstquery.c: (gst_query_set_position),
2863         (gst_query_parse_position), (gst_query_set_duration),
2864         (gst_query_parse_duration), (gst_query_new_convert):
2865         * gst/gstquery.h:
2866         * gst/gstutils.c: (gst_element_query_convert):
2867         * gst/gstutils.h:
2868         Docs and consistency fixes.
2869
2870 2005-10-20  Wim Taymans  <wim@fluendo.com>
2871
2872         * gst/gsttask.c:
2873         * gst/gsttask.h:
2874         More docs.
2875
2876 2005-10-20  Wim Taymans  <wim@fluendo.com>
2877
2878         * gst/gstbin.c: (message_check), (bin_replace_message),
2879         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2880         (update_degree), (gst_bin_sort_iterator_next),
2881         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2882         Reworked the message handling a bit, cache the messages instead of
2883         only the senders. alows us to do more in the future.
2884
2885 2005-10-20  Wim Taymans  <wim@fluendo.com>
2886
2887         * docs/design/part-TODO.txt:
2888         Update TODO
2889
2890         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2891         (gst_base_sink_query):
2892         Don't use clock time to report position when in EOS.
2893
2894 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2895
2896         * tools/gst-inspect.c: (print_interfaces),
2897         (print_element_properties_info), (print_element_info):
2898           Fix interface output with gst-inspect -a; don't print
2899           newlines after double/float properties.
2900
2901 2005-10-20  Wim Taymans  <wim@fluendo.com>
2902
2903         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2904         (gst_base_sink_query):
2905         Speed up current position calculation.
2906
2907         * gst/base/gstbasesrc.c: (gst_base_src_query),
2908         (gst_base_src_default_newsegment):
2909         Correctly set stream position in newsegment.
2910
2911         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2912         (update_degree), (gst_bin_sort_iterator_next),
2913         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2914         * gst/gstmessage.c: (gst_message_new_custom):
2915         Clean up debugging info
2916
2917         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2918         (gst_queue_loop), (gst_queue_handle_src_query):
2919         Pause task faster.
2920
2921 2005-10-19  Wim Taymans  <wim@fluendo.com>
2922
2923         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2924         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2925         Fix query handling again.
2926
2927 2005-10-19  Wim Taymans  <wim@fluendo.com>
2928
2929         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2930         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2931         * gst/base/gstbasesrc.c: (gst_base_src_query):
2932         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2933         * gst/elements/gsttypefindelement.c:
2934         (gst_type_find_handle_src_query), (find_element_get_length),
2935         (gst_type_find_element_activate):
2936         API change fix.
2937
2938         * gst/gstquery.c: (gst_query_new_position),
2939         (gst_query_set_position), (gst_query_parse_position),
2940         (gst_query_new_duration), (gst_query_set_duration),
2941         (gst_query_parse_duration), (gst_query_set_segment),
2942         (gst_query_parse_segment):
2943         * gst/gstquery.h:
2944         Bundling query position/duration is not a good idea since duration
2945         does not change much and we don't want to recalculate it for every
2946         position query, so they are separated again..
2947         Base value in segment query is not needed.
2948
2949         * gst/gstqueue.c: (gst_queue_handle_src_query):
2950         * gst/gstutils.c: (gst_element_query_position),
2951         (gst_element_query_duration), (gst_pad_query_position),
2952         (gst_pad_query_duration):
2953         * gst/gstutils.h:
2954         Updates for query API change.
2955         Added some docs here and there.
2956
2957 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2958
2959         * check/gst/gstbin.c: (GST_START_TEST):
2960         * check/gst/gstghostpad.c: (GST_START_TEST):
2961         * check/pipelines/cleanup.c: (GST_START_TEST):
2962           wait on thread to die so we can check refcount correctly
2963
2964 2005-10-18  Wim Taymans  <wim@fluendo.com>
2965
2966         * check/pipelines/stress.c: (GST_START_TEST):
2967         Make check a little more time consuming.
2968
2969 2005-10-18  Wim Taymans  <wim@fluendo.com>
2970
2971         * check/Makefile.am:
2972         * check/pipelines/stress.c: (GST_START_TEST),
2973         (simple_launch_lines_suite), (main):
2974         Small state change torture test.
2975
2976         * docs/design/part-states.txt:
2977         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2978         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2979         (gst_base_sink_change_state):
2980         Never take state lock from streaming thread, clean up ugly
2981         hacks. Unfortunatly core does not yet support nice ways to
2982         async commit state.
2983         
2984         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2985         (bin_bus_handler):
2986         Start state recalc if a STATE_DIRTY message is posted, but only
2987         on the toplevel bin.
2988
2989         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2990         (gst_element_get_state_func), (gst_element_abort_state),
2991         (gst_element_commit_state), (gst_element_lost_state),
2992         (gst_element_set_state_func), (gst_element_change_state):
2993         * gst/gstelement.h:
2994         State variables are now protected with the LOCK, the state
2995         lock is only used to serialize _set_state().
2996
2997 2005-10-18  Wim Taymans  <wim@fluendo.com>
2998
2999         * check/gst/gstbin.c: (GST_START_TEST):
3000         * check/gst/gstmessage.c: (GST_START_TEST):
3001         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3002         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3003         (bin_bus_handler):
3004         * gst/gstelement.c: (gst_element_abort_state),
3005         (gst_element_commit_state), (gst_element_lost_state):
3006         * gst/gstmessage.c: (gst_message_new_state_changed),
3007         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3008         (gst_message_new_segment_done), (gst_message_new_duration),
3009         (gst_message_parse_state_changed),
3010         (gst_message_parse_segment_start),
3011         (gst_message_parse_segment_done), (gst_message_parse_duration):
3012         * gst/gstmessage.h:
3013         * tools/gst-launch.c: (event_loop):
3014         Seriously, this is better than a previous commit as we only need
3015         to notify the fact that an element changed state in a streaming
3016         thread, marking the state of the parents dirty, hence the 
3017         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3018         message.
3019
3020 2005-10-18  Wim Taymans  <wim@fluendo.com>
3021
3022         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3023         (gst_bin_recalc_func):
3024         * gst/gstelement.c: (gst_element_set_clock),
3025         (gst_element_abort_state), (gst_element_lost_state):
3026         Cleanups, prepare for state change fixes.
3027
3028 2005-10-18  Wim Taymans  <wim@fluendo.com>
3029
3030         * gst/gstbin.h:
3031         * gst/gstelement.c: (gst_element_class_init),
3032         (gst_element_set_state), (gst_element_set_state_func):
3033         * gst/gstelement.h:
3034         Pending ABI changes.
3035         GThreadPool in GstBinClass to monitor async state changes.
3036         state_cookie in GstElement to detect concurrent gst/set state.
3037         set_state is now virtual too in case a very complicated element
3038         has to be constructed.
3039
3040 2005-10-18  Wim Taymans  <wim@fluendo.com>
3041
3042         * check/gst/gstbin.c: (GST_START_TEST):
3043         * check/gst/gstmessage.c: (GST_START_TEST):
3044         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3045         * gst/gstbin.c: (bin_bus_handler):
3046         * gst/gstelement.c: (gst_element_commit_state),
3047         (gst_element_lost_state):
3048         * gst/gstmessage.c: (gst_message_new_state_changed),
3049         (gst_message_new_segment_start), (gst_message_new_segment_done),
3050         (gst_message_new_duration), (gst_message_parse_state_changed),
3051         (gst_message_parse_segment_start),
3052         (gst_message_parse_segment_done), (gst_message_parse_duration):
3053         * gst/gstmessage.h:
3054         * tools/gst-launch.c: (event_loop):
3055         Make messages future proof.
3056         state-change gets a flag if it was a message comming from the
3057         streaming thread.
3058         segment-start/stop can also be specified in other formats.
3059         A message to notify an app that a pipeline changed playback 
3060         duration.
3061         Also fix a GstMessage leak in -launch
3062
3063 2005-10-18  Andy Wingo  <wingo@pobox.com>
3064
3065         * gst/gstelement.c (gst_element_dispose): More helpful message.
3066
3067 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3068
3069         reviewed by: <delete if not using a buddy>
3070
3071         * common/gtk-doc.mak:
3072
3073 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3074
3075         * gst/gstregistry.c: (gst_registry_scan_path_level):
3076           unref a plug-in we get that was already initialized
3077
3078 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3079
3080         * docs/gst/gstreamer-sections.txt:
3081         * docs/libs/gstreamer-libs-sections.txt:
3082         * gst/gstelement.h:
3083           add new api entries
3084           hide internal macro
3085
3086 2005-10-17  Andy Wingo  <wingo@pobox.com>
3087
3088         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3089         cleanup.
3090
3091         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3092
3093         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3094
3095         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3096         (gst_element_get_state_func): Better debug message.
3097         (gst_element_commit_state): s/INFO/DEBUG/.
3098         (gst_element_lost_state, gst_element_change_state): 
3099
3100         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3101         (gst_message_new_custom): s/INFO/LOG/.
3102
3103 2005-10-17  Michael Smith <msmith@fluendo.com>
3104
3105         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3106           Check if end time is valid using end time, not start time.
3107
3108 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3109
3110         * check/gst-libs/controller.c: (GST_START_TEST),
3111         (gst_controller_suite):
3112         * libs/gst/controller/gstcontroller.c:
3113         (gst_controlled_property_set_interpolation_mode):
3114         * libs/gst/controller/gstcontroller.h:
3115         * libs/gst/controller/gstinterpolation.c:
3116         * testsuite/controller/.cvsignore:
3117         * testsuite/controller/Makefile.am:
3118         * testsuite/controller/interpolator.c:
3119           merge controller testsuites
3120           fix broken tests
3121           remove mem-chunk from docs
3122
3123 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3124
3125         * gst/gstmemchunk.c:
3126         * gst/gstmemchunk.h:
3127         * gst/gsttrashstack.c:
3128         * gst/gsttrashstack.h:
3129           out.  get out.  you're fired.  to the Attic !
3130
3131 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3132
3133         * gst/gstcaps.c: (gst_caps_intersect):
3134           fix signedness issues in a (hopefully) correct way
3135         * gst/gstelement.c: (gst_element_pads_activate):
3136           some debugging
3137         * gst/gstobject.c: (gst_object_set_parent):
3138           some debugging
3139
3140 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3141
3142         * gst/gstvalue.h: Fix prototypes.
3143
3144 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3145
3146         * docs/gst/gstreamer-sections.txt:
3147         * gst/gst.c: (gst_version_string):
3148         * gst/gst.h:
3149         * gst/gstversion.h.in:
3150         * win32/common/libgstreamer.def:
3151           add gst_version_string ()
3152
3153 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3154
3155         * configure.ac:
3156           clean up further
3157         * gst/gst.c: (init_post):
3158         * win32/common/config.h.in:
3159           it's PLUGINDIR now
3160         * gst/gstcaps.c: (gst_caps_intersect):
3161           use gint64, the range could be bigger than a guint
3162
3163 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3164
3165         * gst/gstclock.h:
3166           document potential problem in 2038
3167
3168 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3169
3170         * gst/gstcaps.c: (gst_caps_intersect):
3171           Fix guint j diving under 0
3172
3173 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3174
3175         * configure.ac:
3176         * win32/common/config.h:
3177         * win32/common/config.h.in:
3178           check for process.h, declares getpid() on Windows
3179         * gst/gstinfo.c:
3180           include process.h if we have it
3181         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3182         * gst/gstmemchunk.h:
3183           fix signedness issues
3184         * win32/common/libgstreamer.def:
3185           fix get_type's
3186
3187 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3188
3189         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3190         fix. Because of unsigned ints, caps intersection was going nuts and
3191         trying to access structures with G_MAXUINT index. That fixes
3192         videotestsrc ! ffmpegcolorspace ! fakesink
3193         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3194         consistency.
3195
3196 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3197
3198         * configure.ac:
3199           use the gettext macro
3200         * gst/elements/gstelements.c:
3201         * gst/gst.c:
3202         * gst/indexers/gstindexers.c:
3203           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3204         * win32/common/config.h:
3205           updated config.h
3206         * win32/common/config.h.in:
3207           add the template to generate config.h
3208         * win32/common/gstenumtypes.c:
3209         * win32/common/gstversion.h:
3210           updated copies
3211
3212 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3213
3214         * gst/gst.c: (gst_version):
3215         * gst/gstversion.h.in:
3216           add the nano
3217
3218 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3219
3220         * gst/gstevent.h:
3221           Oops, add missing closing bracket.
3222
3223 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3224
3225         * configure.ac:
3226           use common m4's for argument checking
3227
3228 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3229
3230         * docs/gst/gstreamer-sections.txt:
3231         * gst/gstevent.h:
3232           Add GST_EVENT_TYPE_NAME() macro.
3233
3234 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3235
3236         * gst/gstinfo.c:
3237         * gst/gstpluginfeature.c:
3238         * gst/gsttask.c:
3239           privatize more symbols
3240
3241 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3242
3243         * configure.ac:
3244           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3245           everything that uses GStreamer API should have the includes
3246
3247 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3248
3249         * docs/gst/gstreamer-sections.txt:
3250         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3251         * gst/gstvalue.h:
3252           give each value a _get_type, removes the DATA exports
3253
3254 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3255
3256         * gst/gst.c:
3257         * gst/gst.h:
3258           remove _gst_registry_auto_load, not used anymore
3259         * gst/gstbin.c: (gst_bin_get_type):
3260         * gst/gstbin.h:
3261         * gst/gstelement.c: (gst_element_get_type):
3262         * gst/gstelement.h:
3263         * gst/gstobject.c: (gst_object_get_type):
3264         * gst/gstobject.h:
3265         * gst/gstpad.c: (gst_pad_get_type):
3266         * gst/gstpad.h:
3267           make _get_type functions similar, fixes data export from library
3268
3269 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3270
3271         * configure.ac:
3272           correctly make conditionals
3273         * gst/elements/Makefile.am:
3274         * gst/elements/gstelements.c:
3275           fix typo causing fdsrc not to build
3276
3277 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3278
3279         * testsuite/Makefile.am:
3280         * testsuite/bytestream/.cvsignore:
3281         * testsuite/bytestream/Makefile.am:
3282         * testsuite/bytestream/filepadsink.c:
3283         * testsuite/bytestream/gstbstest.c:
3284         * testsuite/bytestream/test1.c:
3285         * testsuite/bytestream/testfile1:
3286         * testsuite/caps/normalisation.c:
3287         * testsuite/caps/random.c: (main):
3288         * testsuite/cleanup/.cvsignore:
3289         * testsuite/cleanup/Makefile.am:
3290         * testsuite/cleanup/cleanup1.c:
3291         * testsuite/cleanup/cleanup2.c:
3292         * testsuite/cleanup/cleanup3.c:
3293         * testsuite/cleanup/cleanup4.c:
3294         * testsuite/cleanup/cleanup5.c:
3295         * testsuite/controller/interpolator.c:
3296         * testsuite/debug/printf_extension.c: (main):
3297         * testsuite/elements/tee.c:
3298         * testsuite/negotiation/.cvsignore:
3299         * testsuite/negotiation/Makefile.am:
3300         * testsuite/negotiation/pad_link.c:
3301         * testsuite/pad/Makefile.am:
3302         * testsuite/pad/chainnopull.c:
3303         * testsuite/pad/getnopush.c:
3304         * testsuite/pad/link.c:
3305         * testsuite/refcounting/sched.c: (create_pipeline):
3306         * testsuite/registry/Makefile.am:
3307         * testsuite/registry/gst-print-formats.c:
3308         * testsuite/schedulers/.cvsignore:
3309         * testsuite/schedulers/142183-2.c:
3310         * testsuite/schedulers/142183.c:
3311         * testsuite/schedulers/143777-2.c:
3312         * testsuite/schedulers/143777.c:
3313         * testsuite/schedulers/147713.c:
3314         * testsuite/schedulers/147819.c:
3315         * testsuite/schedulers/147894-2.c:
3316         * testsuite/schedulers/147894.c:
3317         * testsuite/schedulers/Makefile.am:
3318         * testsuite/schedulers/group_link.c:
3319         * testsuite/schedulers/queue_link.c:
3320         * testsuite/schedulers/relink.c:
3321         * testsuite/schedulers/unlink.c:
3322         * testsuite/schedulers/unref.c:
3323         * testsuite/schedulers/useless_iteration.c:
3324         * testsuite/states/bin.c:
3325           clean out/remove some stuff from the testsuite directories
3326
3327 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3328
3329         * configure.ac:
3330           check for some headers
3331         * gst/elements/Makefile.am:
3332         * gst/elements/gstelements.c:
3333           don't compile fdsrc without sys/socket.h
3334         * gst/indexers/Makefile.am:
3335         * gst/indexers/gstindexers.c: (plugin_init):
3336           don't compile fileindex without mmap
3337
3338 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3339
3340         * configure.ac:
3341           reorganize
3342           clean up
3343           document more
3344           remove cruft
3345         * check/Makefile.am:
3346         * docs/gst/Makefile.am:
3347         * examples/helloworld/Makefile.am:
3348         * gst/Makefile.am:
3349         * gst/base/Makefile.am:
3350         * gst/check/Makefile.am:
3351         * gst/elements/Makefile.am:
3352         * gst/indexers/Makefile.am:
3353         * gst/parse/Makefile.am:
3354         * libs/gst/controller/Makefile.am:
3355         * libs/gst/dataprotocol/Makefile.am:
3356         * examples/helloworld/helloworld.c: (event_loop):
3357           compile fixes, though it's not being compiled currently
3358
3359 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3360
3361         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3362           Add some simple tests for the new taglist date API.
3363
3364 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3365
3366         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3367         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3368           Beautify 'last-message' output: print 'none' for buffer timestamps
3369           and durations if none is set; improve alignment with next messages.
3370
3371 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3372
3373         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3374         * gst/gstpluginfeature.h:
3375         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3376         * gst/gstregistry.h:
3377         * docs/gst/gstreamer-sections.txt:
3378           Add new API to check plugin feature version requirements.
3379
3380         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3381           Some basic tests for the above.         
3382
3383 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3384
3385         * gst/gststructure.c: (gst_structure_to_string):
3386           guard against NULL printf - happens when for example
3387           a message structure with GstClock gets serialized
3388
3389 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3390
3391         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3392           Fix presumable copy'n'pasto.
3393
3394 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3395
3396         * gst/elements/gstfakesrc.h:
3397         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3398         * gst/elements/gsttypefindelement.c:
3399           fix some signedness
3400         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3401           I wonder if this could actually write +2GB files before
3402
3403 2005-10-13  Andy Wingo  <wingo@pobox.com>
3404
3405         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3406         Fix Timmeke Waymans bug.
3407         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3408         string of the proper length to gst_caps_from_string. There's a
3409         potential for, before this fix, that this could cause someone
3410         connecting over the network to cause a segfault if the payload is
3411         not NUL-terminated.
3412
3413 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3414
3415         * docs/design/draft-push-pull.txt:
3416         * docs/design/part-overview.txt:
3417         * docs/random/TODO-pre-0.9:
3418         * docs/random/old/ChangeLog.gstreamer:
3419         * gst/base/gstpushsrc.c:
3420         * gst/gstclock.c:
3421           fixed typos
3422
3423 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3424
3425         * gst/glib-compat.c: (gst_flags_get_first_value):
3426         * gst/glib-compat.h:
3427         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3428         (gst_value_compare_double), (gst_value_serialize_flags):
3429           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3430           infinite loop
3431
3432 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3433
3434         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3435         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3436           fix up debugging
3437         * tools/gst-launch.c: (event_loop):
3438           print out clock nicely
3439
3440 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3441
3442         * docs/gst/gstreamer-sections.txt:
3443         * gst/gsttaglist.h:
3444         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3445         (gst_tag_list_get_date_index):
3446           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3447           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3448
3449 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3450
3451         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3452         (gst_collectpads_chain):
3453         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3454         in CollectData.
3455
3456 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3457
3458         * docs/gst/gstreamer-sections.txt:
3459         * gst/gst.c:
3460         * gst/gsterror.h:
3461         * tools/gst-inspect.c: (main):
3462         * tools/gst-launch.c: (main):
3463         * tools/gst-run.c: (main):
3464         * tools/gst-xmlinspect.c: (main):
3465           fix GOption context leaks
3466           doc fixes
3467
3468 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3469
3470         * gst/gstbus.c:
3471           use HAVE_UNISTD_H
3472         * win32/common/config.h:
3473           update config
3474         * win32/vs6/grammar.dsp:
3475         * win32/vs6/libgstelements.dsp:
3476         * win32/vs6/libgstreamer.dsp:
3477           update vs6 files
3478
3479 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3480
3481         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3482         * gst/base/gstbasesrc.c: (gst_base_src_query):
3483           fix more guint64<->gdouble conversions
3484
3485 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3486
3487         * Makefile.am:
3488           add win32-update target
3489         * win32/common/gstconfig.h:
3490         * win32/common/gstenumtypes.c:
3491         * win32/common/gstenumtypes.h:
3492         * win32/common/gstversion.h:
3493           add files that visual studio can't generate
3494
3495 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3496
3497         * Makefile.am:
3498           add a win32-update target
3499         * configure.ac:
3500
3501 2005-10-12  Wim Taymans  <wim@fluendo.com>
3502
3503         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3504         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3505         * gst/gstelement.c: (gst_element_commit_state),
3506         (gst_element_set_state):
3507         Protect flags with proper lock.
3508         unref provided cached clock in dispose.
3509
3510 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3511
3512         * gst/gst.c:
3513         * gst/gstminiobject.h:
3514         * gst/gstpad.h:
3515         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3516           removed unused flags from miniobject
3517           doc fixes
3518
3519 2005-10-12  Wim Taymans  <wim@fluendo.com>
3520
3521         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3522         (gst_file_sink_event), (gst_file_sink_render):
3523         Flush before seeking.
3524
3525 2005-10-12  Andy Wingo  <wingo@pobox.com>
3526
3527         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3528         always been the case.
3529
3530 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3531
3532         * check/gst/gstbin.c: (GST_START_TEST):
3533         * docs/gst/gstreamer-sections.txt:
3534         * gst/base/gstbasesink.c: (gst_base_sink_init):
3535         * gst/base/gstbasesrc.c: (gst_base_src_init),
3536         (gst_base_src_get_range), (gst_base_src_check_get_range),
3537         (gst_base_src_start), (gst_base_src_stop):
3538         * gst/base/gstbasesrc.h:
3539         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3540         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3541         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3542         (bin_bus_handler):
3543         * gst/gstbin.h:
3544         * gst/gstbuffer.h:
3545         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3546         * gst/gstbus.h:
3547         * gst/gstelement.c: (gst_element_is_locked_state),
3548         (gst_element_set_locked_state), (gst_element_commit_state),
3549         (gst_element_set_state):
3550         * gst/gstelement.h:
3551         * gst/gstindex.c: (gst_index_init):
3552         * gst/gstindex.h:
3553         * gst/gstminiobject.h:
3554         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3555         (gst_object_set_parent):
3556         * gst/gstobject.h:
3557         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3558         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3559         * gst/gstpad.h:
3560         * gst/gstpadtemplate.h:
3561         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3562         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3563         * gst/gstpipeline.h:
3564         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3565         (gst_file_index_commit):
3566         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3567         * testsuite/pad/link.c: (gst_test_src_init),
3568         (gst_test_filter_init), (gst_test_sink_init):
3569         * testsuite/states/locked.c: (main):
3570           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3571           moved bitshift from macro to enum definition
3572
3573 2005-10-12  Wim Taymans  <wim@fluendo.com>
3574
3575         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3576         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3577         (gst_file_sink_render):
3578         Some more debugging info.
3579
3580 2005-10-12  Wim Taymans  <wim@fluendo.com>
3581
3582         * docs/design/part-states.txt:
3583         * tools/gst-launch.c: (main):
3584         Some doc updates.
3585         Revert non-intentional change.
3586
3587 2005-10-12  Wim Taymans  <wim@fluendo.com>
3588
3589         * check/gst/gstbin.c: (GST_START_TEST):
3590         * check/gst/gstelement.c: (GST_START_TEST):
3591         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3592         * check/gst/gstghostpad.c: (GST_START_TEST):
3593         * check/gst/gstpipeline.c: (GST_START_TEST):
3594         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3595         * check/states/sinks.c: (GST_START_TEST):
3596         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3597         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3598         (gst_bin_remove_func), (gst_bin_get_state_func),
3599         (gst_bin_recalc_state), (gst_bin_change_state_func),
3600         (bin_bus_handler):
3601         * gst/gstelement.c: (gst_element_get_state_func),
3602         (gst_element_get_state), (gst_element_abort_state),
3603         (gst_element_commit_state), (gst_element_set_state),
3604         (gst_element_change_state), (gst_element_change_state_func):
3605         * gst/gstelement.h:
3606         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3607         (gst_pipeline_provide_clock_func):
3608         * gst/gstutils.c: (gst_element_link_pads_filtered):
3609         * tools/gst-launch.c: (main):
3610         * tools/gst-typefind.c: (main):
3611         Use GstClockTime in _get_state() instead of GTimeVal.
3612         Remove old code in gstutils.c
3613
3614 2005-10-12  Andy Wingo  <wingo@pobox.com>
3615
3616         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3617         removed.
3618
3619         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3620         there is no task. Shouldn't affect any code, as nothing in our
3621         plugins checks this return value.
3622         (gst_pad_stop_task): Also take the stream lock if the pad has no
3623         task. Docs updated.
3624
3625 2005-10-12  Wim Taymans  <wim@fluendo.com>
3626
3627         * gst/gstpad.c: (pre_activate), (post_activate),
3628         (gst_pad_activate_pull), (gst_pad_activate_push):
3629         Cleanup activation code. Reset old state if
3630         activation failed.
3631
3632 2005-10-12  Wim Taymans  <wim@fluendo.com>
3633
3634         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3635         (gst_base_sink_change_state):
3636         No need to prerol after receiving EOS.
3637
3638         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3639         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3640         * gst/elements/gstidentity.c: (gst_identity_event):
3641         Print events more verbosely.
3642
3643 2005-10-12  Wim Taymans  <wim@fluendo.com>
3644
3645         * check/Makefile.am:
3646         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3647         * check/states/sinks2.c:
3648         Moved sinks2 testcode in sinks check.
3649
3650         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3651         (gst_bin_remove_func), (gst_bin_recalc_state),
3652         (gst_bin_change_state_func), (bin_bus_handler):
3653         Fix potential race condition when _get_state() iterated over an
3654         ASYNC element right before it posted a state completion.
3655
3656         * gst/gstclock.h:
3657         Do proper cast here.
3658
3659         * gst/gstevent.c: (gst_event_new_newsegment),
3660         (gst_event_parse_newsegment):
3661         A playback rate of 0.0 is not allowed.
3662
3663 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3664
3665         * win32/common/config.h:
3666         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3667         (_trewinddir), (_ttelldir), (_tseekdir):
3668         * win32/common/dirent.h:
3669         * win32/common/gtchar.h:
3670         * win32/common/libgstbase.def:
3671         * win32/common/libgstreamer.def:
3672         * win32/vs6/grammar.dsp:
3673         * win32/vs6/gst_inspect.dsp:
3674         * win32/vs6/gst_launch.dsp:
3675         * win32/vs6/gstreamer.dsw:
3676         * win32/vs6/libgstbase.dsp:
3677         * win32/vs6/libgstelements.dsp:
3678         * win32/vs6/libgstreamer.dsp:
3679           Visual Studio 6 project files, and a new common directory.
3680           Phear.
3681
3682 2005-10-11  Wim Taymans  <wim@fluendo.com>
3683
3684         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3685         (gst_base_sink_do_sync), (gst_base_sink_query),
3686         (gst_base_sink_change_state):
3687         * gst/base/gstbasesink.h:
3688         Correctly parse newsegment info.
3689
3690 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3691
3692         * gst/gst.c: (init_post):
3693           split plugin paths correctly
3694
3695 2005-10-11  Wim Taymans  <wim@fluendo.com>
3696
3697         * check/gst/gstevent.c: (GST_START_TEST):
3698         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3699         (gst_base_sink_change_state):
3700         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3701         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3702         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3703         * gst/gstevent.c: (gst_event_new_newsegment),
3704         (gst_event_parse_newsegment):
3705         * gst/gstevent.h:
3706         Added extra flag to newsegment for future API freeze.
3707         Updated check and base elements.
3708
3709 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3710
3711         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3712         (gst_collectpads_add_pad), (gst_collectpads_pop),
3713         (gst_collectpads_event), (gst_collectpads_chain):
3714         * gst/base/gstcollectpads.h: Handle EOS correctly.
3715
3716 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3717
3718         * tools/gst-launch.c: (main):
3719           more null protecting
3720
3721 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3722
3723         * gst/gst-i18n-lib.h:
3724           check for ENABLE_NLS, not GETTEXT_PACKAGE
3725         * gst/gstregistry.c: (gst_registry_add_plugin),
3726         (gst_registry_scan_path_level),
3727         (_gst_registry_remove_cache_plugins):
3728           protect possibly NULL strings
3729         * gst/parse/types.h:
3730           config.h already included before
3731         * tools/gst-inspect.c: (main):
3732           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3733           check for ENABLE_NLS, not GETTEXT_PACKAGE
3734         * tools/gst-launch.c: (main):
3735           check for ENABLE_NLS, not GETTEXT_PACKAGE
3736
3737 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3738
3739         * configure.ac:
3740           if we don't have glib, fail before testing 2.8
3741         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3742           fix a leak, should fix plugins-base testsuite
3743
3744 2005-10-11  Andy Wingo  <wingo@pobox.com>
3745
3746         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3747         take the mode we're going to as an arg. Go head and set the mode
3748         and flushing flags now, so that if the activate function starts a
3749         thread all the flags will be in the right state.
3750         (post_activate): Renamed also. Just handle making sure streaming
3751         finishes for the deactivation case, and setting the deactivated
3752         mode.
3753         (gst_pad_set_active): Complain loudly if deactivation fails.
3754         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3755         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3756         remove the terrible hack.
3757
3758 2005-10-11  Wim Taymans  <wim@fluendo.com>
3759
3760         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3761         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3762         (gst_bin_recalc_state), (gst_bin_change_state_func),
3763         (gst_bin_dispose), (bin_bus_handler):
3764         * gst/gstbin.h:
3765         Prepare to make current EOS message queue more generic.
3766         Fix some typos.
3767
3768         * gst/gstevent.c: (gst_event_new_newsegment),
3769         (gst_event_parse_newsegment):
3770         * gst/gstevent.h:
3771         Rename base to stream_time.
3772
3773         * gst/gstmessage.h:
3774         Fix typo in docs.
3775
3776 2005-10-11  Wim Taymans  <wim@fluendo.com>
3777
3778         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3779         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3780         (gst_bin_change_state_func), (bin_bus_handler):
3781         * gst/gstbin.h:
3782         Work on proper clock selection.
3783
3784 2005-10-11  Edward Hervey  <edward@fluendo.com>
3785
3786         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3787         * libs/gst/controller/gstcontroller.h:
3788         Added GList* version of _remove_properties() in order to be able to wrap
3789         it in bindings.
3790
3791 2005-10-11  Wim Taymans  <wim@fluendo.com>
3792
3793         * docs/design/part-states.txt:
3794         Some more docs.
3795
3796         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3797         (gst_bin_change_state_func), (bin_bus_handler):
3798         Doc updates. Don't distribute the same clock over and over again.
3799
3800         * gst/gstclock.c:
3801         * gst/gstclock.h:
3802         Doc updates.
3803
3804         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3805         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3806         (gst_pad_send_event):
3807         * gst/gstpad.h:
3808         Make probe emission threadsafe again.
3809         Register quarks and move _get_name() from utils.
3810         Doc updates.
3811
3812         * gst/gstpipeline.c: (gst_pipeline_class_init),
3813         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3814         Only redistribute the clock of it changed.
3815
3816         * gst/gstsystemclock.h:
3817         Doc updates. 
3818
3819         * gst/gstutils.c:
3820         * gst/gstutils.h:
3821         Moved the _flow_get_name() to GstPad.
3822
3823 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3824
3825         * check/gst-libs/gdp.c: (GST_START_TEST):
3826         * check/gst/gstcaps.c: (GST_START_TEST):
3827         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3828         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3829         (gst_dp_packet_from_caps):
3830           fix more valgrind warnings before turning up the heat
3831
3832 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3833
3834         * gst/parse/grammar.y:
3835           some cleanup before the hacking
3836
3837 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3838
3839         * gst/base/gstbasesrc.c: (gst_base_src_query):
3840           use conversions
3841         * gst/gstutils.c: (gst_guint64_to_gdouble),
3842         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3843         * gst/gstutils.h:
3844           externalize, basesrc uses it
3845           obviously the implementation needs testing
3846
3847 2005-10-10  Wim Taymans  <wim@fluendo.com>
3848
3849         * tests/sched/Makefile.am:
3850         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3851         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3852
3853 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3854
3855         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3856           apparently converting from guint64 to double is not implemented
3857           on MSVC
3858
3859 2005-10-10  Wim Taymans  <wim@fluendo.com>
3860
3861         * check/Makefile.am:
3862         * check/generic/states.c: (GST_START_TEST):
3863         * check/gst/gstbin.c: (GST_START_TEST):
3864         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3865         * check/states/sinks.c: (GST_START_TEST):
3866         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3867         (main):
3868         Check fixes, use API as stated in design docs, remove hacks.
3869
3870         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3871         (gst_base_sink_change_state):
3872         Catch stopping our task while we're shutting down.
3873
3874         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3875         (gst_bin_remove_func), (gst_bin_get_state_func),
3876         (gst_bin_recalc_state), (gst_bin_change_state_func),
3877         (bin_bus_handler):
3878         * gst/gstbin.h:
3879         * gst/gstelement.c: (gst_element_init),
3880         (gst_element_get_state_func), (gst_element_abort_state),
3881         (gst_element_commit_state), (gst_element_lost_state),
3882         (gst_element_set_state), (gst_element_change_state),
3883         (gst_element_change_state_func):
3884         * gst/gstelement.h:
3885         New state change algorithm (see #318116)
3886
3887         * gst/gstpipeline.c: (gst_pipeline_class_init),
3888         (gst_pipeline_init), (gst_pipeline_set_property),
3889         (gst_pipeline_get_property), (do_pipeline_seek),
3890         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3891         * gst/gstpipeline.h:
3892         Remove crude state change hacks.
3893
3894         * gst/gstutils.h:
3895         Remove crude hacks.
3896
3897         * tools/gst-launch.c: (main):
3898         Fixes for state change. Needs some more work to fully use the
3899         new stuff.
3900
3901 2005-10-10  Andy Wingo  <wingo@pobox.com>
3902
3903         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3904
3905         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3906         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3907         issue.
3908
3909 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3910
3911         * gst/gstiterator.c: (gst_iterator_new):
3912           Fix my previous commit: GTypes passed to gst_iterator_new()
3913           can be fundamental types.
3914
3915 2005-10-10  Wim Taymans  <wim@fluendo.com>
3916
3917         * gst/gstelement.c: (gst_element_iterate_pad_list),
3918         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3919         (gst_element_iterate_sink_pads):
3920         Use src/sink pads lists for the respective iterators instead
3921         of filtering.
3922
3923 2005-10-10  Andy Wingo  <wingo@pobox.com>
3924
3925         Merged in popt removal + GOption addition patch from Ronald, bug
3926         #169772.
3927
3928         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3929         GstElement macros around, remove popt-related symbols, add goption
3930         stuff.
3931
3932         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3933         
3934         * docs/gst/Makefile.am:
3935         * docs/libs/Makefile.am: No POPT_CFLAGS.
3936         
3937         * examples/manual/Makefile.am:
3938         * docs/manual/basics-init.xml: Doc updates with an example.
3939         
3940         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3941         (gst_init), (parse_one_option), (parse_goption_arg):
3942         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3943         bit of hand merging and debugging to get the GOption stuff working
3944         tho.
3945         
3946         * tests/Makefile.am:
3947         * tools/Makefile.am:
3948         * tools/gst-inspect.c: (main):
3949         * tools/gst-launch.c: (main):
3950         * tools/gst-run.c: (main):
3951         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3952
3953 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3954
3955         * gst/gstiterator.c: (gst_iterator_new):
3956           Add assertions to make sure passed GType is likely to really
3957           be a GType (as the compiler won't catch it if the size and
3958           GType arguments get mixed up, see #318447).
3959
3960 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3961
3962         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3963
3964         * gst/gstbin.c: (gst_bin_iterate_sorted):
3965           Pass GType and size arguments to gst_iterator_new() in the right
3966           order (maybe we should make _new() take the GType as first argument
3967           just like _new_list()?) (#318447).
3968           
3969
3970 2005-10-10  Wim Taymans  <wim@fluendo.com>
3971
3972         * gst/gstelement.c: (gst_element_finalize):
3973         And free the GStaticRecMutex too
3974
3975 2005-10-10  Andy Wingo  <wingo@pobox.com>
3976
3977         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3978         Allocate and free the mutex properly.
3979
3980         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3981         New macros.
3982         (GstElement): The state_lock is now recursive. Rebuild your
3983         plugins, suckers. Old macros adapted.
3984
3985         * docs/gst/gstreamer-sections.txt: Doc updates.
3986
3987         * gst/gstutils.h:
3988         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3989         (g_static_rec_cond_wait): Ported from state changes patch, while
3990         we wait on bug #317802 to be solved in a well-distributed GLib.
3991
3992         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3993         gst_element_change_state, variable name changes.
3994         (gst_element_change_state): Split out of gst_element_set_state in
3995         preparation for the state change merge. Doesn't pay attention to
3996         the 'transition' argument.
3997         (gst_element_set_state): Updates, hopefully purely cosmetic.
3998         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3999         state change patch.
4000         (gst_element_get_state_func): Renamed from get_state, cosmetic
4001         changes.
4002
4003 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4004
4005         * gst/elements/gstelements.c:
4006         * win32/GStreamer.vcproj:
4007         * win32/config.h:
4008         * win32/dirent.c: (_tseekdir):
4009         * win32/gst-inspect.vcproj:
4010         * win32/gst-launch.vcproj:
4011         * win32/gstconfig.h:
4012         * win32/gstelements.vcproj:
4013         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4014         * win32/gstreamer.def:
4015         * win32/msvc71.sln:
4016           updates for the win32 build (patch from Sebastien Moutte)
4017
4018 2005-10-10  Andy Wingo  <wingo@pobox.com>
4019
4020         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4021         gst_bin_get_state, cleaned up (but no logic changes).
4022         (bin_element_is_sink): Comment updates.
4023         (sink_iterator_filter): Remove needless cast.
4024         (gst_bin_iterate_sinks): Doc update.
4025         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4026         cleaned up (but no logic changes).
4027
4028         * check/states/sinks.c (test_src_sink): Cleanups from the state
4029         change patch.
4030         (test_livesrc_sink): Sync on the state.
4031
4032         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4033         the state change patch.
4034
4035         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4036         change patch.
4037
4038         * check/gst/gstbin.c: Merge in some style fixes and additional
4039         checks from Wim's state change patch.
4040
4041 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4042
4043         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4044         (gst_type_find_helper):
4045           Check whether we have the requested data already in our list of
4046           cached buffers before pulling a new buffer; also make the buffer
4047           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4048
4049 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4050
4051         * gst/gstcaps.c:
4052         * gst/gstevent.c:
4053           doc updates
4054         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4055           don't use long long, it's not portable.  Replacing with
4056           gint64 seems to work; let's hope no skeletons fall out of the closet.
4057
4058 2005-10-10  Andy Wingo  <wingo@pobox.com>
4059
4060         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4061
4062 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4063
4064         * docs/gst/gstreamer-sections.txt:
4065         * gst/gstevent.c:
4066         * gst/gstevent.h:
4067         * gst/gstinfo.c:
4068         * gst/gstinfo.h:
4069         * gst/gstmessage.c: (gst_message_parse_state_changed):
4070         * gst/gstpad.c:
4071         * gst/gstpad.h:
4072           more docs, fix compilation
4073
4074 2005-10-09  Philippe Khalaf <burger@speedy.org>
4075         * gst/gstmessage.c:
4076           Fixed a few forgotten variables on previous commit
4077
4078 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4079
4080         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4081           Fix evil typefind crasher: getrange() might return a short
4082           buffer at the end of a file, but gst_type_find_peek() must
4083           either return the full data as requested or NULL, but
4084           never a short buffer.
4085
4086 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4087
4088         * gst/gstmessage.c: (gst_message_new_state_changed),
4089         (gst_message_parse_state_changed):
4090         * gst/gstmessage.h:
4091           don't use "new", it's a C++ keyword
4092
4093 2005-10-08  Wim Taymans  <wim@fluendo.com>
4094
4095         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4096         * gst/gstelement.c: (gst_element_post_message):
4097         * gst/gstpipeline.c: (gst_pipeline_change_state):
4098         Small docs and debug updates.
4099
4100 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4101
4102         * docs/gst/gstreamer-sections.txt:
4103         * gst/gstelementfactory.c:
4104         * gst/gstevent.c:
4105         * gst/gsttaglist.c:
4106           more docs
4107
4108 2005-10-08  Wim Taymans  <wim@fluendo.com>
4109
4110         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4111         (gst_bin_dispose), (bin_bus_handler):
4112         Fix typos, add comments.
4113         Clear EOS list when going to PAUSED from any direction and do it
4114         in a threadsafe way.
4115         Get base time in a threadsafe way too.
4116         Fix confusing debug in the change_state function.
4117         Various other small cleanups.
4118         
4119         * gst/gstelement.c: (gst_element_post_message):
4120         Fix very verbose bus posting code.
4121
4122         * gst/gstpipeline.c: (gst_pipeline_class_init),
4123         (gst_pipeline_set_property), (gst_pipeline_get_property),
4124         (gst_pipeline_change_state):
4125         Small ARG_ -> PROP_ cleanup
4126
4127 2005-10-08  Wim Taymans  <wim@fluendo.com>
4128
4129         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4130         Do a less CPU demanding EOS check because we can.
4131
4132 2005-10-08  Wim Taymans  <wim@fluendo.com>
4133
4134         * libs/gst/dataprotocol/dataprotocol.c:
4135         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4136         (gst_dp_packet_from_event):
4137         * libs/gst/dataprotocol/dataprotocol.h:
4138         * libs/gst/dataprotocol/dp-private.h:
4139         It's about time we bump the version number.
4140         Since event types don't fit in the guint8 anymore describing
4141         the payload type, make payload type 16 bits wide.
4142
4143 2005-10-08  Wim Taymans  <wim@fluendo.com>
4144
4145         * docs/design/part-TODO.txt:
4146         * docs/design/part-clocks.txt:
4147         * docs/design/part-events.txt:
4148         * docs/design/part-gstbin.txt:
4149         * docs/design/part-gstelement.txt:
4150         * docs/design/part-gstpipeline.txt:
4151         * docs/design/part-live-source.txt:
4152         * docs/design/part-messages.txt:
4153         * docs/design/part-overview.txt:
4154         * docs/design/part-states.txt:
4155         Many doc updates.
4156
4157 2005-10-08  Wim Taymans  <wim@fluendo.com>
4158
4159         * gst/gstevent.c:
4160         * gst/gstevent.h:
4161         Fix event quark registration.
4162         Add some space between events so we can insert them in the
4163         right groups.
4164
4165 2005-10-08  Wim Taymans  <wim@fluendo.com>
4166
4167         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4168         (gst_base_sink_handle_buffer):
4169         Better log message.
4170
4171         * gst/gstbus.h:
4172         * gst/gstelement.h:
4173         More docs.
4174
4175         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4176         (gst_queue_set_property), (gst_queue_get_property):
4177         * gst/gstqueue.h:
4178         Remove old unused properties.
4179
4180 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4181         * docs/gst/gstreamer-sections.txt:
4182         * gst/gstmessage.c:
4183         * gst/gstmessage.h:
4184         * gst/gstminiobject.c:
4185         * gst/gstminiobject.h:
4186         * gst/gstobject.h:
4187         * gst/gstpad.h:
4188         * gst/gstutils.h:
4189           lots of new docs and doc fixes
4190
4191 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4192
4193         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4194         * gst/gstplugin.h:
4195         * gst/gstregistry.c: (gst_registry_lookup_locked),
4196         (gst_registry_scan_path_level):
4197         * gst/gstregistryxml.c: (load_plugin):
4198           Only ever load one plugin for a given plugin basename.
4199           This ensures correct overriding of GST_PLUGIN_PATH over
4200           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4201           system installed plugins.
4202
4203 2005-10-08  Wim Taymans  <wim@fluendo.com>
4204
4205         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4206         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4207         Prepare for doing QOS.
4208
4209 2005-10-08  Wim Taymans  <wim@fluendo.com>
4210
4211         * check/gst/gstbin.c: (GST_START_TEST):
4212         * check/pipelines/cleanup.c: (GST_START_TEST):
4213         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4214         Allow new clock message too.
4215
4216 2005-10-08  Wim Taymans  <wim@fluendo.com>
4217
4218         * gst/gstmessage.c: (gst_message_new_error),
4219         (gst_message_new_warning), (gst_message_new_tag),
4220         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4221         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4222         (gst_message_new_segment_start), (gst_message_new_segment_done),
4223         (gst_message_parse_state_changed),
4224         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4225         (gst_message_parse_new_clock):
4226         * gst/gstmessage.h:
4227         Also carry the clock in question.
4228
4229 2005-10-08  Wim Taymans  <wim@fluendo.com>
4230
4231         * gst/gstmessage.c: (gst_message_new_custom),
4232         (gst_message_new_eos), (gst_message_new_error),
4233         (gst_message_new_warning), (gst_message_new_tag),
4234         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4235         (gst_message_new_new_clock), (gst_message_new_segment_start),
4236         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4237         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4238         * gst/gstmessage.h:
4239         Clean up.
4240         Added clock related messages.
4241
4242         * gst/gstpipeline.c: (gst_pipeline_change_state):
4243         Post message when the clock changed.
4244
4245         * tools/gst-launch.c: (event_loop):
4246         Print new clock.
4247
4248 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4249
4250         * tools/gst-inspect.c: (print_element_properties_info):
4251           Can't pass NULL strings to g_print() on windows.
4252
4253 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4254
4255         * docs/Makefile.am:
4256         * docs/gst/Makefile.am:
4257         * docs/gst/gstreamer-docs.sgml:
4258         * docs/gst/running.xml:
4259         * docs/version.entities.in:
4260           add a chapter on running GStreamer.
4261           document GST_DEBUG and GST_PLUGIN* env vars
4262
4263 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4264
4265         * Makefile.am:
4266           remove include dir
4267         * configure.ac:
4268           remove PLUGINS_BUILDDIR stuff
4269         * gst/gst.c: (init_post):
4270           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4271         * idiottest.mak:
4272           remove, it was condescending and not needed
4273
4274 2005-10-08  Wim Taymans  <wim@fluendo.com>
4275
4276         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4277         (gst_base_sink_handle_object), (gst_base_sink_event),
4278         (gst_base_sink_wait), (gst_base_sink_handle_event),
4279         (gst_base_sink_change_state):
4280         * gst/base/gstbasesink.h:
4281         Repost EOS message while going to PLAYING if still EOS.
4282         Make sure that when receiving a FLUSH_START we don't attempt
4283         to sync on the clock anymore.
4284
4285 2005-10-08  Wim Taymans  <wim@fluendo.com>
4286
4287         * tools/gst-launch.c: (event_loop):
4288         Better message printout.
4289
4290 2005-10-08  Wim Taymans  <wim@fluendo.com>
4291
4292         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4293         (gst_bin_child_proxy_get_children_count):
4294         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4295         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4296         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4297         (gst_child_proxy_set_valist):
4298         * gst/parse/grammar.y:
4299         Make ChildProxy threadsafe and fix mem leaks.
4300
4301 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4302
4303         * gst/gst.c: (init_post):
4304           debug the GST_PLUGIN_ env vars
4305
4306 2005-10-08  Wim Taymans  <wim@fluendo.com>
4307
4308         * check/gst/gstbin.c: (GST_START_TEST):
4309         * check/gst/gstmessage.c: (GST_START_TEST):
4310         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4311         * gst/gstelement.c: (gst_element_commit_state),
4312         (gst_element_lost_state):
4313         * gst/gstmessage.c: (gst_message_new_state_changed),
4314         (gst_message_parse_state_changed):
4315         * gst/gstmessage.h:
4316         * tools/gst-launch.c: (event_loop):
4317         Added extra field to STATE_CHANGE message with the pending
4318         state, which will be different from the new state soon.
4319
4320 2005-10-08  Wim Taymans  <wim@fluendo.com>
4321
4322         * gst/gstbus.c: (gst_bus_pop):
4323         * gst/gstclock.c:
4324         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4325         Small cleanups and doc updates.
4326
4327 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4328
4329         * gst/gst.c: (init_pre):
4330         * gst/gstbin.c: (gst_bin_add_func):
4331           log distributing clocks and base time
4332         * gst/gstregistry.c: (gst_registry_add_plugin),
4333         (gst_registry_scan_path_level), (gst_registry_scan_path):
4334           clean up the debugging output a little
4335         * gst/gstutils.c: (gst_element_state_get_name):
4336           warn about a memleak (I've actually seen this be used, though
4337           it was probably a bug)
4338
4339 2005-10-07  Wim Taymans  <wim@fluendo.com>
4340
4341         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4342         (gst_base_src_init), (gst_base_src_default_newsegment),
4343         (gst_base_src_newsegment), (gst_base_src_do_seek),
4344         (gst_base_src_loop), (gst_base_src_start):
4345         * gst/base/gstbasesrc.h:
4346         Make the newsegment event customizable by subclasses.
4347
4348 2005-10-07  Wim Taymans  <wim@fluendo.com>
4349
4350         * gst/gstevent.c: (gst_event_new_buffersize),
4351         (gst_event_parse_buffersize):
4352         * gst/gstevent.h:
4353         New event for future idea.
4354
4355 2005-10-07  Andy Wingo  <wingo@pobox.com>
4356
4357         * gst/gstelement.c (gst_element_post_message): Doc update.
4358
4359         * docs/gst/gstreamer-sections.txt: Update.
4360
4361         * gst/gstmessage.c (gst_message_new_application): Made into a
4362         function like honest API calls.
4363         (gst_message_new_element): New message type.
4364
4365         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4366
4367         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4368         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4369         times.
4370
4371         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4372         NO_PREROLL from gst_element_change_state to fall through.
4373
4374 2005-10-07  Wim Taymans  <wim@fluendo.com>
4375
4376         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4377         (gst_ghost_pad_do_activate_push):
4378         Activating a ghostpad with no internal pad in push mode
4379         is ok.
4380
4381 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4382
4383         * gst/gstobject.h:
4384           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4385           Fixes compilation on Windows.
4386
4387 2005-10-07  Michael Smith <msmith@fluendo.com>
4388
4389         * tools/gst-inspect.c:
4390           Print out feature and plugin count at the end when printing out
4391           all features.
4392
4393 2005-10-04  Michael Smith <msmith@fluendo.com>
4394
4395         * gst/gsterror.c: (_gst_stream_errors_init):
4396           Add another error string used in a few existing plugins.
4397
4398         * gst/gstplugin.c:
4399         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4400         * tools/gst-inspect.c: (print_element_info):
4401           When a feature disappears from a plugin (and the feature exists in
4402           the cached registry file), things went horribly wrong. This isn't a
4403           complete fix, we should actually be removing the 'missing' features
4404           from the features list when we load the actual plugin. That's not
4405           yet implemented. 
4406
4407 2005-10-04  Johan Dahlin  <johan@gnome.org>
4408
4409         * check/gst/gstiterator.c: (GST_START_TEST):
4410         * gst/gstbin.c: (gst_bin_iterate_elements),
4411         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4412         * gst/gstelement.c: (gst_element_iterate_pads):
4413         * gst/gstformat.c: (gst_format_iterate_definitions):
4414         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4415         (gst_iterator_new_list), (gst_iterator_filter):
4416         * gst/gstiterator.h:
4417         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4418         Add a GType to GstIterator, update callsites and tests.
4419
4420 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4421
4422         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4423           give events a chance to be handled by event probes when the pad
4424           is not linked
4425
4426 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4427
4428         * gst/gstevent.c: (gst_event_type_get_name),
4429         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4430         * gst/gstevent.h:
4431           add string representations for event types
4432
4433 2005-10-06  Wim Taymans  <wim@fluendo.com>
4434
4435         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4436         Don't use NULL pointers.
4437
4438 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4439
4440         * gst/gst_private.h:
4441         * gst/gstbus.c:
4442         * gst/gstelement.c:
4443         * gst/gstinfo.c:
4444         * gst/gstpluginfeature.c:
4445           widen the debug category in output to fit the biggest one we have
4446           add a bus category and use it
4447           play with the colors
4448           fix up some categories
4449
4450 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4451
4452         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4453           add push activation of sink ghost pads.
4454           Andye, please verify
4455
4456 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4457
4458         * gst/gstutils.c: (gst_element_link_pads):
4459           fix a bug in the case where neither element has a pad
4460         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4461           add a test for that case
4462
4463 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4464
4465         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4466           emit have-data before checking for peers.  This allows
4467           for probe handlers to connect elements.  This helps autopluggers.
4468         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4469         (gst_pad_suite):
4470           add six checks, linked/unlinked with no/true/false probe
4471
4472 2005-10-04  Wim Taymans  <wim@fluendo.com>
4473
4474         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4475         (gst_fake_sink_event), (gst_fake_sink_preroll),
4476         (gst_fake_sink_render), (gst_fake_sink_change_state):
4477         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4478         (gst_fake_src_get_property), (gst_fake_src_create),
4479         (gst_fake_src_stop):
4480         * gst/elements/gstidentity.c: (gst_identity_stop):
4481         Protect last_message with lock.
4482
4483 2005-10-04  Edward Hervey  <edward@fluendo.com>
4484
4485         * gst/gstformat.h: 
4486         Added precision in the comments for GST_FORMAT_DEFAULT
4487
4488 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4489
4490         * tools/gst-launch.c: (main):
4491           Don't try to run erroneous pipelines.
4492
4493 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4494
4495         * gst/gstbus.c: We don't need this header.
4496
4497 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4498
4499         * configure.ac:
4500           back to development
4501
4502 === release 0.9.3 ===
4503
4504 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4505
4506         * README:
4507         * configure.ac:
4508           Releasing 0.9.3, "Unregistered"
4509
4510 2005-10-03  Andy Wingo  <wingo@pobox.com>
4511
4512         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4513         whereby calling a pad's activatepush() function can start a thread
4514         that starts to push or pull before the pad gets the FLUSHING flag
4515         unset. Hack around it by holding the stream lock until the flag is
4516         set. Need to replace this with a proper solution. Together with
4517         the ghost pad fixes, this fixes mp3 playing/tagreading.
4518
4519         * docs/design/part-gstghostpad.txt: Add a note about activation of
4520         proxy pads outside of ghost pads.
4521
4522         * gst/gstghostpad.c: Implement the ghost pad activation design.
4523
4524 2005-10-02  Andy Wingo  <wingo@pobox.com>
4525
4526         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4527         It is volatile, after all.
4528
4529         * docs/design/part-gstghostpad.txt: Flesh out activation with
4530         ghost pads.
4531
4532         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4533         GST_DEBUG_FUNCPTR.
4534
4535 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4536
4537         * configure.ac:
4538           Fix (unused) AM_CONDITIONAL tests.
4539
4540 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4541
4542         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4543
4544         * gst/gstutils.c: (gst_pad_query_convert):
4545           Add assertion that makes sure src_val is >=0, just like
4546           gst_query_new_convert() has. (#315895)
4547
4548 2005-09-30  Edward Hervey  <edward@fluendo.com>
4549
4550         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4551         Let's not iterate pads we're not interested in, it avoids getting 
4552         sky-high refcounts on sinkpad.
4553
4554 2005-09-30  Wim Taymans  <wim@fluendo.com>
4555
4556         * gst/gstelement.c: (gst_element_set_state),
4557         (gst_element_change_state):
4558         Small tweak, element in ASYNC remains ASYNC.
4559
4560 2005-09-30  Wim Taymans  <wim@fluendo.com>
4561
4562         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4563         Only error is an error.
4564
4565         * gst/gstbin.c: (gst_bin_change_state):
4566         Better debugging.
4567
4568         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4569         Also call pad_block in pad alloc.
4570
4571         * gst/gstutils.c: (gst_flow_get_name):
4572         Better debugging.
4573
4574 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4575
4576         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4577         (gst_base_src_get_range):
4578           Fix documentation typos. Add some more debug info.
4579
4580 2005-09-29  David Schleef  <ds@schleef.org>
4581
4582         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4583           more end-user friendly.
4584         * tools/gst-inspect.c: (main): Check if command-line argument is
4585           a file and attempt to load that file as a plugin.
4586
4587 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4588
4589         * check/gst/gstbin.c:
4590         * check/states/sinks.c:
4591           fix tests for the new warning
4592         * check/gst/gstpipeline.c:
4593           add a test for pipeline and bus interaction
4594         * gst/gstelement.c:
4595           elements should be NULL if they get disposed; add a warning if not
4596
4597 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4598
4599         * gst/gstobject.c:
4600           for 2.6 refcounting, make debug log more correct by printing
4601           the actual refcounts at the time of swap (Wim)
4602
4603 2005-09-29  Andy Wingo  <wingo@pobox.com>
4604
4605         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4606         removes signal watches previously added via
4607         gst_bus_add_signal_watch.
4608         (gst_bus_add_signal_watch): Don't return the source id, just store
4609         it on the bus if there wasn't an id already.
4610
4611         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4612         add_signal_watch and remove_signal_watch.
4613
4614 2005-09-29  Edward Hervey  <edward@fluendo.com>
4615
4616         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4617         Better if we actually iterate the list :)
4618
4619 2005-09-29  Wim Taymans  <wim@fluendo.com>
4620
4621         * check/gst/gstbin.c: (GST_START_TEST):
4622         Change for new bus API.
4623
4624         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4625         (send_messages), (GST_START_TEST), (gstbus_suite):
4626         Change for new bus signal API.
4627
4628         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4629         (gst_bus_source_prepare), (gst_bus_source_check),
4630         (gst_bus_create_watch), (gst_bus_add_watch_full),
4631         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4632         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4633         * gst/gstbus.h:
4634         Remove support for multiple GSources operating on different
4635         message types as it is too complex and unneeded when using
4636         signals.
4637         Added support for receiving signals from the bus.
4638
4639 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4640
4641         * docs/libs/tmpl/gstdataprotocol.sgml:
4642         * docs/manual/advanced-dataaccess.xml:
4643         * gst/elements/gstcapsfilter.c:
4644         * gst/gstutils.c:
4645           rename filter-caps to caps property
4646
4647 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4648
4649         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4650           More robust fraction string parsing.
4651
4652         * docs/pwg/appendix-porting.xml:
4653           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4654
4655 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4656
4657         * gst/gstcaps.c: (gst_caps_do_simplify):
4658           Thou shalt not free a structure and then continue using it
4659           in the next loop iteration.
4660
4661         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4662         (gst_caps_suite):
4663           Add test case for caps simplification.
4664
4665 2005-09-29  Wim Taymans  <wim@fluendo.com>
4666
4667         * check/gst/gstbin.c: (GST_START_TEST):
4668         Oops.
4669
4670 2005-09-29  Wim Taymans  <wim@fluendo.com>
4671
4672         * check/gst/gstbin.c: (GST_START_TEST):
4673         Add bus to bin.
4674
4675         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4676         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4677         (find_element), (gst_bin_sort_iterator_next),
4678         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4679         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4680         (gst_bin_change_state), (gst_bin_dispose):
4681         A bin does not have a bus, it gets the bus from the parent.
4682
4683         * gst/gstelement.c: (gst_element_requires_clock),
4684         (gst_element_provides_clock), (gst_element_is_indexable),
4685         (gst_element_is_locked_state), (gst_element_change_state),
4686         (gst_element_set_bus_func):
4687         Small cleanups.
4688
4689         * gst/gstpipeline.c: (gst_pipeline_class_init),
4690         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4691         The pipeline provides a bus.
4692
4693 2005-09-28  Johan Dahlin  <johan@gnome.org>
4694
4695         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4696         gst_structure_get_enum instead of gst_structure_get_int
4697
4698         * gst/gststructure.c (gst_structure_get_enum): Impl.
4699
4700         * gst/gststructure.h (gst_structure_get_enum): Add
4701
4702         * docs/gst/gstreamer-sections.txt: Ditto
4703
4704         * gst/gstmessage.c (gst_message_new_state_changed): Use
4705         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4706         which does introspection.
4707         Reviewed by Christian Schaller
4708
4709 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4710
4711         * gst/gstinfo.c: (gst_debug_log_default):
4712           don't do dummy g_strdup()s
4713         * libs/gst/controller/gstcontroller.c:
4714         (on_object_controlled_property_changed),
4715         (gst_controlled_property_new), (gst_controller_new_valist),
4716         (gst_controller_new_list),
4717         (gst_controller_remove_properties_valist), (gst_controller_set),
4718         (gst_controller_get), (gst_controller_sync_values),
4719         (gst_controller_get_value_array), (_gst_controller_class_init),
4720         (gst_controller_get_type):
4721         * libs/gst/controller/gstcontroller.h:
4722         * libs/gst/controller/gstinterpolation.c:
4723         (gst_controlled_property_find_timed_value_node):
4724           convert // to /**/ comments
4725
4726 2005-09-28  Wim Taymans  <wim@fluendo.com>
4727
4728         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4729         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4730         (gst_bus_sync_signal_handler):
4731         * gst/gstbus.h:
4732         Added async-message and sync-message signals to the bus.
4733         Added helper BusFunc to emit signals for all posted messages.
4734
4735         * gst/gstmessage.c: (gst_message_type_get_name),
4736         (gst_message_type_to_quark), (gst_message_get_type):
4737         * gst/gstmessage.h:
4738         Register quarks for message names.
4739
4740 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4741
4742         * docs/libs/gstreamer-libs-sections.txt:
4743         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4744         (gst_controller_new_list):
4745         * libs/gst/controller/gstcontroller.h:
4746           added another constructor for language bindings
4747
4748 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4749
4750         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4751           add another check
4752         * gst/gstbus.c:
4753           add some doc
4754         * gst/gstinfo.c: (_gst_debug_init):
4755           slightly more readable color for refcount debugging
4756
4757 2005-09-28  Wim Taymans  <wim@fluendo.com>
4758
4759         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4760         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4761         (find_element), (gst_bin_sort_iterator_next),
4762         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4763         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4764         (gst_bin_change_state), (gst_bin_dispose):
4765         Small doc fixes. get_clock -> provide_clock.
4766
4767         * gst/gstelement.c: (gst_element_class_init),
4768         (gst_element_provides_clock), (gst_element_provide_clock),
4769         (gst_element_get_clock), (gst_element_commit_state),
4770         (gst_element_lost_state):
4771         * gst/gstelement.h:
4772         Make get/set_clock() symetric. Add provide_clock vmethod since
4773         that is actually what this function does.
4774
4775         * gst/gstpipeline.c: (gst_pipeline_class_init),
4776         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4777         (gst_pipeline_get_clock):
4778         get_clock -> provide_clock.
4779
4780 2005-09-28  Andy Wingo  <wingo@pobox.com>
4781
4782         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4783         lieu of real docs...
4784
4785         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4786
4787 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4788
4789         * gst/elements/gstcapsfilter.c:
4790         * gst/elements/gstfakesink.c:
4791         * gst/elements/gstfakesrc.c:
4792         * gst/elements/gstfdsink.c:
4793         * gst/elements/gstfdsrc.c:
4794         * gst/elements/gstfilesink.c:
4795         * gst/elements/gstfilesrc.c:
4796         * gst/elements/gstidentity.c:
4797         * gst/elements/gsttee.c:
4798         * gst/elements/gsttypefindelement.c:
4799           Make element details static.
4800
4801 2005-09-28  Wim Taymans  <wim@fluendo.com>
4802
4803         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4804         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4805         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4806         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4807         (gst_bin_change_state), (gst_bin_dispose):
4808         Some documentation updates.
4809         Clean up dispose handlers.
4810
4811         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4812         * gst/gstpad.c: (gst_pad_dispose):
4813         Clean up dispose handler.
4814
4815         * gst/gstpipeline.c: (gst_pipeline_change_state):
4816         Removed spurious UNLOCK.
4817
4818 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4819
4820         * docs/gst/gstreamer-sections.txt:
4821         * gst/base/gstbasesrc.h:
4822         * gst/gstelement.h:
4823         * gst/gstevent.h:
4824         * gst/gstobject.h:
4825         * gst/gstpad.h:
4826         * gst/gstpipeline.c:
4827         * gst/gstpipeline.h:
4828         * gst/gstutils.h:
4829         * gst/gstxml.h:
4830           added two new functions to the docs
4831                 documents all undocumented GstXXXFlags
4832                 completed some incomplete docs 
4833
4834 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4835
4836         * gst/gstbin.c: (gst_bin_dispose):
4837         * gst/gstelement.c: (gst_element_dispose):
4838           remove now useless and leaky resurrection code in dispose
4839         * gst/base/gstbasesrc.c: (gst_base_src_init):
4840         * gst/gstelementfactory.c: (gst_element_factory_create):
4841         * gst/gstobject.c: (gst_object_set_parent):
4842           add some debugging
4843
4844 2005-09-27  Wim Taymans  <wim@fluendo.com>
4845
4846         * docs/design/part-TODO.txt:
4847         Update TODO.
4848
4849         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4850         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4851         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4852         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4853         (gst_bin_change_state):
4854         * gst/gstelement.h:
4855         Remove element variable, we keep element info in the iterator now.
4856
4857 2005-09-27  Andy Wingo  <wingo@pobox.com>
4858
4859         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4860         values.
4861
4862 2005-09-27  Wim Taymans  <wim@fluendo.com>
4863
4864         * check/gst/gstbin.c: (GST_START_TEST):
4865         Enable check that works now.
4866
4867         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4868         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4869         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4870         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4871         (gst_bin_change_state):
4872         * gst/gstbin.h:
4873         Redid the state change algorithm using a topological sort algo.
4874         Handles all cases correctly.
4875         Exposed iterator for state change order.
4876
4877         * gst/gstelement.h:
4878         Temp storage for state changes. Need to get rid of this soon.
4879
4880 2005-09-27  Wim Taymans  <wim@fluendo.com>
4881
4882         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4883         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4884         (link_fold_func), (gst_pad_proxy_setcaps):
4885         Leak fixes, the fold functions need to unref the passed object and
4886         _get_parent_*() returns ref to parent.
4887
4888 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4889
4890         * check/gst/gstbuffer.c: (test_make_writable):
4891           Plug leak in test case and fix 'make check-valgrind'
4892
4893 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4894
4895         * gst/gstbuffer.c: (gst_subbuffer_init):
4896           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4897           works correctly in all circumstances (we could have just copied
4898           the parent buffer's readonly flag, but conceptually it seems
4899           cleaner to mark all subbuffers as read-only). (based on patch
4900           by Alessandro Decina, #314710).
4901         
4902         * check/gst/gstbuffer.c: (create_read_only_buffer),
4903         (test_make_writable), (test_subbuffer_make_writable),
4904         (gst_test_suite):
4905           Add some tests for gst_buffer_make_writable().
4906
4907 2005-09-27  Wim Taymans  <wim@fluendo.com>
4908
4909         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4910         use gst_object_has_ancestor().
4911
4912         * gst/gstobject.c: (gst_object_has_ancestor):
4913         * gst/gstobject.h:
4914         gst_object_has_ancestor() copied from gstbin.c as it is a
4915         usefull function.
4916
4917         * tests/instantiate/create.c: (create_all_elements):
4918         * tests/lat.c: (handoff_src), (handoff_sink):
4919         * tests/sched/runxml.c: (main):
4920         * tests/seeking/seeking1.c: (main):
4921         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4922         (main):
4923         Fix compilation of some tests.
4924
4925 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4926
4927         * gst/gsterror.h:
4928           Remove comment. GST_TYPE_G_ERROR is here to stay,
4929           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4930           (#316961, #300610).
4931
4932 2005-09-26  Wim Taymans  <wim@fluendo.com>
4933
4934         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4935         Added check that shows error in state change order.
4936
4937 2005-09-26  Wim Taymans  <wim@fluendo.com>
4938
4939         * gst/gstbin.c: (gst_bin_change_state):
4940         Make state change function use 3 queues again, we were
4941         adding elements in the wrong order.
4942
4943         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4944         Some debug info,
4945
4946         * gst/gstpad.c: (gst_pad_dispose):
4947         Added some debug info first.
4948
4949 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4950
4951         * docs/design/draft-push-pull.txt:
4952         * docs/design/part-events.txt:
4953         * docs/design/part-overview.txt:
4954         * docs/design/part-scheduling.txt:
4955           Replace all _pull_region() with _pull_range()
4956           
4957 2005-09-26  Andy Wingo  <wingo@pobox.com>
4958
4959         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4960
4961         * check/gst-libs/controller.c: Update for controller api change.
4962
4963         * configure.ac: 
4964         * tests/Makefile.am:
4965         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4966         over by GLib bug 118439.
4967         
4968         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4969         routines to a function.
4970
4971         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4972
4973         * libs/gst/controller/gsthelper.c:
4974         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4975         (gst_object_sync_values): Renamed from sink_values. Ugh.
4976
4977         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4978
4979         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4980         Renamed from controller_key, as it is exported.
4981
4982         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4983
4984 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4985
4986         * gst/Makefile.am:
4987         * gst/gst.h:
4988         * gst/gstpad.h:
4989         * gst/gstpadtemplate.h:
4990         * gst/gstquery.c:
4991         * gst/gstquery.h:
4992         * gst/gstqueryutils.c:
4993         * gst/gstqueryutils.h:
4994           remove queryutils headers after moving the two used functions
4995           to gstquery.  also fixes build problem for gstsiddec
4996
4997 2005-09-26  Michael Smith <msmith@fluendo.com>
4998
4999         * tools/gst-launch.1.in:
5000         Correct documentation in manpage of debug syntax
5001
5002 2005-09-26  Wim Taymans  <wim@fluendo.com>
5003
5004         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5005         (gst_base_src_is_seekable), (gst_base_src_change_state):
5006         Some more debugging info.
5007
5008 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5009
5010         * docs/gst/gstreamer-sections.txt:
5011         * gst/base/gstbasetransform.h:
5012         * gst/gstindex.h:
5013           added more docs
5014
5015 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5016
5017         * docs/gst/.cvsignore:
5018         * docs/gst/tmpl/.cvsignore:
5019         * docs/gst/tmpl/gstpipeline.sgml:
5020         * docs/gst/tmpl/gstplugin.sgml:
5021         * gst/gstpipeline.c:
5022         * gst/gstplugin.c:
5023         * gst/gstplugin.h:
5024           inlined the last two docs files
5025           removed the tmpl directory from cvs (no more conflicts here!)
5026
5027 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5028
5029         * docs/gst/gstreamer-sections.txt:
5030         * docs/gst/tmpl/.cvsignore:
5031         * docs/gst/tmpl/gstpad.sgml:
5032         * docs/gst/tmpl/gstpadtemplate.sgml:
5033         * gst/Makefile.am:
5034         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5035         (gst_pad_finalize), (gst_pad_set_pad_template):
5036         * gst/gstpad.h:
5037         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5038         (gst_pad_template_class_init), (gst_pad_template_init),
5039         (gst_pad_template_dispose), (name_is_valid),
5040         (gst_static_pad_template_get), (gst_pad_template_new),
5041         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5042         (gst_pad_template_pad_created):
5043         * gst/gstpadtemplate.h:
5044           inlined two more docs
5045           factored gstpadtemplate out of gstpad
5046
5047 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5048
5049         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5050         (test_children_state_change_order_semi_sink):
5051           Fix test case: we can't rely on a fixed state change order when
5052           going from READY => PAUSED because the sink might commit its 
5053           new state first when the first buffer created by the source 
5054           reaches the sink before the source has finished its change state.
5055           (Test case still fails at times, see #316856, comment 5 onwards)
5056
5057 2005-09-24  Wim Taymans  <wim@fluendo.com>
5058
5059         * docs/design/part-events.txt:
5060         * docs/design/part-gstbus.txt:
5061         * docs/design/part-gstpipeline.txt:
5062         * docs/design/part-messages.txt:
5063         * docs/design/part-overview.txt:
5064         * docs/design/part-segments.txt:
5065         * gst/gstbin.c:
5066         * gst/gstbuffer.c:
5067         * gst/gstclock.c:
5068         * gst/gstelement.c:
5069         * gst/gstevent.c:
5070         * gst/gstfilter.c:
5071         * gst/gstiterator.c:
5072         Various documentation updates.
5073
5074 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5075
5076         * gst/gstclock.h:
5077           Well, that's embarassing.  Luckily we weren't using
5078           GST_CLOCK_DIFF anywhere.
5079
5080 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5081
5082         * common/gtk-doc.mak:
5083           don't fail on building XML, FC4 slave shows a bunch of doc
5084           missing bits that I don't get
5085         * gst/gstpad.c:
5086         * gst/gstpipeline.c:
5087         * gst/gststructure.c:
5088           some doc updates
5089
5090 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5091
5092         * docs/design/part-gstbin.txt:
5093         * docs/design/part-gstbus.txt:
5094         * gst/gstbus.c:
5095           Add blurb about how the bus goes into flushing mode and
5096           drops all messages when its bin goes from READY into NULL 
5097           state.
5098
5099 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5100
5101         * docs/gst/gstreamer-sections.txt:
5102         * gst/gststructure.c: (gst_structure_get_clock_time):
5103         * gst/gststructure.h:
5104           add a method to get a GstClockTime out of a structure
5105
5106 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5107
5108         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5109         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5110           Added test to check state change order in bins (can still be made
5111           to fail here under heavy disk load; bails out with 'Push on pad
5112           fakesink:sink0, but it was not activated in push mode').
5113
5114         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5115           Fix state change order when there is only a semi sink (#316856)
5116
5117         * gst/gstbus.c: (gst_bus_class_init):
5118           Use _class_peek_parent(), not _class_ref(); fix docs to say
5119           'default main context' instead of 'mainloop' where that is
5120           what's meant.
5121
5122         * gst/gstelement.c: (gst_element_commit_state),
5123         (gst_element_set_state):
5124           Fix typos in debug messages
5125
5126 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5127
5128         * docs/README:
5129         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5130         * gst/gstpluginfeature.c:
5131         * gst/gstutils.c:
5132           various doc updates
5133         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5134           change an assert into an error until it gets fixed properly
5135
5136 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5137
5138         * docs/gst/gstreamer-sections.txt:
5139         * docs/gst/tmpl/.cvsignore:
5140         * docs/gst/tmpl/gstelement.sgml:
5141         * docs/gst/tmpl/gstinfo.sgml:
5142         * docs/gst/tmpl/gstobject.sgml:
5143         * gst/gstelement.c:
5144         * gst/gstelement.h:
5145         * gst/gstinfo.c:
5146         * gst/gstinfo.h:
5147         * gst/gstobject.c: (gst_object_class_init):
5148         * gst/gstobject.h:
5149           inlined 3 more biiiig doc files and added some missing docs on the fly
5150
5151 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5152
5153         * check/gst/.cvsignore:
5154         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5155         * gst/gstregistryxml.c: (load_plugin),
5156         (gst_registry_xml_save_plugin):
5157           put back source in registry.  add checks for find_plugin.
5158         * testsuite/states/bin.c: (assert_state), (empty_bin),
5159         (test_adding_one_element), (main):
5160         * testsuite/states/locked.c: (main):
5161           some compile/run fixes
5162
5163 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5164
5165         * check/gst/gstvalue.c: (GST_START_TEST):
5166           fix leaks in the test itself
5167
5168 2005-09-22  Wim Taymans  <wim@fluendo.com>
5169
5170         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5171         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5172         (gst_base_sink_query):
5173         Prepare for more accurate position reporting and query
5174         handling.
5175
5176         * gst/gstelement.c: (gst_element_send_event),
5177         (gst_element_set_state):
5178         Add some comment.
5179
5180 2005-09-22  Wim Taymans  <wim@fluendo.com>
5181
5182         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5183         (gst_query_parse_segment):
5184         * gst/gstquery.h:
5185         More documentation.
5186         Add segment query for future use.
5187
5188 2005-09-22  Wim Taymans  <wim@fluendo.com>
5189
5190         * gst/gstbin.c: (gst_bin_add_func):
5191         Some more debug info.
5192
5193         * gst/gstelement.c: (gst_element_send_event):
5194         Simplify send_event
5195
5196         * gst/gstelement.h:
5197         Don't know how flags got broken.
5198
5199         * gst/gstquery.h:
5200         Added new query.
5201
5202 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5203
5204         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5205           Add simplistic test suite for GST_TYPE_DATE serialisation and
5206           deserialisation.
5207
5208 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5209
5210         * docs/gst/gstreamer-sections.txt:
5211         * gst/gststructure.c: (gst_structure_set_valist),
5212         (gst_structure_get_date):
5213         * gst/gststructure.h:
5214         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5215         (gst_date_copy), (gst_value_compare_date),
5216         (gst_value_serialize_date), (gst_value_deserialize_date),
5217         (gst_value_transform_date_string),
5218         (gst_value_transform_string_date), (_gst_value_initialize):
5219         * gst/gstvalue.h:
5220           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5221           bunch of utility functions along with a hack that checks that
5222           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5223           is required. Part of the grand scheme in #170777.
5224
5225 2005-09-22  Andy Wingo  <wingo@pobox.com>
5226
5227         * gst/gstconfig.h.in: Psych out gtk-doc.
5228
5229         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5230
5231         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5232
5233         * tools/gst-inspect.c (print_element_list): Plug some
5234         inconsequential leaks.
5235
5236         * gst/gstregistry.c (gst_registry_get_default): Doc.
5237
5238         * check/gst/gstplugin.c: 
5239         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5240         * gst/gstelementfactory.c (gst_element_factory_create): 
5241         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5242         refcount changes.
5243
5244         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5245         (gst_plugin_feature_load): Doc, don't eat refs.
5246
5247         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5248         (gst_plugin_list_free): Doc.
5249         (gst_plugin_load_file): Doc updates.
5250
5251         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5252         accessors returning refcounted objects, return a ref.
5253
5254         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5255         accessor for caps. IDEMPOTENCE. Oh yes.
5256
5257 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5258
5259         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5260
5261         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5262         (_gst_debug_register_funcptr):
5263           Add mutex to serialise access to the hash table with
5264           the function pointer => function name string mapping;
5265           make that hash table static scope (#316809).
5266
5267         * gst/registries/.cvsignore:
5268           Remove left-over file.
5269
5270 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5271
5272         * docs/pwg/appendix-porting.xml:
5273           And something about newsegment events and caps-on-buffers to
5274           the porting guide (feel free to improve).
5275
5276 2005-09-21  Andy Wingo  <wingo@pobox.com>
5277
5278         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5279         data and event probes on the same pad.
5280         (test_buffer_probe_once): Test that removing probes from within
5281         the probe functions works.
5282
5283 2005-09-21  Andy Wingo  <wingo@pobox.com>
5284
5285         * check/gst/gstutils.c: New file.
5286         (test_buffer_probe_n_times): A simple buffer probe test. More to
5287         come, foolios.
5288
5289         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5290         have-data::buffer, not have-data.
5291         (gst_pad_add_event_probe): Likewise for have-data::event.
5292         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5293         peer' isn't quite right yet though.
5294         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5295         (gst_pad_remove_data_probe): Change to take the guint handler_id
5296         as their arg, not the function+data, which is more glib-like.
5297
5298         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5299         the signal emission to indicate if the data is a buffer or an
5300         event.
5301         (gst_pad_get_type): Initialize buffer and event quarks.
5302         (gst_pad_class_init): have-data is now a detailed signal, yes it
5303         is.
5304
5305 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5306
5307         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5308         * gst/gstutils.c: (gst_util_set_value_from_string),
5309         (gst_util_set_object_arg):
5310           Don't put functional code in g_return_if_fail() or
5311           g_return_val_if_fail() statements, otherwise things will 
5312           break when G_DISABLE_CHECKS is defined during compilation.
5313
5314 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5315
5316         * docs/gst/tmpl/.cvsignore:
5317         * docs/gst/tmpl/gstvalue.sgml:
5318         * gst/gstvalue.c:
5319         * gst/gstvalue.h:
5320           inlied another one and added  some obvious docs
5321
5322 2005-09-21  Wim Taymans  <wim@fluendo.com>
5323
5324         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5325         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5326         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5327         (gst_fdsrc_get_property), (gst_fdsrc_create):
5328         * gst/elements/gstfdsrc.h:
5329         Properly implement fdsrc. Removed signal and timeout,
5330         better implemented somewhere else.
5331
5332 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5333
5334         * docs/gst/tmpl/.cvsignore:
5335         * docs/gst/tmpl/gstimplementsinterface.sgml:
5336         * gst/gstinterface.c:
5337           inlined more docs
5338
5339 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5340
5341         * docs/gst/gstreamer-sections.txt:
5342         * docs/gst/tmpl/.cvsignore:
5343         * docs/gst/tmpl/gstenumtypes.sgml:
5344           remove obsolete doc file
5345
5346 2005-09-21  David Schleef  <ds@schleef.org>
5347
5348         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5349         little beer, fix a little leak.
5350
5351 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5352
5353         * docs/gst/gstreamer-docs.sgml:
5354         * docs/gst/gstreamer-sections.txt:
5355         * docs/gst/tmpl/.cvsignore:
5356         * gst/Makefile.am:
5357         * gst/gst.h:
5358         * gst/gstbin.c:
5359         * gst/gstelement.h:
5360         * gst/gstindex.c: (gst_index_class_init):
5361         * gst/gstindex.h:
5362         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5363         (gst_index_factory_class_init), (gst_index_factory_init),
5364         (gst_index_factory_finalize), (gst_index_factory_new),
5365         (gst_index_factory_destroy), (gst_index_factory_find),
5366         (gst_index_factory_create), (gst_index_factory_make):
5367         * gst/gstindexfactory.h:
5368         * gst/gstpluginfeature.c:
5369         * gst/gstpluginfeature.h:
5370         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5371           more docs inlined, splitted gstindex.{c,h}
5372
5373 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5374
5375         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5376           fix a leak
5377
5378 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5379
5380         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5381           Set sync to FALSE by default.
5382
5383 2005-09-20  Wim Taymans  <wim@fluendo.com>
5384
5385         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5386         (gst_base_sink_init):
5387         Make sync property settable from subclass.
5388
5389         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5390         (gst_fake_sink_change_state):
5391         Set sync to FALSE by default.
5392
5393 2005-09-20  Wim Taymans  <wim@fluendo.com>
5394
5395         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5396         * tools/gst-launch.c: (main):
5397         The timeout handler should have lower priority than the source
5398         so we don't timeout before popping a message with 0 timeout.
5399         Dump error messages after failed state change.
5400
5401 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5402
5403         * tools/gst-inspect.c: (print_element_properties_info):
5404           Fix two typos.
5405
5406 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5407
5408         * check/gst/gstevent.c:
5409         * gst/elements/gstfakesink.c:
5410         * gst/elements/gstfakesink.h:
5411           remove the sync property from fakesink.
5412           has the side effect of setting sync TRUE
5413           for fakesink, which is a change.  Anyone who knows how
5414           to fix this nicely in a GObject-y way, feel free.
5415
5416 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5417
5418         * docs/gst/gstreamer-docs.sgml:
5419           remove probe refsection
5420
5421 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5422
5423         * check/Makefile.am:
5424           disable valgrinding the controller test again
5425         * docs/gst/gstreamer-sections.txt:
5426           update for api-changes
5427
5428 2005-09-20  Wim Taymans  <wim@fluendo.com>
5429
5430         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5431         (gst_base_sink_set_property), (gst_base_sink_get_property),
5432         (gst_base_sink_do_sync):
5433         * gst/base/gstbasesink.h:
5434         Added sync property to basesink to disable clock sync.
5435
5436 2005-09-20  Andy Wingo  <wingo@pobox.com>
5437
5438         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5439         eating the caller's refcount.
5440
5441         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5442         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5443         refcount.
5444
5445         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5446         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5447         of GLib 2.8 public, so we can know which refcount to check in
5448         tests.
5449
5450         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5451         (gst_object_init): Only set the gst refcount if we're going ahead
5452         with the refcount hack.
5453
5454 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5455
5456         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5457         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5458           more leaks plumbed, added more debug-logging
5459         * gst/gstmacros.h:
5460           whitespace fix
5461
5462 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5463
5464         * gst/gstmessage.c:
5465           remove include of gstmemchunk.h
5466
5467 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5468
5469         * gst/gstclock.c: (_gst_clock_id_free):
5470           Commit from the Political Party For More Atomic CVS Commits,
5471           so that people don't waste too much of their day fishing
5472           out obvious leaks out of massive commits.
5473           Oh, and fix a pretty damn obvious leak in the memchunk
5474           removal code.
5475
5476 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5477
5478         * check/Makefile.am:
5479         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5480           plug mem-leak, re-add to valgrindable tests
5481
5482 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5483
5484         * gst/gstplugin.h:
5485           unbreak the build for those who have chronic arthritis
5486           and typing "make check" is just too taxing on the hands
5487
5488 2005-09-20  Andy Wingo  <wingo@pobox.com>
5489
5490         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5491         really want it out, you should fix plugins at the same time.
5492
5493 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5494
5495         * configure.ac:
5496         * docs/gst/gstreamer-sections.txt:
5497         * gst/gstobject.c:
5498           added missing symbols to api docs
5499           disable ref-count hack if we have glib >= 2.8
5500
5501 2005-09-19  David Schleef  <ds@schleef.org>
5502
5503         * docs/gst/Makefile.am: Ignore a few more internal headers
5504         * docs/gst/gstreamer-docs.sgml: Remove old sections
5505         * docs/gst/gstreamer-sections.txt: Remove old sections
5506         * docs/gst/tmpl/gstobject.sgml: update
5507         * docs/gst/tmpl/gstplugin.sgml: update
5508         * docs/gst/tmpl/gstpluginfeature.sgml: update
5509         * docs/random/ds/0.9-suggested-changes: update.
5510         * gst/Makefile.am: remove memchunk and trashstack, since they're
5511           not used.
5512         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5513         * gst/gst.h: don't include some headers
5514         * gst/gstchildproxy.c: add gstmarshal.h
5515         * gst/gstclock.c: Don't use memchunks
5516         * gst/gstminiobject.c: Add some docs
5517         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5518         * gst/gstobject.h: same
5519         * gst/gstplugin.c: include gstmacros.h
5520         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5521         * gst/gstquery.c: don't use memchunks
5522         * gst/gstregistry.c: rename gst_registry_deinit()
5523         * gst/gstregistry.h: same
5524
5525 2005-09-19  David Schleef  <ds@schleef.org>
5526
5527         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5528         * docs/libs/gstreamer-libs-sections.txt:
5529         * docs/libs/tmpl/gstgetbits.sgml:
5530         * docs/libs/tmpl/gstputbits.sgml:
5531
5532 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5533
5534         * win32/gstenumtypes.c:
5535         * win32/gstenumtypes.h:
5536           Update.
5537
5538 2005-09-19  Wim Taymans  <wim@fluendo.com>
5539
5540         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5541         Automatically PAUSE and RESUME a pipeline when a flushing seek
5542         is performed.
5543
5544 2005-09-19  Andy Wingo  <wingo@pobox.com>
5545
5546         * gst/gstregistry.h: Spacing fixen.
5547
5548 2005-09-19  Wim Taymans  <wim@fluendo.com>
5549
5550         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5551         Handle state change failure more correctly.
5552
5553 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5554
5555         * check/Makefile.am:
5556         * check/pipelines/cleanup.c: (run_pipeline):
5557         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5558         (GST_START_TEST):
5559           enable cleanup again after fixing the leak
5560         * docs/README:
5561           some more info on docs
5562
5563 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5564
5565         * check/Makefile.am:
5566           re-enable tests now that leaks are plugged
5567         * check/gst/gst.c:
5568         * check/gst/gstbin.c:
5569         * check/gst/gstpipeline.c:
5570           add some more tests while fixing leaks
5571         * common/check.mak:
5572           make sure binaries are uptodate when valgrinding/gdbing
5573         * gst/gst.c:
5574         * gst/gstelementfactory.c:
5575           remove a ref too many, and add a FIXME for when we get
5576           round to disposing of classes
5577         * gst/gstplugin.c:
5578           fix the refcounting when loading a plugin from a file and
5579           the code pretends that the pointer is the same even though
5580           of course it can change
5581         * gst/gstpluginfeature.c:
5582           unref plugins marked cached (a bit confusing as a name)
5583           as the docs state should be done
5584           various doc additions to explain refcounting
5585         * gst/gstregistry.c:
5586         * gst/gstregistryxml.c:
5587           debugging
5588
5589 2005-09-19  Wim Taymans  <wim@fluendo.com>
5590
5591         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5592         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5593         (send_messages), (GST_START_TEST), (gstbus_suite):
5594         * check/gst/gstpipeline.c: (GST_START_TEST):
5595         * check/pipelines/cleanup.c: (run_pipeline):
5596         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5597         (GST_START_TEST):
5598         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5599         (gst_bus_source_check), (gst_bus_source_dispatch),
5600         (gst_bus_create_watch), (gst_bus_add_watch_full),
5601         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5602         * gst/gstbus.h:
5603         * tools/gst-launch.c: (event_loop):
5604         * tools/gst-md5sum.c: (event_loop):
5605         GstBusHandler -> GstBusFunc, return value has the same meaning as
5606         any other GSource (FALSE == remove source).
5607         _add_watch() and _add_watch_full() now take a MessageType mask to
5608         only handle specific types of messages.
5609         _poll() returns the GstMessage instead of the message type to avoid
5610         race conditions.
5611         _have_pending() takes a MessageType mask now too.
5612         Added testsuite for multiple bus watches.
5613         Fix testsuites and applications for new bus API.
5614
5615 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5616
5617         * check/Makefile.am:
5618           mark a bunch of the tests as to fix until we fix them
5619
5620 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5621
5622         * common/check.mak:
5623           use GST_PLUGIN settings for valgrind tests as well, so we're
5624           valgrinding the correct thing
5625         * gst/gst.c: (init_post):
5626           plug another leak
5627
5628 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5629
5630         * gst/gst.c: (init_post), (gst_deinit):
5631         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5632         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5633         * gst/gstindex.c: (gst_index_factory_class_init),
5634         (gst_index_factory_finalize):
5635         * gst/gstobject.c: (gst_object_dispose):
5636         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5637         (gst_plugin_load_file), (gst_plugin_desc_free):
5638         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5639         (gst_plugin_feature_finalize):
5640         * gst/gstregistry.c: (gst_registry_class_init),
5641         (gst_registry_init), (gst_registry_finalize),
5642         (gst_registry_get_default), (gst_registry_deinit):
5643         * gst/gstregistry.h:
5644         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5645           various cleanups and memleak plugging.  make valgrind is happy now.
5646
5647 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5648
5649         * common/check.mak:
5650           add a check-valgrind target
5651
5652 2005-09-18  David Schleef  <ds@schleef.org>
5653
5654         * tools/gst-inspect.c: Revert the GOption code.
5655
5656 2005-09-17  David Schleef  <ds@schleef.org>
5657
5658         * check/Makefile.am: Fix environment variables.
5659         * check/gst/gstplugin.c: Fix for API changes.
5660         * tools/gst-inspect.c: Fix for API changes.
5661         * tools/gst-xmlinspect.c: Fix for API changes.
5662         * gst/gstelementfactory.c:
5663         * gst/gstplugin.c:
5664         * gst/gstplugin.h:
5665         * gst/gstpluginfeature.c:
5666         * gst/gstpluginfeature.h:
5667         * gst/gstregistry.c:
5668         * gst/gstregistry.h:
5669         * gst/gstregistryxml.c:
5670         * gst/gsttypefind.c:
5671         * gst/gsttypefindfactory.c:
5672         * gst/indexers/gstfileindex.c:
5673         * gst/indexers/gstmemindex.c:
5674         * gst/schedulers/Makefile.am:
5675           Change registry to keep track of both plugins and features,
5676           removing the feature tracking from plugins themselves.
5677
5678 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5679
5680         * check/Makefile.am:
5681         * tools/gst-register.1.in:
5682           remove gst-register
5683
5684 2005-09-15  David Schleef  <ds@schleef.org>
5685
5686         * check/gst/gstplugin.c:
5687         * gst/gstelementfactory.c:
5688         * gst/gstplugin.c:
5689         * gst/gstpluginfeature.c:
5690         * gst/gstregistry.c:
5691           Getting tired of debugging.  Disabled all the unreffing of
5692           plugins and features, which fixes the segfaults, but of
5693           course leaks like crazy.  At least playbin works.
5694
5695 2005-09-15  David Schleef  <ds@schleef.org>
5696
5697         * check/gst/gstplugin.c: (register_check_elements),
5698         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5699         More testing
5700         * gst/elements/gsttypefindelement.c: Fix refcounting.
5701         * gst/gsttypefind.c:
5702         * gst/gsttypefindfactory.c:
5703         * gst/gsttypefindfactory.h:
5704
5705 2005-09-15  David Schleef  <ds@schleef.org>
5706
5707         * gst/gstindex.c: get refcounting correct.
5708         * gst/gstregistry.c: Handle the case where a feature/plugin is
5709           not found.
5710
5711 2005-09-15  David Schleef  <ds@schleef.org>
5712
5713         * check/Makefile.am:
5714         * check/gst/gstplugin.c: Add test
5715         * gst/gstplugin.c: Fix problems noticed by testsuite
5716         * gst/gstplugin.h:
5717         * gst/gstregistry.c: 
5718         * gst/gstregistry.h:
5719
5720 2005-09-15  David Schleef  <ds@schleef.org>
5721
5722         * gst/gstplugin.c: Implement semi-decent recounting and locking
5723           in plugins and plugin features.
5724         * gst/gstplugin.h:
5725         * gst/gstpluginfeature.c:
5726         * gst/gstpluginfeature.h:
5727         * gst/gstregistry.c:
5728
5729 2005-09-15  Michael Smith <msmith@fluendo.com>
5730
5731         * gst/gstregistry.c: (gst_registry_get_feature_list):
5732           Implement this. Makes oggdemux work; decodebin still broken.
5733
5734 2005-09-14  David Schleef  <ds@schleef.org>
5735
5736         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5737           #316076)
5738         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5739         * gst/check/Makefile.am:
5740         * libs/gst/controller/Makefile.am:
5741         * libs/gst/dataprotocol/Makefile.am:
5742
5743 2005-09-14  David Schleef  <ds@schleef.org>
5744
5745         * configure.ac: Remove getbits library.  Nothing uses it, and
5746           it should be in something like liboil if someone did want
5747           to use it.
5748         * libs/gst/Makefile.am:
5749         * libs/gst/getbits/Makefile.am:
5750         * libs/gst/getbits/gbtest.c:
5751         * libs/gst/getbits/getbits.c:
5752         * libs/gst/getbits/getbits.h:
5753         * libs/gst/getbits/gstgetbits_generic.c:
5754         * libs/gst/getbits/gstgetbits_i386.s:
5755         * libs/gst/getbits/gstgetbits_inl.h:
5756
5757 2005-09-14  David Schleef  <ds@schleef.org>
5758
5759         * gst/Makefile.am: Dist glib-compat.h
5760
5761 2005-09-14  David Schleef  <ds@schleef.org>
5762
5763         * configure.ac: Remove gst/registries, since it's no longer used.
5764         * gst/registries/Makefile.am:
5765         * gst/registries/gstlibxmlregistry.c:
5766         * gst/registries/gstlibxmlregistry.h:
5767         * gst/registries/gstxmlregistry.c:
5768         * gst/registries/gstxmlregistry.h:
5769         * gst/registries/registrytest.c:
5770
5771 2005-09-14  David Schleef  <ds@schleef.org>
5772
5773         * gst/glib-compat.h:
5774         * gst/gstregistryxml.c:
5775           Convergence is near.  Seriously.
5776
5777 2005-09-14  David Schleef  <ds@schleef.org>
5778
5779         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5780         * gst/glib-compat.h:
5781           Attempt #4 to appease the buildbots.
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 #3.
5787
5788 2005-09-14  David Schleef  <ds@schleef.org>
5789
5790         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5791         Attempt #2.
5792
5793 2005-09-14  David Schleef  <ds@schleef.org>
5794
5795         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5796           the new functions.
5797
5798 2005-09-14  David Schleef  <ds@schleef.org>
5799
5800         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5801         * gst/glib-compat.h: Add some functions that are in newer versions
5802           of glib than we care to require.
5803         * gst/gstregistryxml.c: Use them.
5804
5805 2005-09-14  David Schleef  <ds@schleef.org>
5806
5807         * po/POTFILES.in: remove gst-register.c
5808
5809 2005-09-14  David Schleef  <ds@schleef.org>
5810
5811         * docs/gst/gstreamer-docs.sgml:
5812         * docs/gst/gstreamer-sections.txt:
5813         * docs/gst/gstreamer.types:
5814         * docs/gst/tmpl/gstelement.sgml:
5815         * docs/gst/tmpl/gstplugin.sgml:
5816         * docs/gst/tmpl/gstpluginfeature.sgml:
5817           Documentation updates for registry changes.
5818
5819 2005-09-14  David Schleef  <ds@schleef.org>
5820
5821         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5822           because we don't require glib-2.8.
5823
5824 2005-09-14  David Schleef  <ds@schleef.org>
5825
5826         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5827           registries directory.
5828
5829 2005-09-14  David Schleef  <ds@schleef.org>
5830
5831         * check/Makefile.am:
5832         * check/generic/states.c:
5833         * gst/Makefile.am:
5834         * gst/gst.c:
5835         * gst/gst.h:
5836         * gst/gst_private.h:
5837         * gst/gstelementfactory.c:
5838         * gst/gstindex.c:
5839         * gst/gstinfo.c:
5840         * gst/gstplugin.c:
5841         * gst/gstplugin.h:
5842         * gst/gstpluginfeature.c:
5843         * gst/gstpluginfeature.h:
5844         * gst/gstregistry.c:
5845         * gst/gstregistry.h:
5846         * gst/gstregistrypool.c: remove
5847         * gst/gstregistrypool.h: remove
5848         * gst/gsttypefind.c:
5849         * gst/gsttypefindfactory.c:
5850         * gst/gsturi.c:
5851         * tools/Makefile.am:
5852         * tools/gst-compprep.c:
5853         * tools/gst-inspect.c:
5854         * tools/gst-register.c: remove
5855         * tools/gst-xmlinspect.c:
5856           Registry rewrite.  Changes registry from being a file created
5857           by a tool into a simple cache file created automatically by 
5858           libgstreamer.  Removed gst-register (because it's no longer
5859           needed).  Remove registry pools, because we only have one
5860           registry implementation (XML).  Fix up other subsystems as
5861           necessary.
5862
5863 2005-09-13  Michael Smith <msmith@fluendo.com>
5864
5865         * gst/gstconfig.h.in:
5866           Don't Use windows linking attributes for MinGW. Fixes #316157
5867
5868 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5869
5870         * gst/gstutils.c: (set_state_async_thread_func),
5871         (gst_element_set_state_async):
5872           Apparently people think it's better if this function doesn't
5873           try to set the state to whatever state was asked for on the first
5874           call to this function for any object.  Seriously.
5875
5876 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5877
5878         * check/gst/gstpipeline.c: (GST_START_TEST):
5879         * docs/gst/gstreamer-sections.txt:
5880         * gst/gstutils.c: (set_state_async_thread_func),
5881         (gst_element_set_state_async):
5882         * gst/gstutils.h:
5883           add a "gst_element_set_state_async" method that
5884           sets the state and starts a thread to make sure the state
5885           change completes as best as it can
5886
5887 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5888
5889         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5890           codify design+behaviour in testsuite after discussion
5891
5892 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5893
5894         * docs/gst/tmpl/gstelement.sgml:
5895         * docs/manual/appendix-quotes.xml:
5896           add a quote
5897         * gst/gstelement.c: (gst_element_set_state):
5898           add some debug
5899
5900 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5901
5902         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5903         (gst_base_transform_prepare_output_buf),
5904         (gst_base_transform_handle_buffer):
5905         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5906         (gst_capsfilter_prepare_buf):
5907           Remove the requirement for sub-classes to call the parent
5908           implementation of prepare_output_buffer with a wrapper function.
5909           
5910         * gst/gsttaglist.h:
5911         * gst/gsttagsetter.h:
5912           Fix #define wrapper
5913
5914 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5915
5916         * docs/gst/gstreamer-sections.txt:
5917           more doc cleanups
5918
5919 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5920
5921         * docs/gst/gstreamer-sections.txt:
5922         * docs/gst/tmpl/gstelement.sgml:
5923         * docs/gst/tmpl/gstplugin.sgml:
5924         * gst/gstminiobject.c:
5925         * gst/gstvalue.h:
5926           docs now stop throwing warnings
5927
5928 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5929
5930         * docs/gst/gstreamer-sections.txt:
5931         * docs/gst/gstreamer.types:
5932         * docs/gst/tmpl/gstpad.sgml:
5933         * docs/gst/tmpl/gsttypes.sgml:
5934         * gst/base/gstadapter.h:
5935         * gst/base/gstbasesink.h:
5936         * gst/base/gstbasesrc.h:
5937         * gst/gstbin.h:
5938         * gst/gstbuffer.h:
5939         * gst/gstbus.h:
5940         * gst/gstcaps.h:
5941         * gst/gstclock.h:
5942         * gst/gstelement.h:
5943         * gst/gstevent.h:
5944         * gst/gstmessage.h:
5945         * gst/gstpad.h:
5946         * gst/gststructure.c:
5947         * gst/registries/gstlibxmlregistry.h:
5948           various documentation fixes
5949
5950 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5951
5952         * docs/gst/gstreamer-sections.txt:
5953         * docs/gst/tmpl/gstvalue.sgml:
5954           rearrange gstvalue section
5955         * gst/gstutils.c: (gst_element_state_get_name):
5956           NONE -> VOID
5957         * gst/gstvalue.c: (_gst_value_initialize):
5958         * gst/gstvalue.h:
5959           doc updates
5960
5961 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5962
5963         * check/gst-libs/controller.c:
5964           Header include fix.
5965         * gst/base/gstbasetransform.c:
5966         (gst_base_transform_default_prepare_buf),
5967         (gst_base_transform_handle_buffer):
5968         * gst/base/gstbasetransform.h:
5969           Some more basetransform changes and fixes to enable sub-classes
5970           that modify buffer metadata only.
5971         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5972         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5973         (gst_capsfilter_prepare_buf):
5974           If the output pad has fixed allowed caps and input buffers 
5975           don't have any, set the fixed caps on outgoing buffers.
5976
5977 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5978         * check/elements/identity.c: (GST_START_TEST):
5979           Make the error a little clearer when the test fails because
5980           identity made a copy of the buffer.
5981         * docs/gst/gstreamer-sections.txt:
5982           New symbols in gstbasetransform.h
5983         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5984         (gst_base_transform_init), (gst_base_transform_transform_size),
5985         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5986         (gst_base_transform_default_prepare_buf),
5987         (gst_base_transform_get_unit_size),
5988         (gst_base_transform_buffer_alloc),
5989         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5990         (gst_base_transform_change_state),
5991         (gst_base_transform_set_passthrough),
5992         (gst_base_transform_set_in_place),
5993         (gst_base_transform_is_in_place):
5994         * gst/base/gstbasetransform.h:
5995           Change BaseTransform to separate in_place operate from same_caps
5996           output. in_place implies that the element can perform the transform
5997           on incoming buffers in-place, even if the caps on the output are
5998           different.
5999           Sub-class elements can now implement special buffer allocation
6000           methods for outgoing buffers if they wish to.
6001           Big documentation addition.
6002         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6003         * gst/elements/gstelements.c:
6004           Changes for basetransform modifications.
6005         * gst/elements/Makefile.am:
6006         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6007           Compile fix. Extra debug output.
6008
6009 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6010
6011         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6012         (gst_pad_suite):
6013           add tests for valid pad naming
6014         * gst/check/gstcheck.c: (gst_check_log_message_func),
6015         (gst_check_log_critical_func):
6016           add ASSERT_WARNING
6017           remove printing of code, it is fragile when the code contains
6018           % and the line number is enough info
6019         * gst/check/gstcheck.h:
6020         * gst/gstpad.c: (gst_pad_template_new):
6021           fix memleaks
6022
6023 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6024
6025         * configure.ac:
6026           say what CHECK flags we use
6027         * docs/libs/gstreamer-libs.types:
6028         * libs/gst/controller/Makefile.am:
6029         * libs/gst/controller/gst-controller.c:
6030         * libs/gst/controller/gst-controller.h:
6031         * libs/gst/controller/gst-helper.c:
6032         * libs/gst/controller/gst-interpolation.c:
6033         * libs/gst/controller/gstcontroller.c:
6034         * libs/gst/controller/gsthelper.c:
6035         * libs/gst/controller/gstinterpolation.c:
6036         * tools/gst-inspect.c: (print_plugin_info):
6037           we don't use dashes in header names
6038
6039 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6040
6041         * check/Makefile.am:
6042         * check/gst/.cvsignore:
6043         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6044         (gst_pipeline_suite), (main):
6045           adding a test for pipelines and state changes
6046         * gst/gstutils.c: (get_state_func):
6047           add some debugging
6048         * gstreamer.spec.in:
6049           fix up spec file
6050
6051 2005-09-08  Michael Smith <msmith@fluendo.com>
6052
6053         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6054         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6055         (gst_file_src_is_seekable), (gst_file_src_get_size),
6056         (gst_file_src_start):
6057         * gst/elements/gstfilesrc.h:
6058           Various fixes for unseekable, unmmapable, and non-normal files, so
6059           that fallback to read() rather than mmap() works.
6060         * gst/gstevent.c: (gst_event_new_newsegment):
6061           Allow newsegment events with segment_start == segment_end, as will
6062           correctly happen if you use filesrc on a zero-size file, for
6063           example.
6064
6065 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6066
6067         * gst/gstplugin.c: (gst_plugin_load_file):
6068           Call g_module_close when we don't load the module
6069
6070         * gst/registries/gstlibxmlregistry.c:
6071         (gst_xml_registry_get_property):
6072           Port leak fix from 0.8
6073
6074 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6075
6076         * docs/gst/gstreamer-docs.sgml:
6077         * docs/gst/tmpl/.cvsignore:
6078         * docs/gst/tmpl/gsttrace.sgml:
6079         * docs/gst/tmpl/gsttrashstack.sgml:
6080         * gst/Makefile.am:
6081         * gst/gst.h:
6082         * gst/gstelement.h:
6083         * gst/gstevent.h:
6084         * gst/gstmessage.c:
6085         * gst/gstmessage.h:
6086         * gst/gsttag.c:
6087         * gst/gsttag.h:
6088         * gst/gsttaginterface.c:
6089         * gst/gsttaginterface.h:
6090         * gst/gsttaglist.c:
6091         * gst/gsttaglist.h:
6092         * gst/gsttagsetter.c:
6093         * gst/gsttagsetter.h:
6094         * gst/gsttrace.c:
6095         * gst/gsttrace.h:
6096         * gst/gsttrashstack.c:
6097           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6098           inlined docs for gsttrace, gsttrashstack
6099
6100 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6101
6102         * gst/Makefile.am:
6103         * gst/elements/gstbufferstore.h:
6104         * gst/elements/gsttypefindelement.c:
6105         * gst/elements/gsttypefindelement.h:
6106         * gst/gst.h:
6107         * gst/gsttypefind.c:
6108         * gst/gsttypefind.h:
6109         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6110         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6111         (gst_type_find_factory_dispose),
6112         (gst_type_find_factory_unload_thyself),
6113         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6114         (gst_type_find_factory_get_caps),
6115         (gst_type_find_factory_get_extensions),
6116         (gst_type_find_factory_call_function):
6117         * gst/gsttypefindfactory.h:
6118         * gst/registries/gstlibxmlregistry.c:
6119         * gst/registries/gstxmlregistry.c:
6120           splitted gsttypefind into gsttypefind, gsttypefindfactory
6121
6122 2005-09-07  Andy Wingo  <wingo@pobox.com>
6123
6124         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6125         condition whereby the pad's task function is entered before the
6126         pad_mode variable was set.
6127
6128 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6129
6130         * gst/gstpad.c: (gst_pad_alloc_buffer):
6131           Catch misbehaving pad_alloc functions that don't
6132           set up caps and do it for them.
6133
6134 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6135
6136         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6137           test for pipe!=NULL
6138         * docs/gst/tmpl/.cvsignore:
6139         * docs/gst/tmpl/gstmemchunk.sgml:
6140         * docs/gst/tmpl/gstparse.sgml:
6141         * docs/gst/tmpl/gsttaglist.sgml:
6142         * docs/gst/tmpl/gsttagsetter.sgml:
6143         * docs/gst/tmpl/gsttypefind.sgml:
6144         * docs/gst/tmpl/gsttypefindfactory.sgml:
6145         * gst/gstmemchunk.c:
6146         * gst/gstparse.c:
6147         * gst/gsttag.c:
6148         * gst/gsttaginterface.c:
6149         * gst/gsttypefind.c:
6150         * gst/gsttypefind.h:
6151           inlined more docs
6152
6153 === release 0.9.2 ===
6154
6155 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6156
6157         * NEWS:
6158         * RELEASE:
6159         * configure.ac:
6160           releasing 0.9.2, "South"
6161
6162 2005-09-05  Andy Wingo  <wingo@pobox.com>
6163
6164         * gst/registries/gstxmlregistry.h:
6165         * gst/registries/gstxmlregistry.c: Um... resurrect...
6166         
6167         * gst/registries/gstxmlregistry.h:
6168         * gst/registries/gstxmlregistry.c: and update to newer API.
6169         Incidentally they should be a bit faster now that they don't have
6170         to parse the caps.
6171         
6172 2005-09-05  Andy Wingo  <wingo@pobox.com>
6173
6174         * gst/registries/gstxmlregistry.h:
6175         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6176         replaced by the libxml registry a while back
6177
6178 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6179
6180         * docs/gst/tmpl/gstplugin.sgml:
6181         * gst/elements/gstelements.c:
6182         * gst/gst.c:
6183         * gst/gstplugin.c: (gst_plugin_register_func),
6184         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6185         (gst_plugin_get_source):
6186         * gst/gstplugin.h:
6187         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6188         (gst_xml_registry_save_plugin):
6189         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6190         (gst_xml_registry_save_plugin):
6191         * tools/gst-inspect.c: (print_plugin_info):
6192           add a "source" plugin description field, to represent the source
6193           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6194           will set it to PACKAGE, which is automake's idea of the name of
6195           the source project.
6196
6197 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6198
6199         * Makefile.am:
6200         * autogen.sh:
6201         * configure.ac:
6202         * docs/Makefile.am:
6203         * docs/faq/Makefile.am:
6204         * docs/gst/tmpl/gstelement.sgml:
6205         * docs/gst/tmpl/gsttypes.sgml:
6206         * docs/htmlinstall.mak:
6207         * docs/manual/Makefile.am:
6208         * docs/pwg/Makefile.am:
6209           reorganize doc build a little
6210           split out docbook and gtk-doc stuff
6211           have two separate --enable's and enable them through autogen
6212           but disable by default in configure (to be similar to other
6213           projects)
6214         * gstreamer.spec.in:
6215           clean up docs install
6216         * po/af.po:
6217         * po/az.po:
6218         * po/ca.po:
6219         * po/cs.po:
6220         * po/de.po:
6221         * po/en_GB.po:
6222         * po/fr.po:
6223         * po/it.po:
6224         * po/nb.po:
6225         * po/nl.po:
6226         * po/ru.po:
6227         * po/sq.po:
6228         * po/sr.po:
6229         * po/sv.po:
6230         * po/tr.po:
6231         * po/uk.po:
6232         * po/vi.po:
6233           translation updates
6234
6235 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6236
6237         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6238           Add comment.
6239           
6240         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6241         (gst_fake_sink_change_state):
6242           Make state change function thread-safe.
6243           
6244         * gst/gstpad.c: (gst_pad_alloc_buffer):
6245           Set offset on generic buffer allocated by fallback.
6246
6247 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6248
6249         * docs/gst/gstreamer-sections.txt:
6250         * docs/gst/tmpl/gstelement.sgml:
6251         * gst/gstpad.c:
6252         * libs/gst/controller/gst-controller.c:
6253         (gst_controlled_property_set_interpolation_mode),
6254         (gst_controlled_property_new),
6255         (gst_controller_find_controlled_property):
6256          run the wingo-magic script against the docs
6257
6258 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6259
6260         * docs/gst/gstreamer-docs.sgml:
6261         * docs/gst/gstreamer-sections.txt:
6262         * docs/gst/tmpl/.cvsignore:
6263         * docs/gst/tmpl/gstelementdetails.sgml:
6264         * docs/gst/tmpl/gstelementfactory.sgml:
6265         * gst/gst.c:
6266         * gst/gstbus.c:
6267         * gst/gstelementfactory.c:
6268         * gst/gstelementfactory.h:
6269           merged elementdetails docs into elementfactory docs
6270           inlined both
6271
6272 2005-09-02  Andy Wingo  <wingo@pobox.com>
6273
6274         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6275         consider this enum an enum and not a flags.
6276
6277 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6278
6279         * docs/gst/gstreamer-docs.sgml:
6280         * docs/gst/tmpl/.cvsignore:
6281         * docs/gst/tmpl/gstghostpad.sgml:
6282         * docs/gst/tmpl/gstiterator.sgml:
6283         * docs/gst/tmpl/gstmacros.sgml:
6284         * docs/gst/tmpl/gstrealpad.sgml:
6285         * docs/gst/tmpl/gstregistry.sgml:
6286         * docs/gst/tmpl/gstregistrypool.sgml:
6287         * docs/gst/tmpl/gststructure.sgml:
6288         * docs/gst/tmpl/gstsystemclock.sgml:
6289         * docs/gst/tmpl/gsttrace.sgml:
6290         * gst/gstghostpad.c:
6291         * gst/gstmacros.h:
6292         * gst/gstmemchunk.c:
6293         * gst/gstmemchunk.h:
6294         * gst/gstqueue.c:
6295         * gst/gstregistry.c:
6296         * gst/gstregistrypool.c:
6297         * gst/gststructure.c:
6298         * gst/gstsystemclock.c:
6299           more docs inlined
6300
6301 2005-09-02  Andy Wingo  <wingo@pobox.com>
6302
6303         * gst/gstelement.h (GstState): Renamed from GstElementState,
6304         changed to be a normal enum instead of flags.
6305         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6306         munged to be GST_STATE_CHANGE_*.
6307         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6308         work with the new state representation.
6309         (GstStateChange): New enumeration of possible state transitions.
6310         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6311         (GstElementClass::change_state): Pass the GstStateChange along as
6312         an argument. Helps language bindings, so they don't have to use
6313         tricky lock-needing macros like GST_STATE_CHANGE ().
6314
6315         * scripts/update-states (file): New script. Run it on a file to
6316         update it for state naming and API changes. Updates files in
6317         place.
6318
6319         * All files updated for the new API.
6320
6321 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6322
6323         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6324         * gst/gstutils.c: (gst_util_set_value_from_string),
6325         (gst_util_set_object_arg):
6326           fix a bunch of unchecked return values
6327         * tools/gst-complete.c: (main):
6328         * gstreamer.spec.in:
6329           clean up a little
6330
6331 2005-09-01  Wim Taymans  <wim@fluendo.com>
6332
6333         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6334         (gst_base_sink_event), (gst_base_sink_do_sync),
6335         (gst_base_sink_handle_event):
6336         * gst/base/gstbasesink.h:
6337         Handle newsegments more correctly.
6338
6339         * gst/gstbus.c:
6340         Fix docs.
6341
6342         * gst/gstevent.c: (gst_event_new_newsegment):
6343         A newsegment cannot have a start_time of -1
6344
6345 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6346
6347         * win32/gstenumtypes.c:
6348         * win32/gstenumtypes.h:
6349           Update
6350
6351 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6352
6353         * libs/gst/controller/gst-controller.c:
6354         (gst_controlled_property_set_interpolation_mode),
6355         (gst_controlled_property_new):
6356          fixed boolean again
6357
6358 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6359
6360         * docs/faq/gst-uninstalled:
6361           add -good
6362         * gst/gstevent.c:
6363         * gst/gstevent.h:
6364           remove wrong docs
6365         * gst/gstutils.c: (gst_element_link_filtered):
6366         * gst/gstutils.h:
6367           add gst_element_link_filtered
6368
6369 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6370
6371         * docs/gst/gstreamer-docs.sgml:
6372         * docs/gst/gstreamer-sections.txt:
6373         * docs/gst/tmpl/.cvsignore:
6374         * docs/gst/tmpl/gsterror.sgml:
6375         * docs/gst/tmpl/gstfilter.sgml:
6376         * docs/gst/tmpl/gsturihandler.sgml:
6377         * docs/gst/tmpl/gsturitype.sgml:
6378         * docs/gst/tmpl/gstutils.sgml:
6379         * docs/gst/tmpl/gstxml.sgml:
6380         * gst/gsterror.c:
6381         * gst/gsterror.h:
6382         * gst/gstfilter.c:
6383         * gst/gsturi.c:
6384         * gst/gsturitype.c:
6385         * gst/gstutils.c:
6386         * gst/gstxml.c:
6387           inlined more docs, fixed double id-ref
6388
6389 2005-08-31  Wim Taymans  <wim@fluendo.com>
6390
6391         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6392         (gst_base_transform_handle_buffer):
6393         Passthrough elements don't need the caps as they don't care.
6394
6395 2005-08-31  Wim Taymans  <wim@fluendo.com>
6396
6397         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6398         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6399         Don't leak refcounts on buffers.
6400
6401 2005-08-31  Wim Taymans  <wim@fluendo.com>
6402
6403         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6404         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6405         (gst_base_transform_chain), (gst_base_transform_change_state):
6406         * gst/base/gstbasetransform.h:
6407         Handle the case where we are not negotiated more gracefully.
6408
6409 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6410
6411         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6412         (gst_file_src_map_region):
6413           Set READONLY flag on mmap'ed buffers, otherwise
6414           gst_buffer_make_writable() won't work properly (#314708).
6415
6416 2005-08-31  Wim Taymans  <wim@fluendo.com>
6417
6418         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6419         passthrough elements can even do inplace on non writable
6420         buffers (as they don't touch them).
6421
6422 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6423
6424         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6425         (gst_test_mono_source_set_property),
6426         (gst_test_mono_source_class_init), (GST_START_TEST),
6427         (gst_controller_suite):
6428           more tests (hehe I have the most)
6429         * gst/gstbus.c:
6430           describe popping messages whenusing mulltiple sources
6431         * libs/gst/controller/gst-controller.c:
6432         (gst_controlled_property_set_interpolation_mode),
6433         (gst_controlled_property_new):
6434         * libs/gst/controller/gst-controller.h:
6435         * libs/gst/controller/gst-interpolation.c:
6436           implement boolean properties
6437
6438 2005-08-31  Wim Taymans  <wim@fluendo.com>
6439
6440         * gst/gstminiobject.c: (gst_mini_object_ref):
6441         Cannot assert that the refcount has to be positive
6442         since a disposed object can be resurrected.
6443
6444 2005-08-31  Wim Taymans  <wim@fluendo.com>
6445
6446         * gst/gstpad.c: (gst_pad_init):
6447         Revert change, need to first fix badly behaving 
6448         apps.
6449
6450 2005-08-30  Wim Taymans  <wim@fluendo.com>
6451
6452         * check/elements/fakesrc.c: (setup_fakesrc):
6453         * check/elements/identity.c: (setup_identity):
6454         Activate pads before using them.
6455
6456 2005-08-30  Wim Taymans  <wim@fluendo.com>
6457
6458         * gst/base/gstadapter.c: (gst_adapter_flush):
6459         Flushing out 0 bytes is ok for this function.
6460
6461         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6462         no newsegment gives a warning and sets the start/stop to 
6463         invalid.
6464
6465         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6466         (gst_base_transform_set_passthrough):
6467         Some debug info.
6468
6469         * gst/gstminiobject.c: (gst_mini_object_ref):
6470         Check refcount here too.
6471
6472         * gst/gstpad.c: (gst_pad_init):
6473         Pads are initially flushing and refusing data.
6474
6475         * gst/gstutils.c: (gst_element_link_pads_filtered):
6476         When adding a capsfilter element make sure it has the
6477         same state as the parent bin.
6478
6479 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6480
6481         * docs/gst/tmpl/.cvsignore:
6482         * docs/gst/tmpl/gstformat.sgml:
6483         * docs/gst/tmpl/gstversion.sgml:
6484         * gst/gstbus.h:
6485         * gst/gstformat.c:
6486         * gst/gstformat.h:
6487         * gst/gstversion.h.in:
6488           more docs and two more inlined
6489
6490 2005-08-30  Wim Taymans  <wim@fluendo.com>
6491
6492         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6493         Don't sync to clock.
6494
6495 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6496
6497         * docs/gst/gstreamer-sections.txt:
6498           ultral33t func10ns deserve to appear in the docs actually
6499         * docs/gst/tmpl/.cvsignore:
6500         * docs/gst/tmpl/gstcompat.sgml:
6501         * docs/gst/tmpl/gstconfig.sgml:
6502         * gst/check/gstcheck.c:
6503         * gst/gstcompat.h:
6504         * gst/gstconfig.h.in:
6505           inlined more docs
6506
6507 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6508
6509         * docs/gst/tmpl/.cvsignore:
6510         * docs/gst/tmpl/gstquery.sgml:
6511         * docs/gst/tmpl/gstutils.sgml:
6512         * gst/gstquery.c:
6513         * gst/gstquery.h:
6514           inlined and extended docs
6515
6516 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6517
6518         * check/gst-libs/controller.c: (GST_START_TEST),
6519         (gst_controller_suite):
6520           more tests
6521         * docs/gst/tmpl/gstutils.sgml:
6522         * docs/libs/gstreamer-libs-sections.txt:
6523         * docs/libs/tmpl/gstdataprotocol.sgml:
6524           include path fixes
6525         * examples/controller/audio-example.c: (main):
6526           controller example works now
6527         * gst/gstclock.h:
6528           doc fixes
6529         * tools/gst-inspect.c: (print_element_properties_info):
6530           show param spec flags
6531
6532 2005-08-29  Andy Wingo  <wingo@pobox.com>
6533
6534         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6535
6536 2005-08-28  Andy Wingo  <wingo@pobox.com>
6537
6538         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6539         as having two arguments instead of just one. Allows superclasses
6540         to access information on subclasses -- see the terrible for() loop
6541         in gtype.c:g_type_create_instance for the reason why. All callers
6542         changed.
6543
6544 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6545
6546         * docs/design/part-messages.txt:
6547           update info
6548         * docs/gst/tmpl/.cvsignore:
6549         * docs/gst/tmpl/gstcaps.sgml:
6550         * docs/gst/tmpl/gstclock.sgml:
6551         * gst/gstbus.c:
6552         * gst/gstcaps.c:
6553         * gst/gstcaps.h:
6554         * gst/gstclock.c:
6555         * gst/gstclock.h:
6556         * gst/gstmessage.c:
6557           added descriptions for bus and message
6558           inline caps and clock docs
6559
6560 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6561
6562         * gst/gstmessage.c:
6563         * gst/gstmessage.h:
6564           doc fixes
6565
6566 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6567
6568         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6569           fix div-by-zero
6570
6571 2005-08-26  Andy Wingo  <wingo@pobox.com>
6572
6573         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6574         element_set_state's return val.
6575         (test_2_elements): Add test that's been disabled for months.
6576
6577         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6578         can-activate-pull properties.
6579
6580         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6581         can-activate-pull properties. Implement is_seekable so fakesrc can
6582         operate in pull mode.
6583
6584         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6585         properties.
6586         (gst_base_sink_activate, gst_base_sink_activate_pull)
6587         (gst_base_sink_activate_push): Make activation mode choosing work.
6588         Cleanups.
6589         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6590         is right. Make pull mode work. Post an eos before pausing in pull
6591         mode.
6592         (gst_base_sink_change_state): Pay attention to the core's
6593         change_state() return val.
6594         
6595         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6596         has-getrange properties. Cleanups.
6597         
6598         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6599         has_getrange and replace with can_activate_pull and
6600         can_activate_push.
6601
6602         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6603         locking comments. Remove has_loop, has_chain and replace with
6604         can_activate_pull and can_activate_push.
6605
6606 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6607
6608         * configure.ac:
6609         * examples/Makefile.am:
6610         * examples/metadata/Makefile.am:
6611         * examples/metadata/read-metadata.c: (message_loop),
6612         (have_pad_handler), (make_pipeline), (print_tag), (main):
6613           Add metadata reading example that loops over a list of filenames,
6614           dumping any tags found.
6615
6616         * gst/gstbus.c: (gst_bus_dispose):
6617         * gst/gstelement.c: (gst_element_dispose):
6618           Release a few potentially-held references in dispose.
6619
6620 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6621
6622         * docs/gst/tmpl/gstminiobject.sgml:
6623           do *not* add tmpl/*.sgml files to CVS!
6624
6625 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6626
6627         * libs/gst/bytestream/.cvsignore:
6628         * libs/gst/bytestream/Makefile.am:
6629         * libs/gst/bytestream/adapter.c:
6630         * libs/gst/bytestream/adapter.h:
6631         * libs/gst/bytestream/bytestream.c:
6632         * libs/gst/bytestream/bytestream.h:
6633         * libs/gst/bytestream/filepad.c:
6634         * libs/gst/bytestream/filepad.h:
6635           removing obsolete files
6636
6637 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6638
6639         * docs/gst/gstreamer-docs.sgml:
6640         * docs/libs/gstreamer-libs-docs.sgml:
6641           disabed additional index entries again, as this makes docs-gen just
6642           slow and they aren't useful yet
6643         * docs/libs/gstreamer-libs-sections.txt:
6644           little -section.txt cleanup for libs
6645
6646 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6647
6648         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6649         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6650           fix up some debugging
6651         (gst_base_transform_get_unit_size),
6652         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6653         (gst_base_transform_handle_buffer):
6654         * gst/base/gstbasetransform.h:
6655           handle and store timed NEWSEGMENT events so that subclasses that
6656           calculate time by counting samples have a segment_start time they
6657           need to add to their timestamps - see audioresample
6658
6659 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6660
6661         * gst/gstbin.h:
6662           removed ';' from the end of macro defs
6663         * docs/gst/gstreamer-docs.sgml:
6664         * docs/gst/gstreamer-sections.txt:
6665         * docs/gst/tmpl/.cvsignore:
6666         * gst/gstbus.h:
6667         * gst/gstelement.c: (gst_element_class_init),
6668         (gst_element_set_state), (activate_pads),
6669         (gst_element_save_thyself):
6670         * gst/gstevent.c: (gst_event_new_newsegment):
6671         * gst/gstevent.h:
6672         * gst/gstiterator.c:
6673         * gst/gstiterator.h:
6674         * gst/gstpad.c:
6675         * gst/gstprobe.h:
6676         * gst/gstutils.c: (gst_pad_query_convert):
6677         * gst/gstutils.h:
6678           fixed parameter name mismatches between source, header and docs
6679           added some more docs, resolved the last batch of unused elements in
6680           docs (now someone needs to doc them)
6681
6682 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6683
6684         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6685         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6686           don't walk through the plugins backwards.  Where is all this
6687           reversed logic coming from ?
6688
6689 2005-08-25  Wim Taymans  <wim@fluendo.com>
6690
6691         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6692         (gst_base_transform_transform_size),
6693         (gst_base_transform_configure_caps),
6694         (gst_base_transform_get_unit_size),
6695         (gst_base_transform_buffer_alloc),
6696         (gst_base_transform_change_state):
6697         * gst/base/gstbasetransform.h:
6698         Cache caps unit_size.
6699         Make sure we cannot negotiate up and downstream at the
6700         same time.
6701
6702 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6703
6704         * gst/gst.c: (init_pre), (init_post):
6705           register the installed plugin path after the env var
6706         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6707         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6708           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6709           directories, so the tests can prefer uninstalled over installed
6710
6711 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6712
6713         * gst/base/gstbasetransform.h:
6714           comment
6715         * gst/gstpad.c:
6716           add to docs
6717
6718 2005-08-25  Wim Taymans  <wim@fluendo.com>
6719
6720         * gst/gstbin.c: (bin_bus_handler):
6721         Be a bit more conservative about the posted message.
6722         
6723         * gst/gstbus.c: (gst_bus_post):
6724         Some cleanups, warn wrong return values.
6725
6726 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6727
6728         * check/gst/gstbin.c: (GST_START_TEST):
6729         * gst/gstbin.c: (bin_bus_handler):
6730         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6731         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6732         (gst_message_new_warning), (gst_message_new_tag),
6733         (gst_message_new_state_changed), (gst_message_new_segment_start),
6734         (gst_message_new_segment_done), (gst_message_new_custom):
6735         * gst/gstmessage.h:
6736         * tools/gst-launch.c: (event_loop):
6737         * tools/gst-md5sum.c: (event_loop):
6738           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6739
6740 2005-08-25  Wim Taymans  <wim@fluendo.com>
6741
6742         * check/generic/states.c: (GST_START_TEST):
6743         Cleanup can be done at the end.
6744
6745         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6746         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6747         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6748         Oh boy.. Thanks for finding this, Thomas. 
6749
6750 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6751
6752         * docs/gst/gstreamer.types:
6753           added missing types
6754
6755 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6756
6757         * docs/gst/gstreamer-docs.sgml:
6758         * docs/gst/gstreamer-sections.txt:
6759         * docs/gst/tmpl/.cvsignore:
6760         * gst/gstbin.c:
6761         * gst/gstiterator.c:
6762         * gst/gstutils.c:
6763         * gst/registries/gstxmlregistry.h:
6764           added missing classes and symbols (123 more to go)
6765           removed removed symbols from section file
6766           fixed many doc-comments
6767
6768 2005-08-24  Wim Taymans  <wim@fluendo.com>
6769
6770         * check/generic/states.c: (GST_START_TEST):
6771         Make sure all tasks are stopped.
6772
6773         * check/gst/gstbin.c: (GST_START_TEST):
6774         Unref after usage for proper valgrinding.
6775
6776         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6777         Really wait for the task to stop before destroying the
6778         mutex.
6779
6780         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6781         (gst_queue_src_activate_push):
6782         Small cleanups. Don't stop the task when we did not start
6783         it.
6784
6785         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6786         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6787         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6788         (gst_task_join):
6789         * gst/gsttask.h:
6790         Protect the stream lock with the object lock.
6791         Disallow setting the stream lock when running.
6792         Add cleanup_all to wait for the threadpool to finish.
6793         Remove code to autoallocate a mutex if none was provided.
6794         Add _join() to wait for a task to stop.
6795         Protect the thread pool with a global lock.
6796
6797 2005-08-24  Wim Taymans  <wim@fluendo.com>
6798
6799         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6800         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6801         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6802         * gst/base/gstbasesink.h:
6803         Handle newsegment events correctly.
6804         Drop buffers out of the segment range.
6805
6806 2005-08-22  Andy Wingo  <wingo@pobox.com>
6807
6808         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6809         macro, implements an interface and gstimplementsinterface for a
6810         new type.
6811
6812 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6813
6814         * check/Makefile.am:
6815         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6816           add a test that does a bunch of state changes on elements
6817           needs some fixing for valgrind
6818         * check/states/sinks.c: (gst_object_suite):
6819           whitespace
6820         * gst/gstcaps.h:
6821           add prototype for gst_caps_is_equal_fixed
6822         * gst/gstplugin.c:
6823         * gst/gstregistrypool.c:
6824           doc fixes
6825
6826 2005-08-24  Andy Wingo  <wingo@pobox.com>
6827
6828         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6829         convert a negative value. Doesn't make much sense. Mostly this is
6830         here to force callers to ensure -1 maps to -1.
6831
6832 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6833
6834         * docs/pwg/advanced-types.xml:
6835           Well done to Michael for catching my deliberate introduction
6836           of this spelling mistake. 
6837         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6838         * gst/gstelement.h:
6839           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6840           unlink pads before removing the element from the bin.
6841
6842 2005-08-24  Andy Wingo  <wingo@pobox.com>
6843
6844         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6845         the same thing as GST_DEBUG=*:4.
6846         (parse_debug_level, parse_debug_category): New helper parsers.
6847
6848 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6849
6850         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6851         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6852         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6853         (gst_base_transform_buffer_alloc),
6854         (gst_base_transform_handle_buffer):
6855           use gboolean return values and pointers to size so we can use the
6856           full GST_BUFFER_SIZE range (guint) for buffer sizes
6857           use GstPadDirection for transform_caps
6858         * gst/base/gstbasetransform.h:
6859           rename get_size to get_unit_size since that's what it is
6860         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6861           use GstPadDirection for transform_caps
6862         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6863         * gst/gstutils.h:
6864           cleanup and debugging
6865
6866 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6867
6868         * gst/gstelement.c: (gst_element_class_init),
6869         (gst_element_set_state), (activate_pads),
6870         (gst_element_save_thyself):
6871         * tools/gst-compprep.c: (main):
6872         * tools/gst-inspect.c: (print_element_properties_info):
6873         * tools/gst-xmlinspect.c: (print_element_properties):
6874           Fixed long standing mem-leak
6875
6876 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6877
6878         * check/gst/gstbin.c: (GST_START_TEST):
6879         * gst/gstbin.c: (bin_bus_handler):
6880         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6881         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6882         (gst_message_new_warning), (gst_message_new_tag),
6883         (gst_message_new_state_changed), (gst_message_new_segment_start),
6884         (gst_message_new_segment_done), (gst_message_new_custom):
6885         * gst/gstmessage.h:
6886         * tools/gst-launch.c: (event_loop):
6887         * tools/gst-md5sum.c: (event_loop):
6888           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6889           that applications can sensibly post custom messages with references
6890           to their own objects.
6891
6892 2005-08-24  Andy Wingo  <wingo@pobox.com>
6893
6894         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6895         already.
6896
6897 2005-08-24  Wim Taymans  <wim@fluendo.com>
6898
6899         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6900         (gst_base_transform_transform_caps),
6901         (gst_base_transform_transform_size),
6902         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6903         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6904         (gst_base_transform_handle_buffer):
6905         * gst/base/gstbasetransform.h:
6906         Many fixes and new features added by Thomas. Can now also do
6907         transforms with variable sizes and a custom fixate_caps function.
6908
6909 2005-08-24  Wim Taymans  <wim@fluendo.com>
6910
6911         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6912         Some debugging.
6913
6914         * gst/gstclock.h:
6915         Cast to ClockTime before formatting to time.
6916
6917         * gst/gstutils.h:
6918         Cleanups.
6919
6920 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6921
6922         * check/gst-libs/controller.c: (GST_START_TEST),
6923         (gst_controller_suite):
6924         * docs/gst/tmpl/gstcaps.sgml:
6925         * docs/gst/tmpl/gstghostpad.sgml:
6926         * docs/gst/tmpl/gstquery.sgml:
6927         * docs/gst/tmpl/gstutils.sgml:
6928         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6929         (gst_object_sink_values), (gst_object_get_value_arrays),
6930         (gst_object_get_value_array):
6931           gracefully handle helper method calls to objects that are not beeing
6932           controlled, added test case for that          
6933
6934 2005-08-23  Wim Taymans  <wim@fluendo.com>
6935
6936         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6937         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6938         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6939         (gst_event_parse_qos), (gst_event_new_seek),
6940         (gst_event_parse_seek):
6941         * gst/gstevent.h:
6942         Some more debugging output and doc cleanups.
6943
6944         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6945         Fix possible deadlock.
6946
6947 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6948
6949         * docs/gst/gstreamer-docs.sgml:
6950         * docs/gst/gstreamer-sections.txt:
6951         * docs/gst/gstreamer.types:
6952         * docs/gst/tmpl/.cvsignore:
6953         * gst/gstbin.h:
6954         * gst/gstbus.c:
6955         * gst/gstelement.c:
6956         * gst/gstevent.h:
6957           added 100 symbols from gstreamer-unused.txt to the right sections
6958           fixed more broken comments
6959           added GstBus to docs
6960
6961 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6962
6963         * docs/gst/gstreamer-sections.txt:
6964         * docs/gst/tmpl/.cvsignore:
6965         * docs/gst/tmpl/gstbin.sgml:
6966         * docs/gst/tmpl/gstbuffer.sgml:
6967         * gst/base/gstbasesrc.c:
6968         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6969         * gst/gstbuffer.c:
6970         * gst/gstbuffer.h:
6971         * tools/gst-launch.1.in:
6972           inlined more doc comments, added missing comments and fixed comments
6973           fixed typos
6974
6975 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6976
6977         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6978           some debugging
6979         * gst/gstcaps.h:
6980           whitespace fixes
6981         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6982           more debugging
6983         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6984         * gst/gststructure.h:
6985           add a fixate function for booleans; add a FIXME that these func
6986           names should probably be gst_structure_fixate_*
6987
6988 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6989
6990         * docs/gst/gstreamer-docs.sgml:
6991         * docs/gst/gstreamer-sections.txt:
6992         * gst/Makefile.am:
6993         * gst/gstbin.c: (gst_bin_get_type),
6994         (gst_bin_child_proxy_get_child_by_index),
6995         (gst_bin_child_proxy_get_children_count),
6996         (gst_bin_child_proxy_init):
6997         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6998         (gst_child_proxy_get_child_by_index),
6999         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7000         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7001         (gst_child_proxy_get), (gst_child_proxy_set_property),
7002         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7003         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7004         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7005         * gst/gstchildproxy.h:
7006         * gst/parse/grammar.y:
7007         * tools/gst-inspect.c: (print_interfaces),
7008         (print_element_properties_info), (print_element_info):
7009           ported gstchildproxy over from 0.8
7010           ported gst-inspect fixes and enhancements over from 0.8
7011
7012 2005-08-22  Wim Taymans  <wim@fluendo.com>
7013
7014         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7015         (gst_base_transform_handle_buffer):
7016         Also call the transform function if we have ANY caps.
7017
7018         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7019         Fix debug info.
7020
7021 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7022
7023         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7024           Don't pretend to handle seek events if the source is not seekable
7025
7026 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7027
7028         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7029           Remove extra parameter to debug output
7030
7031         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7032         (gst_base_src_do_seek), (gst_base_src_activate_push):
7033           Fix seek event handling.
7034
7035         * gst/gstpipeline.c: (gst_pipeline_change_state):
7036         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7037         (gst_queue_src_activate_push):
7038           Don't start the src pad task on FLUSH_STOP if the pad
7039           isn't linked.
7040           Debug changes.
7041
7042 2005-08-22  Wim Taymans  <wim@fluendo.com>
7043
7044         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7045         Added check for gst_static_caps_get() refcounting.
7046
7047 2005-08-22  Wim Taymans  <wim@fluendo.com>
7048
7049         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7050         Make _static_caps_get() refcounting sane.
7051         
7052         * gst/gstelement.c: (gst_element_set_state):
7053         Add g_return_val_if_fail() to protect against segfaults.
7054
7055 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7056
7057         * docs/gst/tmpl/gstevent.sgml:
7058         * gst/gstevent.c:
7059         * gst/gstevent.h:
7060           inlined remaining docs, added missing doc comments
7061
7062 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7063
7064         * check/gst/gstbin.c: (GST_START_TEST):
7065           since we don't know when preroll is done, use refcount range
7066           check for the sink
7067         * gst/check/gstcheck.h:
7068           add macro for checking refcount range
7069
7070 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7071
7072         * check/Makefile.am:
7073           clean up environment for when registry gets built versus
7074           when actual tests are run; valgrind seems to not report
7075           leaks if GST_PLUGIN_PATH is set to some specific values
7076         * check/gst/gstbin.c: (GST_START_TEST):
7077           add more refcounting checks; maybe this exposes a
7078           preroll lock bug ?
7079         * common/check.mak:
7080         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7081         * gst/check/gstcheck.h:
7082         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7083         (gst_bin_change_state):
7084         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7085           add/fix debugging/whitespace
7086
7087 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7088
7089         * check/gst/gstevent.c: (event_probe), (test_event),
7090         (GST_START_TEST):
7091          Er, don't call gst_bin_watch_for_state_change you idiot.
7092
7093 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7094
7095         * check/Makefile.am:
7096           Use CHECK_CFLAGS and CHECK_LIBS
7097         * check/gst/gstevent.c: (event_probe), (test_event),
7098         (GST_START_TEST):
7099           Don't leak events.
7100         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7101         (gst_base_src_start), (gst_base_src_stop),
7102         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7103         (gst_base_src_change_state):
7104           Sprinkle gst_base_src_stop liberally around error paths to fix
7105           problems reusing a source after failed state changes.
7106         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7107         (helper_find_suggest), (gst_type_find_helper):
7108           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7109         * gst/gstevent.h:
7110         * docs/gst/tmpl/gstevent.sgml:
7111           Migrate part of the docs from the SGML file. Wait for ensonic to
7112           tell me how I did it wrong ;)
7113         * tools/gst-typefind.c: (main):
7114           Extra robustness to state changes between files.
7115
7116 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7117
7118         * check/Makefile.am:
7119           don't valgrind the controller test - it's leaking - Stefan, HELP
7120         * gst/check/gstcheck.c: (gst_check_message_error),
7121         (gst_check_chain_func), (gst_check_setup_element),
7122         (gst_check_teardown_element), (gst_check_setup_src_pad),
7123         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7124         (gst_check_teardown_sink_pad):
7125         * gst/check/gstcheck.h:
7126           add a bunch of methods to set up elements, and src and sink pads
7127         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7128         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7129         (GST_START_TEST):
7130           use them
7131         * gst/gstmessage.c:
7132         * gst/gsttag.h:
7133           whitespace/doc fixes
7134
7135 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7136
7137         * gst/gstelement.h:
7138           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7139           be handled by the application and not always printed as well
7140
7141 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7142
7143         * check/Makefile.am:
7144           set GST_TOOLS_DIR
7145         * gst/check/gstcheck.c: (gst_check_message_error):
7146         * gst/check/gstcheck.h:
7147           add a fail_unless_equals_int
7148           add fail_unless for error messages
7149
7150 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7151
7152         * check/Makefile.am:
7153         * check/gst.supp:
7154         * common/Makefile.am:
7155         * common/check.mak:
7156         * common/gst.supp:
7157           factor out some of the common stuff so we can use it
7158
7159 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7160
7161         * check/Makefile.am:
7162         * check/gst/gstiterator.c: (GST_START_TEST):
7163         * check/gst/gstsystemclock.c: (GST_START_TEST),
7164         (gst_systemclock_suite):
7165         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7166         * gst/gstclock.c:
7167           valgrind more tests
7168
7169 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7170
7171         * check/elements/.cvsignore:
7172         * check/elements/gstfakesrc.c:
7173           rename to name of element
7174         * check/elements/identity.c: (chain_func), (event_func),
7175         (setup_identity), (cleanup_identity), (GST_START_TEST),
7176         (identity_suite), (main):
7177           add a test for identity
7178         * check/Makefile.am:
7179         * pkgconfig/Makefile.am:
7180         * pkgconfig/gstreamer-check.pc.in:
7181         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7182         * gst/check:
7183         * gst/Makefile.am:
7184         * configure.ac:
7185           move the check stuff to a library that gets installed
7186         * check/gst-libs/controller.c: (GST_START_TEST):
7187         * check/gst-libs/gdp.c:
7188         * check/gst/gst.c: (GST_START_TEST):
7189         * check/gst/gstbin.c:
7190         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7191         * check/gst/gstbus.c:
7192         * check/gst/gstcaps.c: (GST_START_TEST):
7193         * check/gst/gstelement.c:
7194         * check/gst/gstghostpad.c:
7195         * check/gst/gstiterator.c:
7196         * check/gst/gstmessage.c:
7197         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7198         * check/gst/gstobject.c:
7199         * check/gst/gstpad.c: (GST_START_TEST):
7200         * check/gst/gststructure.c: (GST_START_TEST):
7201         * check/gst/gstsystemclock.c: (GST_START_TEST),
7202         (gst_systemclock_suite):
7203         * check/gst/gsttag.c: (gst_tag_suite):
7204         * check/gst/gstvalue.c:
7205         * check/pipelines/cleanup.c:
7206         * check/pipelines/simple_launch_lines.c:
7207         * check/states/sinks.c:
7208           change include statement
7209
7210         * docs/gst/gstreamer-sections.txt:
7211         * docs/gst/tmpl/gstpad.sgml:
7212           document more pad stuff
7213         * gst/gstminiobject.c: (gst_mini_object_ref),
7214         (gst_mini_object_unref):
7215           debug refcounting
7216
7217 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7218
7219         * docs/gst/tmpl/gst.sgml:
7220         * gst/gst.c:
7221           eliminate another tmpl file, fix spelling in the long-description
7222
7223 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7224
7225         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7226         (test_event), (timediff), (gstevents_suite):
7227           Should fix build on 64-bit arch's
7228
7229 2005-08-18  Andy Wingo  <wingo@pobox.com>
7230
7231         Make sure that when a pipeline goes to PLAYING, that data has
7232         actually hit the sink.
7233
7234         * check/states/sinks.c (test_sink): A sink that doesn't get any
7235         data shouldn't return SUCCESS for going to either PLAYING or
7236         PAUSED. Test also the return values on the way back down.
7237
7238         * gst/gstelement.c (gst_element_set_state): When changing the
7239         state of an element currently changing state asynchronously, go to
7240         lost-state after commiting the pending state. Makes future calls
7241         to get_state continue to return ASYNC.
7242
7243         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7244         ASYNC when going to PLAYING if we still don't have preroll, as can
7245         happen with live sources.
7246
7247 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7248
7249         * docs/pwg/advanced-types.xml:
7250           Hack long paragraph into 2 chunks as a workaround for buggy
7251           jadetex version in sid and breezy that loops infinitely and
7252           eats all RAM.
7253
7254 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7255
7256         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7257         (test_event), (timediff), (gstevents_suite):
7258           Provide more error margin in clock measurements to allow for 
7259           g_get_current_time inaccuracies.
7260
7261 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7262
7263         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7264         (test_event), (timediff), (gstevents_suite):
7265            Fix error message output so I might be able to tell why the
7266            test works here but fails on the build farm.
7267
7268 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7269
7270         * check/Makefile.am:
7271         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7272         (test_event), (timediff), (gstevents_suite), (main):
7273           I wrote a test!
7274
7275         * docs/design/part-seeking.txt:
7276           Spelling correction
7277
7278         * docs/gst/tmpl/gstevent.sgml:
7279         * docs/gst/tmpl/gstfakesrc.sgml:
7280           Docs updates.
7281
7282         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7283           Treat a buffer-without-newsegment the same as a receiving 
7284           a newsegment not in time format, and disable syncing to the clock
7285           with a warning.
7286
7287         * gst/gstbus.c: (gst_bus_set_sync_handler):
7288           Assert if anyone tries to replace the existing sync_handler for bus, 
7289           as only the owner should be setting it.
7290
7291         * gst/gstevent.h:
7292           Have a fixed set of custom event enums with events identified by
7293           their structure name (as in 0.8), rather than a free-for-all
7294           allowing collisions between enum values from different plugins.
7295
7296         * gst/gstpad.c: (gst_pad_class_init):
7297           Docs change.
7298           
7299         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7300           Handle out-of-band downstream events from the sending thread.
7301
7302 2005-08-17  Andy Wingo  <wingo@pobox.com>
7303
7304         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7305         play-timeout==0 to mean no timeout at all. In that case, don't
7306         bother with a get_state or a warning, just return directly, even
7307         if it's ASYNC.
7308
7309         * gst/base/gstbasetransform.c: Debug changes.
7310
7311         * gst/gstutils.h:
7312         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7313         ensure bins post state change messages. A bit of a hack but I can't
7314         think of a way to avoid it.
7315
7316         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7317
7318 2005-08-16  Andy Wingo  <wingo@pobox.com>
7319
7320         * gst/base/gstadapter.h:
7321         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7322         peek() but you own the data. Not terribly efficient atm.
7323
7324 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7325
7326         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7327         (gst_element_found_tags):
7328         * gst/gstutils.h:
7329           Add two utility functions for tag handling.
7330
7331 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7332
7333         * docs/manual/advanced-dataaccess.xml:
7334         * docs/manual/basics-helloworld.xml:
7335           Fix docs to use _bin_add() before _link(), which fixes the examples
7336           with recent core versions (reported by Madhan Raj M
7337           <raj_madan@rediffmail.com>, #313199).
7338
7339 2005-08-16  Wim Taymans  <wim@fluendo.com>
7340
7341         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7342         Added subtract checks.
7343
7344         * docs/design/part-events.txt:
7345         Some more docs about newsegment
7346
7347         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7348         Fix FIXME
7349
7350         * gst/gstcaps.c: (gst_caps_to_string):
7351         Add comments, cleanups.
7352         
7353         * gst/gstelement.c: (gst_element_save_thyself):
7354         cleanups
7355         
7356         * gst/gstvalue.c: (gst_value_collect_int_range),
7357         (gst_string_unwrap), (gst_value_union_int_int_range),
7358         (gst_value_union_int_range_int_range),
7359         (gst_value_intersect_int_int_range),
7360         (gst_value_intersect_int_range_int_range),
7361         (gst_value_intersect_double_double_range),
7362         (gst_value_intersect_double_range_double_range),
7363         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7364         (gst_value_subtract_int_range_int),
7365         (gst_value_subtract_double_range_double),
7366         (gst_value_subtract_double_range_double_range),
7367         (gst_value_subtract_from_list), (gst_value_subtract_list),
7368         (gst_value_can_compare), (gst_value_compare_fraction):
7369         Cleanups, add comments, remove unneeded asserts.
7370
7371 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7372
7373         * tools/gst-launch.c: (event_loop):
7374           don't convert NULL structures to strings
7375
7376 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7377
7378         * docs/gst/gstreamer-sections.txt:
7379           made some defines private
7380         * docs/gst/tmpl/gstconfig.sgml:
7381         * docs/gst/tmpl/gstqueue.sgml:
7382         * docs/gst/tmpl/gsttaglist.sgml:
7383         * docs/gst/tmpl/gsttypes.sgml:
7384         * docs/gst/tmpl/gstutils.sgml:
7385         * docs/pwg/appendix-porting.xml:
7386         * gst/base/gstbasesink.h:
7387         * gst/base/gstbasesrc.c:
7388         * gst/base/gstbasesrc.h:
7389         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7390         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7391         * gst/gstelement.c: (gst_element_class_init):
7392         * gst/gstpad.c: (gst_pad_class_init):
7393         * gst/gstqueue.c: (gst_queue_class_init):
7394         * gst/gstxml.c: (gst_xml_class_init):
7395           documented all undocumented signal inline
7396         * libs/gst/controller/gst-controller.h:
7397           added padding
7398
7399 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7400
7401         * docs/pwg/appendix-porting.xml:
7402           Document _set_link_function -> _set_setcaps_function.
7403
7404 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7405
7406         * check/Makefile.am:
7407           add a .check target for running the check
7408         * check/gst-libs/controller.c: (GST_START_TEST):
7409           cosmetic fixups
7410         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7411           complete checks for gstbuffer; would be nice if I could get the
7412           gcov stuff to work so I can see if I actually completed gstbuffer.c
7413         * check/gstcheck.h:
7414           add ASSERT_BUFFER_REFCOUNT
7415
7416 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7417
7418         * docs/gst/gstreamer-sections.txt:
7419         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7420         * gst/gsttag.h:
7421           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7422           spew out a warning if a tag that is already registered
7423           is re-registered, unless it is re-registered with a 
7424           different type (#308438).
7425
7426 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7427
7428         * docs/pwg/appendix-porting.xml:
7429         * docs/pwg/building-state.xml:
7430           Add some paragraphs about state changes in 0.9 to the PWG
7431           and the porting guide, in particular about the new meaning
7432           of GST_STATE_PAUSED and how to write state change functions
7433           with concurrent access by multiple threads in mind.
7434
7435 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7436
7437         * docs/gst/gstreamer-docs.sgml:
7438         * docs/libs/gstreamer-libs-docs.sgml:
7439           added deprecation and since indexes
7440         * libs/gst/controller/gst-controller.c:
7441         * libs/gst/controller/gst-helper.c:
7442           added since tags
7443
7444
7445 2005-08-11  Wim Taymans  <wim@fluendo.com>
7446
7447         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7448         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7449         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7450         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7451         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7452         (gst_ghost_pad_set_target):
7453         Actually implement (re)setting the target on a ghostpad
7454         as described in the docs.
7455
7456 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7457
7458         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7459           Check whether GST_DEBUG_NO_COLOR environment variable is
7460           set and disable coloured debug output if that is the case.
7461
7462 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7463
7464         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7465         (gst_type_find_helper):
7466           The memory returned by gst_type_find_peek() needs to
7467           stay valid until the end of a typefind function, and
7468           typefind functions may keep results from different 
7469           offsets around, so we can't just unref the buffer from
7470           the previous _peek(), but have to save all buffers 
7471           returned by _peek() until typefinding is done and only
7472           free them then.
7473
7474 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7475
7476         * docs/gst/gstreamer-sections.txt:
7477         * gst/gstutils.h:
7478           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7479
7480 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7481
7482         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7483           Fix a pretty good memleak.
7484
7485 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7486
7487         * gst/gstiterator.h:
7488           Fix wrong include and 'make distcheck'.
7489
7490 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7491
7492         * gst/gstbin.c: (bin_bus_handler):
7493           Use gst_element_post_message() instead.
7494
7495 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7496
7497         * gst/base/gstadapter.h:
7498         * gst/base/gstbasesink.h:
7499         * gst/base/gstbasesrc.h:
7500         * gst/base/gstbasetransform.h:
7501         * gst/base/gstcollectpads.h:
7502         * gst/base/gstpushsrc.h:
7503         * gst/gstiterator.h:
7504           Add padding to our base elements' class and instance structs and
7505           to GstIterator (you will need to rebuild all plugins and apps!)
7506
7507 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7508
7509         * gst/gstbin.c: (bin_bus_handler):
7510           Make default message forwarding from child->bus to bin->bus
7511           threadsafe and make it not emit warnings if the parent has no bus.
7512
7513 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7514
7515         * gst/gstelement.c: (activate_pads):
7516           On paused->ready, set pad->caps to NULL, as is the documented
7517           behaviour in this state change. Fixes playback of series of
7518           media files when visualization is enabled in Totem.
7519
7520 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7521
7522         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7523           Allow NULL as filter-caps (which means "any").
7524
7525 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7526
7527         * docs/libs/gstreamer-libs-sections.txt:
7528         * libs/gst/controller/gst-controller.c:
7529         * libs/gst/controller/gst-controller.h:
7530         * libs/gst/controller/gst-helper.c:
7531           adding more entries to the docs and fix small doc-bugs
7532
7533 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7534
7535         * docs/gst/gstreamer-docs.sgml:
7536         * docs/gst/gstreamer-sections.txt:
7537         * docs/gst/gstreamer.types:
7538         * docs/gst/tmpl/gstbasesink.sgml:
7539         * docs/gst/tmpl/gstbasesrc.sgml:
7540         * docs/gst/tmpl/gstbasetransform.sgml:
7541         * docs/gst/tmpl/gstfakesrc.sgml:
7542         * gst/base/gstcollectpads.c:
7543         * gst/base/gstcollectpads.h:
7544         * libs/gst/controller/gst-controller.c:
7545         * libs/gst/controller/gst-controller.h:
7546         * libs/gst/controller/gst-helper.c:
7547         * libs/gst/controller/gst-interpolation.c:
7548         * libs/gst/controller/lib.c:
7549           added long/short desc for controller docs
7550           added collectpads base class docs
7551           added correct includes to base-class docs
7552
7553 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7554
7555         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7556         (gst_test_mono_source_set_property),
7557         (gst_test_mono_source_class_init), (GST_START_TEST),
7558         (gst_controller_suite):
7559         * docs/gst/gstreamer-docs.sgml:
7560         * docs/gst/gstreamer-sections.txt:
7561         * docs/gst/gstreamer.types:
7562         * docs/libs/gstreamer-libs-docs.sgml:
7563         * docs/libs/gstreamer-libs-sections.txt:
7564         * gst/base/gstadapter.c:
7565         * libs/gst/controller/gst-controller.c:
7566         (gst_controlled_property_new), (gst_controlled_property_free),
7567         (gst_controller_new_valist),
7568         (gst_controller_remove_properties_valist),
7569         (gst_controller_sink_values), (_gst_controller_finalize):
7570         * libs/gst/controller/gst-controller.h:
7571         * libs/gst/controller/gst-helper.c:
7572         (gst_object_control_properties), (gst_object_uncontrol_properties),
7573         (gst_object_get_controller), (gst_object_set_controller),
7574         (gst_object_sink_values), (gst_object_get_value_arrays),
7575         (gst_object_get_value_array):
7576           more tests (and fixes) for the controller
7577           more docs for the controller
7578           integrated companies docs for the adapter 
7579
7580 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7581
7582         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7583         (GST_START_TEST), (fakesrc_suite):
7584           add tests for sizetype
7585
7586 2005-08-04  Andy Wingo  <wingo@pobox.com>
7587
7588         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7589         fixes buffer_alloc proxying among other things.
7590
7591         * gst/base/gstbasetransform.c:
7592         * gst/base/gstbasetransform.h:
7593         Revert patch to gstbasetransform from 7-28 removing
7594         delay_configure.
7595
7596         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7597         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7598         Semantics changed, should return not the size of the output buffer
7599         but the byte size of a buffer with a given caps.
7600
7601         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7602         debug object.
7603         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7604         out) are not the pad caps until setcaps finishes.
7605         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7606         not-in-place case as well. Deal with changing from in-place to
7607         not-in-place within calling pad_alloc_buffer. Still a bit
7608         concerned about the overhead here...
7609
7610 2005-08-03  Andy Wingo  <wingo@pobox.com>
7611
7612         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7613         fixating is an error.
7614
7615 2005-08-04  Edward Hervey  <edward@fluendo.com>
7616
7617         * gst/base/gstadapter.h: 
7618         Added gst_adapter_get_type() to the header
7619
7620 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7621
7622         * check/Makefile.am:
7623         * check/gst-libs/controller.c:
7624         * libs/gst/controller/gst-controller.c:
7625         (gst_controller_new_valist):
7626           added check test suite for the controller
7627         * gst/base/gstpushsrc.c:
7628           fixed a doc typo
7629
7630 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7631
7632         * docs/gst/Makefile.am:
7633         * docs/gst/gstreamer-docs.sgml:
7634         * docs/gst/gstreamer-sections.txt:
7635         * docs/gst/gstreamer.types:
7636         * docs/gst/tmpl/gstfakesrc.sgml:
7637         * gst/base/README:
7638         * gst/base/gstbasesink.c:
7639         * gst/base/gstbasesink.h:
7640         * gst/base/gstbasesrc.c:
7641         * gst/base/gstbasesrc.h:
7642         * gst/base/gstbasetransform.c:
7643         * gst/base/gstpushsrc.c:
7644         * gst/base/gstpushsrc.h:
7645           add short/long description docs to base classes
7646           add pushsrc to the docs
7647           remove consolidated doc fragments
7648
7649 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7650
7651         * configure.ac:
7652         * docs/libs/Makefile.am:
7653         * docs/libs/gstreamer-libs-docs.sgml:
7654         * docs/libs/gstreamer-libs-sections.txt:
7655         * docs/libs/gstreamer-libs.types:
7656         * examples/Makefile.am:
7657         * examples/controller/.cvsignore:
7658         * examples/controller/Makefile.am:
7659         * examples/controller/audio-example.c: (main):
7660         * libs/gst/Makefile.am:
7661         * libs/gst/controller/.cvsignore:
7662         * libs/gst/controller/Makefile.am:
7663         * libs/gst/controller/gst-controller.c:
7664         (on_object_controlled_property_changed), (gst_timed_value_compare),
7665         (gst_timed_value_find),
7666         (gst_controlled_property_set_interpolation_mode),
7667         (gst_controlled_property_new), (gst_controlled_property_free),
7668         (gst_controller_find_controlled_property),
7669         (gst_controller_new_valist), (gst_controller_new),
7670         (gst_controller_remove_properties_valist),
7671         (gst_controller_remove_properties), (gst_controller_set),
7672         (gst_controller_set_from_list), (gst_controller_unset),
7673         (gst_controller_get), (gst_controller_get_all),
7674         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7675         (gst_controller_get_value_array),
7676         (gst_controller_set_interpolation_mode),
7677         (_gst_controller_finalize), (_gst_controller_init),
7678         (_gst_controller_class_init), (gst_controller_get_type):
7679         * libs/gst/controller/gst-controller.h:
7680         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7681         (g_object_uncontrol_properties), (g_object_get_controller),
7682         (g_object_set_controller), (g_object_sink_values),
7683         (g_object_get_value_arrays), (g_object_get_value_array):
7684         * libs/gst/controller/gst-interpolation.c:
7685         (gst_controlled_property_find_timed_value_node),
7686         (interpolate_none_get), (interpolate_trigger_get),
7687         (interpolate_trigger_get_value_array):
7688         * libs/gst/controller/lib.c: (gst_controller_init):
7689         * pkgconfig/Makefile.am:
7690         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7691         * pkgconfig/gstreamer-control.pc.in:
7692         * testsuite/Makefile.am:
7693         * testsuite/controller/.cvsignore:
7694         * testsuite/controller/Makefile.am:
7695         * testsuite/controller/interpolator.c: (main):
7696           added controller code
7697           removed dparam pc files
7698
7699 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7700         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7701         (gst_collectpads_stop):
7702           Broadcast the condition when shutting down, to make sure we wake all
7703           threads up. Shut down pads on finalize, for safety.
7704
7705 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7706         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7707         (gst_base_transform_handle_buffer),
7708         (gst_base_transform_change_state):
7709           Handle PAUSED->READY->PAUSED transition after negotiation
7710           occurred already.
7711         * gst/gstmessage.c: (gst_message_init):
7712           Extra piece of debug for new messages.
7713
7714 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7715
7716         * configure.ac:
7717         * docs/gst/tmpl/gstbasesrc.sgml:
7718         * docs/gst/tmpl/gstelement.sgml:
7719         * docs/gst/tmpl/gstevent.sgml:
7720         * docs/gst/tmpl/gstfakesrc.sgml:
7721         * docs/gst/tmpl/gstformat.sgml:
7722         * docs/gst/tmpl/gstghostpad.sgml:
7723         * docs/gst/tmpl/gstpad.sgml:
7724         * docs/gst/tmpl/gstquery.sgml:
7725         * docs/gst/tmpl/gststructure.sgml:
7726         * docs/gst/tmpl/gsttaglist.sgml:
7727         * docs/gst/tmpl/gstvalue.sgml:
7728         * docs/libs/gstreamer-libs-docs.sgml:
7729         * docs/libs/gstreamer-libs-sections.txt:
7730         * docs/libs/gstreamer-libs.types:
7731         * libs/gst/Makefile.am:
7732         * libs/gst/control/.cvsignore:
7733         * libs/gst/control/Makefile.am:
7734         * libs/gst/control/control.c:
7735         * libs/gst/control/control.h:
7736         * libs/gst/control/dparam.c:
7737         * libs/gst/control/dparam.h:
7738         * libs/gst/control/dparam_smooth.c:
7739         * libs/gst/control/dparam_smooth.h:
7740         * libs/gst/control/dparamcommon.h:
7741         * libs/gst/control/dparammanager.c:
7742         * libs/gst/control/dparammanager.h:
7743         * libs/gst/control/dplinearinterp.c:
7744         * libs/gst/control/dplinearinterp.h:
7745         * libs/gst/control/unitconvert.c:
7746         * libs/gst/control/unitconvert.h:
7747         * testsuite/Makefile.am:
7748         * testsuite/dynparams/.cvsignore:
7749         * testsuite/dynparams/Makefile.am:
7750         * testsuite/dynparams/dparamstest.c:
7751         * tools/Makefile.am:
7752         * tools/gst-inspect.c: (print_element_info), (main):
7753         * tools/gst-xmlinspect.c: (print_element_info), (main):
7754           deactivate and remove dparams (libgstcontrol)
7755
7756 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7757
7758         * gst/elements/gsttypefindelement.c:
7759         (gst_type_find_element_have_type), (gst_type_find_element_init),
7760         (stop_typefinding), (gst_type_find_element_handle_event),
7761         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7762         * gst/elements/gsttypefindelement.h:
7763           Set caps on all outgoing buffers, not just the first one.
7764
7765 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7766
7767         * gst/elements/gsttypefindelement.c:
7768         (gst_type_find_element_have_type),
7769         (gst_type_find_element_check_set_buffer_caps),
7770         (gst_type_find_element_init), (stop_typefinding),
7771         (gst_type_find_element_handle_event),
7772         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7773         * gst/elements/gsttypefindelement.h:
7774           Set caps on first outgoing buffer when we've found the type.
7775
7776 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7777
7778         * docs/gst/gstreamer-docs.sgml:
7779         * docs/gst/gstreamer-sections.txt:
7780         * docs/gst/tmpl/gstscheduler.sgml:
7781         * docs/gst/tmpl/gstschedulerfactory.sgml:
7782           Remove some old cruft from docs.
7783
7784 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7785
7786         * gst/gstpad.h:
7787           Fix inline docs for GstPadLinkReturn.
7788           
7789         * gst/gststructure.c: (gst_structure_has_name):
7790         * gst/gststructure.h:
7791         * docs/gst/gstreamer-sections.txt:
7792           New API: gst_structure_has_name().
7793
7794 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7795
7796         * configure.ac:
7797           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7798           and _LARGEFILE_SOURCE in config.h as required. Do not 
7799           export those flags in our .pc files any longer (#142209).
7800
7801           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7802
7803         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7804         (gst_file_sink_do_seek), (gst_file_sink_event),
7805         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7806           Redo seek/tell calls with large file support in mind; add some
7807           debugging messages; add log message that tells us when large
7808           file support is unavailable or not enabled for some reason.
7809
7810         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7811           Add log message that tells us when large file support 
7812           is unavailable or not enabled for some reason.
7813
7814 2005-07-29  Wim Taymans  <wim@fluendo.com>
7815
7816         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7817         Added test for removing an element with ghostpad from a bin.
7818         Fixed test as current implementation does the right thing.
7819
7820         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7821         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7822         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7823         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7824         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7825         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7826         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7827         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7828         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7829         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7830         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7831         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7832         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7833         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7834         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7835         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7836         * gst/gstghostpad.h:
7837         Clean up ghostpads, remove properties for internal stuff.
7838         Make threadsafe.
7839         Fix refcounting.
7840         Prepare for switching targets, not all use cases work yet.
7841
7842 2005-07-29  Wim Taymans  <wim@fluendo.com>
7843
7844         * docs/design/part-gstghostpad.txt:
7845         Small update.
7846
7847         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7848         (gst_bin_remove_func):
7849         Unlinking pads while holding the bin LOCK is not a good
7850         idea.
7851
7852         * gst/gstpad.c: (gst_pad_class_init),
7853         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7854         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7855         No prob setting template after creating the pad.
7856
7857 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7858
7859         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7860         (gst_bus_peek), (gst_bus_source_dispatch),
7861         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7862         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7863           gst_bus_poll may be called from other threads. Handle
7864           this nicely by not making poll_data disappear off the
7865           stack once gst_bus_poll returns.
7866           gst_bus_peek now increments the refcount on the returned
7867           message.
7868
7869 2005-07-29  Wim Taymans  <wim@fluendo.com>
7870
7871         * docs/design/part-gstghostpad.txt:
7872         Overview of current GhostPad datastructures and use
7873         cases for changing the target.
7874
7875 2005-07-28  Wim Taymans  <wim@fluendo.com>
7876
7877         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7878         Added checks for hierarchy consistency whan adding linked
7879         elements to bins.
7880
7881         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7882         Added check to test element scheduling without bin/pipeline.
7883
7884         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7885         First add elements to bin, then link.
7886         
7887         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7888         (gst_bin_remove_func):
7889         Unlink pads from elements added/removed from bin to maintain
7890         hierarchy consistency.
7891
7892 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7893
7894         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7895         (gst_base_transform_handle_buffer):
7896         * gst/base/gstbasetransform.h:
7897           Remove broken delay_configure (fixes renegotiation of software
7898           scaling pipelines); remove some leftover printf()s.
7899
7900 2005-07-28  Wim Taymans  <wim@fluendo.com>
7901
7902         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7903         Added some more tests for wrong hierarchy
7904
7905         * docs/design/part-overview.txt:
7906         Some updates.
7907
7908         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7909         Cleanups.
7910
7911         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7912         (gst_element_dispose):
7913         Some more cleanups.
7914
7915         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7916         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7917         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7918         (gst_pad_set_caps), (gst_pad_send_event):
7919         Check for correct hierarchy when linking pads. Moving to
7920         strict requirement for ghostpads when linking elements in
7921         different bins.
7922
7923         * gst/gstpad.h:
7924         Clean ups. Added WRONG_HIERARCHY return value.
7925
7926 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7927
7928         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7929           Better debug if no transform is possible.
7930
7931 2005-07-27  Wim Taymans  <wim@fluendo.com>
7932
7933         * docs/random/wtay/network-transp:
7934         Some old doc I had.
7935
7936 2005-07-27  Wim Taymans  <wim@fluendo.com>
7937
7938         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7939         (gst_dp_event_from_packet):
7940         Fix serialization of seek events.
7941
7942 2005-07-27  Wim Taymans  <wim@fluendo.com>
7943
7944         * check/gst-libs/gdp.c: (GST_START_TEST):
7945         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7946         Fix compilation and fix event serialization.
7947
7948 2005-07-27  Wim Taymans  <wim@fluendo.com>
7949
7950         * CHANGES-0.9:
7951         * docs/design/part-TODO.txt:
7952         * docs/design/part-events.txt:
7953         Some docs updates
7954
7955         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7956         (gst_base_sink_event), (gst_base_sink_do_sync),
7957         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7958         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7959         (gst_base_src_do_seek), (gst_base_src_event_handler),
7960         (gst_base_src_loop):
7961         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7962         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7963         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7964         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7965         (gst_base_transform_set_passthrough),
7966         (gst_base_transform_is_passthrough):
7967         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7968         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7969         Event updates.
7970
7971         * gst/gstbuffer.h:
7972         Use faster casts.
7973
7974         * gst/gstelement.c: (gst_element_seek):
7975         * gst/gstelement.h:
7976         Update gst_element_seek.
7977
7978         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7979         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7980         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7981         (gst_event_new_eos), (gst_event_new_newsegment),
7982         (gst_event_parse_newsegment), (gst_event_new_tag),
7983         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7984         (gst_event_parse_qos), (gst_event_new_seek),
7985         (gst_event_parse_seek), (gst_event_new_navigation):
7986         * gst/gstevent.h:
7987         Make GstEvent use GstStructure. Add parsing code, make sure the
7988         API is sufficiently generic.
7989         Mark possible directions of events and serialization.
7990
7991         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7992         (_gst_message_copy), (gst_message_new_segment_start),
7993         (gst_message_new_segment_done), (gst_message_new_custom),
7994         (gst_message_parse_segment_start),
7995         (gst_message_parse_segment_done):
7996         Small cleanups.
7997
7998         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7999         (gst_pad_set_caps), (gst_pad_send_event):
8000         Update for new events. 
8001         Catch events sent in wrong directions.
8002
8003         * gst/gstqueue.c: (gst_queue_link_src),
8004         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8005         (gst_queue_handle_src_query):
8006         Event updates.
8007
8008         * gst/gsttag.c:
8009         * gst/gsttag.h:
8010         Remove event code from this file.
8011
8012         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8013         (gst_dp_event_from_packet):
8014         Event updates.
8015
8016 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8017
8018         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8019         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8020         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8021           Make debugging actually useful.
8022
8023 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8024
8025         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8026         (gst_pad_fixate_caps):
8027           Implement default fixation once again, so that gst_pad_fixate()
8028           actually does anything at all. This probably needs to be some
8029           sort of a last resort, and use profile-based fixation first, but
8030           since that doesn't exist yet, this is the best we have. Fixes
8031           visualization in Totem.
8032
8033 2005-07-22  Wim Taymans  <wim@fluendo.com>
8034
8035         * docs/design/part-events.txt:
8036         Small update.
8037
8038         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8039         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8040         (gst_base_sink_activate_pull):
8041         Some more comments.
8042
8043         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8044         (gst_fake_src_create):
8045         Fix handoff marshall.
8046
8047         * gst/elements/gstidentity.c: (gst_identity_class_init),
8048         (gst_identity_transform_ip):
8049         We're a real inplace element.
8050
8051         * gst/gstbus.c: (gst_bus_post):
8052         Added some comments.
8053
8054         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8055         * tests/muxing/case1.c: (main):
8056         * tests/sched/dynamic-pipeline.c: (main):
8057         * tests/sched/interrupt1.c: (main):
8058         * tests/sched/interrupt2.c: (main):
8059         * tests/sched/interrupt3.c: (main):
8060         * tests/sched/runxml.c: (main):
8061         * tests/sched/sched-stress.c: (main):
8062         * tests/seeking/seeking1.c: (event_received), (main):
8063         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8064         (main):
8065         * tests/threadstate/threadstate3.c: (main):
8066         * tests/threadstate/threadstate4.c: (main):
8067         * tests/threadstate/threadstate5.c: (main):
8068         Fix the tests.
8069
8070 2005-07-21  Wim Taymans  <wim@fluendo.com>
8071
8072         * docs/design/part-seeking.txt:
8073         Some small additions.
8074
8075         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8076         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8077         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8078         * gst/base/gstbasesink.h:
8079         discont values are gint64, handle the math correctly.
8080
8081         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8082         Make the basesrc report error if the source pad is not linked.
8083
8084         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8085         (gst_queue_loop), (gst_queue_handle_src_query),
8086         (gst_queue_src_activate_push):
8087         Make queue collect data even if the srcpad is not linked.
8088         Start pushing out data as soon as it is linked.
8089
8090         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8091         * gst/gstutils.h:
8092         Added gst_flow_get_name() to ease error reporting.
8093
8094 2005-07-20  Wim Taymans  <wim@fluendo.com>
8095
8096         * gst/gstmessage.c: (gst_message_new_segment_start),
8097         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8098         (gst_message_parse_segment_done):
8099         * gst/gstmessage.h:
8100         Added a bunch of messages for advanced seeking.
8101
8102         * gst/parse/grammar.y:
8103         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8104         (gst_dpman_state_changed):
8105         Fix some new-pad -> pad-added signals
8106
8107 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8108
8109         * docs/manual/appendix-porting.xml:
8110         * docs/pwg/appendix-porting.xml:
8111           Document new-pad/state-change signal renames and the FixedList
8112           type rename.
8113
8114 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8115
8116         * docs/manual/advanced-autoplugging.xml:
8117         * docs/manual/basics-helloworld.xml:
8118         * docs/manual/basics-pads.xml:
8119         * docs/random/ds/0.9-suggested-changes:
8120         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8121         * gst/gstelement.h:
8122         * gst/gstevent.h:
8123         * gst/gstformat.h:
8124         * gst/gstquery.h:
8125         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8126         (gst_structure_parse_array), (gst_structure_parse_value):
8127         * gst/gstvalue.c: (gst_type_is_fixed),
8128         (gst_value_list_prepend_value), (gst_value_list_append_value),
8129         (gst_value_list_get_size), (gst_value_list_get_value),
8130         (gst_value_transform_array_string), (gst_value_serialize_array),
8131         (gst_value_deserialize_array), (gst_value_intersect_array),
8132         (gst_value_is_fixed), (_gst_value_initialize):
8133         * gst/gstvalue.h:
8134           GstElement::new-pad -> pad-added, GstElement::state-change ->
8135           state-changed, GstValueFixedList -> GstValueArray, add format and
8136           flags as their own arguments in gst_element_seek() (should improve
8137           "bindeability"), remove function generators since they don't work
8138           under a whole bunch of compilers (they were deprecated already
8139           anyway).
8140
8141 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8142
8143         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8144         (_gst_debug_register_funcptr):
8145         * gst/gstinfo.h:
8146           Fix illegal cast on some platforms (#309253).
8147
8148 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8149
8150         * gst/gstmessage.c: (gst_message_new_custom):
8151         * gst/gstmessage.h:
8152           Add _new_custom, make _new_application a macro to _new_custom.
8153
8154 2005-07-20  Wim Taymans  <wim@fluendo.com>
8155
8156         * gst/base/gstbasesrc.c: (gst_base_src_init),
8157         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8158         * gst/base/gstbasesrc.h:
8159         Add a gboolean to decide when to push out a discont.
8160
8161         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8162         (gst_queue_loop), (gst_queue_handle_src_query),
8163         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8164         (gst_queue_set_property), (gst_queue_get_property):
8165         Some cleanups.
8166
8167         * tests/threadstate/threadstate1.c: (main):
8168         Make a thread test compile and run... very silly..
8169
8170
8171 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8172
8173         * docs/manual/appendix-porting.xml:
8174           Mention removal of libgstgconf-0.9.la and existence of gconf
8175           elements.
8176
8177 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8178
8179         * docs/pwg/advanced-clock.xml:
8180         * docs/pwg/appendix-porting.xml:
8181         * docs/pwg/intro-preface.xml:
8182         * docs/pwg/other-base.xml:
8183         * docs/pwg/other-manager.xml:
8184         * docs/pwg/other-nton.xml:
8185         * docs/pwg/other-ntoone.xml:
8186         * docs/pwg/other-oneton.xml:
8187         * docs/pwg/pwg.xml:
8188           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8189           demuxer), remove n-to-n (was never written), fix some code examples
8190           and links and update the porting section to include all this.
8191
8192 2005-07-19  Wim Taymans  <wim@fluendo.com>
8193
8194         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8195         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8196         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8197         (gst_queue_src_activate_push), (gst_queue_change_state),
8198         (gst_queue_get_property):
8199         * gst/gstqueue.h:
8200         Propagate GstFlowReturn more intelligently upstream and output
8201         an ERROR/EOS when streaming stopped due to fatal error.
8202
8203 2005-07-19  Wim Taymans  <wim@fluendo.com>
8204
8205         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8206         Don't block forever for the state change to complete, the
8207         pipeline already did with a sensible timeout.
8208
8209 2005-07-19  Wim Taymans  <wim@fluendo.com>
8210
8211         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8212         Make sure we never call the create function is we
8213         got deactivated.
8214
8215 2005-07-19  Andy Wingo  <wingo@pobox.com>
8216
8217         * gst/parse/parse.l: Attempt to solve bug #172815.
8218
8219 2005-07-19  Wim Taymans  <wim@fluendo.com>
8220
8221         * docs/design/part-clocks.txt:
8222         * docs/design/part-events.txt:
8223         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8224         Small docs updates.
8225         Only update the seeking values when we are not
8226         busy streaming.
8227
8228 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8229
8230         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8231           Oops, ignore the result of gst_pad_push_event here.
8232
8233 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8234
8235         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8236         (gst_base_src_activate_push):
8237           Send discont event from the loop function, as pads
8238           aren't activated yet in the activate_push handler.
8239
8240         * gst/gstbin.c: (bin_bus_handler):
8241           Don't leak element name.
8242
8243 2005-07-18  Andy Wingo  <wingo@pobox.com>
8244
8245         * configure.ac: Use AS_LIBTOOL_TAGS.
8246
8247 2005-07-18  Wim Taymans  <wim@fluendo.com>
8248
8249         * docs/gst/gstreamer.types:
8250         Remove deleted types.
8251
8252 2005-07-18  Wim Taymans  <wim@fluendo.com>
8253
8254         * check/elements/gstfakesrc.c: (GST_START_TEST):
8255         * configure.ac:
8256         * gst/Makefile.am:
8257         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8258         (init_popt_callback):
8259         * gst/gst.h:
8260         * gst/gst_private.h:
8261         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8262         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8263         * gst/gstbin.h:
8264         * gst/gstbus.h:
8265         * gst/gstconfig.h.in:
8266         * gst/gstelement.c: (gst_element_class_init),
8267         (gst_element_set_base_time), (gst_element_get_base_time),
8268         (iterator_fold_with_resync), (gst_element_change_state),
8269         (gst_element_dispose), (gst_element_get_bus):
8270         * gst/gstelement.h:
8271         * gst/gstelementfactory.h:
8272         * gst/gsterror.c: (_gst_core_errors_init):
8273         * gst/gsterror.h:
8274         * gst/gstevent.h:
8275         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8276         * gst/gstindex.c:
8277         * gst/gstinfo.c: (_gst_debug_init):
8278         * gst/gstmessage.c: (_gst_message_copy):
8279         * gst/gstmessage.h:
8280         * gst/gstminiobject.h:
8281         * gst/gstobject.c:
8282         * gst/gstobject.h:
8283         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8284         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8285         * gst/gstpad.h:
8286         * gst/gstparse.h:
8287         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8288         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8289         (gst_pipeline_get_last_stream_time):
8290         * gst/gstpipeline.h:
8291         * gst/gstpluginfeature.h:
8292         * gst/gstquery.h:
8293         * gst/gstscheduler.c:
8294         * gst/gstscheduler.h:
8295         * gst/gststructure.h:
8296         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8297         (gst_task_finalize), (gst_task_func), (gst_task_create),
8298         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8299         (gst_task_stop), (gst_task_pause):
8300         * gst/gsttask.h:
8301         * gst/gsttypefind.h:
8302         * gst/gsttypes.h:
8303         * gst/registries/gstlibxmlregistry.c: (load_feature),
8304         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8305         * gst/registries/gstxmlregistry.c:
8306         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8307         * gst/schedulers/threadscheduler.c:
8308         * libs/gst/control/dparammanager.h:
8309         * tools/gst-inspect.c: (print_element_list),
8310         (print_plugin_features), (print_element_features):
8311         * tools/gst-xmlinspect.c: (print_element_list),
8312         (print_plugin_info), (main):
8313         Removed plugable schedulers.
8314         Removed Scheduler/Manager from elements.
8315         Removed gsttypes.h, rearranged includes.
8316         Removed dependency pad<->element, element<>pipeline, and
8317         various others,  fix includes.
8318         implement gst_pad_get_parent() with gst_object_get_parent()
8319         Make GstTask sefcontained.
8320         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8321         timeout.
8322         Fix endless loop in iterator_fold_with_resync.
8323
8324
8325 2005-07-18  Wim Taymans  <wim@fluendo.com>
8326
8327         * gst/Makefile.am:
8328         * gst/gstarch.h:
8329         Remove old file.
8330
8331 2005-07-18  Wim Taymans  <wim@fluendo.com>
8332
8333         * gst/Makefile.am:
8334         No more cothreads.h
8335
8336 2005-07-18  Wim Taymans  <wim@fluendo.com>
8337
8338         * gst/cothreads.c:
8339         * gst/cothreads.h:
8340         Let's remove these.
8341
8342 2005-07-18  Wim Taymans  <wim@fluendo.com>
8343
8344         * docs/design/part-dynamic.txt:
8345         * docs/design/part-events.txt:
8346         * docs/design/part-seeking.txt:
8347         Some more docs in the works.
8348
8349         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8350         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8351         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8352         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8353         (gst_base_transform_handle_buffer),
8354         (gst_base_transform_sink_activate_push),
8355         (gst_base_transform_src_activate_pull),
8356         (gst_base_transform_set_passthrough),
8357         (gst_base_transform_is_passthrough):
8358         Refcounting fixes.
8359
8360         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8361         Cleanups.
8362
8363         * gst/gstevent.c: (gst_event_finalize):
8364         Set SRC to NULL.
8365
8366         * gst/gstutils.c: (gst_element_unlink),
8367         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8368         (gst_pad_proxy_setcaps):
8369         * gst/gstutils.h:
8370         Add _get_parent_element() to get a pads parent as an element.
8371
8372 2005-07-18  Wim Taymans  <wim@fluendo.com>
8373
8374         * check/gst/gstbin.c: (GST_START_TEST):
8375         Remove bogus test.
8376
8377 2005-07-18  Wim Taymans  <wim@fluendo.com>
8378
8379         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8380         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8381         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8382         (gst_base_sink_event), (gst_base_sink_do_sync),
8383         (gst_base_sink_chain), (gst_base_sink_loop),
8384         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8385         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8386         Refcounting fixes.
8387         Fix logic for returning ASYNC when not prerolled.
8388
8389 2005-07-18  Wim Taymans  <wim@fluendo.com>
8390
8391         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8392         Fix nasty refcount bug.
8393
8394 2005-07-16 Philippe Khalaf <burger@speedy.org>
8395
8396         * gst/elements/gstfdsrc.c:
8397         * gst/elements/gstfdsrc.h:
8398         * gst/elements/gstelements.c:
8399         * gst/elements/Makefile.am:
8400         Ported fdsrc to 0.9.
8401
8402 2005-07-16  Wim Taymans  <wim@fluendo.com>
8403
8404         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8405         (gst_base_sink_do_sync):
8406         Fix compile error.
8407
8408 2005-07-16  Wim Taymans  <wim@fluendo.com>
8409
8410         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8411         (gst_base_sink_event), (gst_base_sink_get_times),
8412         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8413         * gst/base/gstbasesink.h:
8414         Store and use discont values when syncing buffers as described
8415         in design docs.
8416         
8417         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8418         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8419         (gst_base_src_activate_push):
8420         Push discont event when starting.
8421
8422         * gst/elements/gstidentity.c: (gst_identity_transform):
8423         Small cleanups.
8424
8425         * gst/gstbin.c: (gst_bin_change_state):
8426         Small cleanups in base_time  distribution.
8427
8428         * gst/gstelement.c: (gst_element_set_base_time),
8429         (gst_element_get_base_time), (gst_element_change_state):
8430         * gst/gstelement.h:
8431         Added methods for the base_time of the element.
8432         Some MT fixes.
8433
8434         * gst/gstpipeline.c: (gst_pipeline_send_event),
8435         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8436         (gst_pipeline_get_last_stream_time):
8437         * gst/gstpipeline.h:
8438         MT fixes.
8439         Handle seeking as described in design doc, remove stream_time
8440         hack.
8441         Cleanups clock and stream_time selection code. Added accessors
8442         for the stream_time.
8443         
8444
8445 2005-07-16  Andy Wingo  <wingo@pobox.com>
8446
8447         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8448         (#305291).
8449
8450 2005-07-16  Wim Taymans  <wim@fluendo.com>
8451
8452         * check/gst/gstbin.c: (GST_START_TEST):
8453         Make elements silent as the deep_notify refs the
8454         parent, which might make the test fail.
8455
8456         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8457         Don't hold the lock for too long.
8458
8459 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8460
8461         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8462           Don't unref the caps we passed to gst_caps_make_writable() after
8463           passing them. gst_caps_make_writable() will do that for us.
8464
8465 2005-07-15  Andy Wingo  <wingo@pobox.com>
8466
8467         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8468         (#157311).
8469
8470         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8471         own marshalling function for the handoff signal. Properly type the
8472         buffer as a buffer. Fixes some warnings. Should do a more general
8473         solution.
8474         (gst_identity_class_init): Plug into the right marshaller.
8475
8476 2005-07-15  Wim Taymans  <wim@fluendo.com>
8477
8478         * docs/design/part-TODO.txt:
8479         * docs/design/part-clocks.txt:
8480         * docs/design/part-element-sink.txt:
8481         * docs/design/part-events.txt:
8482         * docs/design/part-gstpipeline.txt:
8483         Updated docs, mostly DISCONT related.
8484
8485 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8486
8487         * docs/pwg/building-pads.xml:
8488           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8489
8490 2005-07-15  Andy Wingo  <wingo@pobox.com>
8491
8492         * tools/gst-typefind.c: Update, add copyright block.
8493
8494         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8495         Normalize and truncate caps before fixation.
8496
8497         * gst/gstcaps.h:
8498         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8499         discards all but the first structure from its argument.
8500
8501 2005-07-15  Wim Taymans  <wim@fluendo.com>
8502
8503         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8504         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8505         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8506         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8507         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8508         (gst_base_transform_chain), (gst_base_transform_change_state),
8509         (gst_base_transform_set_passthrough),
8510         (gst_base_transform_is_passthrough):
8511         * gst/base/gstbasetransform.h:
8512         Make passthrough work using the bufferpools.
8513         Changed API a bit, subclasses have to write into a buffer
8514         provided by the base class.
8515         More debug info in nego functions.
8516         
8517         * gst/elements/gstidentity.c: (gst_identity_init),
8518         (gst_identity_transform):
8519         Port to new base class.
8520
8521 2005-07-15  Wim Taymans  <wim@fluendo.com>
8522
8523         * gst/gstmessage.c: (gst_message_new_state_changed):
8524         * tools/gst-launch.c: (event_loop), (main):
8525         Totally dump messages in -launch with the -m option.
8526         Fix message name for State messages,
8527
8528 2005-07-14  Wim Taymans  <wim@fluendo.com>
8529
8530         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8531         Post error messages on errors.
8532
8533 2005-07-14  Wim Taymans  <wim@fluendo.com>
8534
8535         * gst/gstcaps.c: (gst_caps_do_simplify):
8536         Remove debug info.
8537
8538         * gst/gsterror.h:
8539         Define error for stream stopped.
8540
8541         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8542         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8543         Do proper return values.
8544
8545         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8546         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8547         (gst_pad_get_range):
8548         Better return values.
8549
8550         * gst/gstpad.h:
8551         Reorganise return values, add macro to check for fatal errors.
8552
8553         * gst/gstqueue.c: (gst_queue_chain):
8554         Return proper GstFlowReturn values,
8555
8556 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8557
8558         * docs/gst/gstreamer-sections.txt:
8559         * docs/gst/gstreamer.types:
8560         * docs/gst/tmpl/gst.sgml:
8561         * docs/gst/tmpl/gstbasesink.sgml:
8562         * docs/gst/tmpl/gstbasesrc.sgml:
8563         * docs/gst/tmpl/gstbasetransform.sgml:
8564         * docs/gst/tmpl/gstbin.sgml:
8565         * docs/gst/tmpl/gstbuffer.sgml:
8566         * docs/gst/tmpl/gstcaps.sgml:
8567         * docs/gst/tmpl/gstclock.sgml:
8568         * docs/gst/tmpl/gstcompat.sgml:
8569         * docs/gst/tmpl/gstconfig.sgml:
8570         * docs/gst/tmpl/gstelement.sgml:
8571         * docs/gst/tmpl/gstelementdetails.sgml:
8572         * docs/gst/tmpl/gstelementfactory.sgml:
8573         * docs/gst/tmpl/gstenumtypes.sgml:
8574         * docs/gst/tmpl/gsterror.sgml:
8575         * docs/gst/tmpl/gstevent.sgml:
8576         * docs/gst/tmpl/gstfakesink.sgml:
8577         * docs/gst/tmpl/gstfakesrc.sgml:
8578         * docs/gst/tmpl/gstfilesink.sgml:
8579         * docs/gst/tmpl/gstfilesrc.sgml:
8580         * docs/gst/tmpl/gstfilter.sgml:
8581         * docs/gst/tmpl/gstformat.sgml:
8582         * docs/gst/tmpl/gstghostpad.sgml:
8583         * docs/gst/tmpl/gstimplementsinterface.sgml:
8584         * docs/gst/tmpl/gstindex.sgml:
8585         * docs/gst/tmpl/gstindexfactory.sgml:
8586         * docs/gst/tmpl/gstinfo.sgml:
8587         * docs/gst/tmpl/gstiterator.sgml:
8588         * docs/gst/tmpl/gstmacros.sgml:
8589         * docs/gst/tmpl/gstmemchunk.sgml:
8590         * docs/gst/tmpl/gstminiobject.sgml:
8591         * docs/gst/tmpl/gstobject.sgml:
8592         * docs/gst/tmpl/gstpad.sgml:
8593         * docs/gst/tmpl/gstpadtemplate.sgml:
8594         * docs/gst/tmpl/gstparse.sgml:
8595         * docs/gst/tmpl/gstpipeline.sgml:
8596         * docs/gst/tmpl/gstplugin.sgml:
8597         * docs/gst/tmpl/gstpluginfeature.sgml:
8598         * docs/gst/tmpl/gstquery.sgml:
8599         * docs/gst/tmpl/gstqueue.sgml:
8600         * docs/gst/tmpl/gstregistry.sgml:
8601         * docs/gst/tmpl/gstregistrypool.sgml:
8602         * docs/gst/tmpl/gstscheduler.sgml:
8603         * docs/gst/tmpl/gstschedulerfactory.sgml:
8604         * docs/gst/tmpl/gststructure.sgml:
8605         * docs/gst/tmpl/gstsystemclock.sgml:
8606         * docs/gst/tmpl/gsttaglist.sgml:
8607         * docs/gst/tmpl/gsttagsetter.sgml:
8608         * docs/gst/tmpl/gsttrace.sgml:
8609         * docs/gst/tmpl/gsttrashstack.sgml:
8610         * docs/gst/tmpl/gsttypefind.sgml:
8611         * docs/gst/tmpl/gsttypefindfactory.sgml:
8612         * docs/gst/tmpl/gsttypes.sgml:
8613         * docs/gst/tmpl/gsturihandler.sgml:
8614         * docs/gst/tmpl/gsturitype.sgml:
8615         * docs/gst/tmpl/gstutils.sgml:
8616         * docs/gst/tmpl/gstvalue.sgml:
8617         * docs/gst/tmpl/gstversion.sgml:
8618         * docs/gst/tmpl/gstxml.sgml:
8619         * docs/libs/tmpl/gstcontrol.sgml:
8620         * docs/libs/tmpl/gstdataprotocol.sgml:
8621         * docs/libs/tmpl/gstdparam.sgml:
8622         * docs/libs/tmpl/gstdplinint.sgml:
8623         * docs/libs/tmpl/gstdpman.sgml:
8624         * docs/libs/tmpl/gstdpsmooth.sgml:
8625         * docs/libs/tmpl/gstgetbits.sgml:
8626         * docs/libs/tmpl/gstunitconvert.sgml:
8627         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8628         (gst_push_src_base_init), (gst_push_src_class_init),
8629         (gst_push_src_init), (gst_push_src_create):
8630         * gst/base/gstpushsrc.h:
8631         * gst/elements/gstelements.c:
8632         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8633         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8634         (gst_fake_sink_init), (gst_fake_sink_set_property),
8635         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8636         (gst_fake_sink_event), (gst_fake_sink_preroll),
8637         (gst_fake_sink_render), (gst_fake_sink_change_state):
8638         * gst/elements/gstfakesink.h:
8639         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8640         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8641         (gst_fake_src_base_init), (gst_fake_src_class_init),
8642         (gst_fake_src_init), (gst_fake_src_event_handler),
8643         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8644         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8645         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8646         (gst_fake_src_create_buffer), (gst_fake_src_create),
8647         (gst_fake_src_start), (gst_fake_src_stop):
8648         * gst/elements/gstfakesrc.h:
8649         * gst/elements/gstfilesink.c: (_do_init),
8650         (gst_file_sink_base_init), (gst_file_sink_class_init),
8651         (gst_file_sink_init), (gst_file_sink_dispose),
8652         (gst_file_sink_set_location), (gst_file_sink_set_property),
8653         (gst_file_sink_get_property), (gst_file_sink_open_file),
8654         (gst_file_sink_close_file), (gst_file_sink_query),
8655         (gst_file_sink_event), (gst_file_sink_render),
8656         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8657         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8658         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8659         * gst/elements/gstfilesink.h:
8660         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8661         (gst_file_src_class_init), (gst_file_src_init),
8662         (gst_file_src_finalize), (gst_file_src_set_location),
8663         (gst_file_src_set_property), (gst_file_src_get_property),
8664         (gst_file_src_map_region), (gst_file_src_map_small_region),
8665         (gst_file_src_create_mmap), (gst_file_src_create_read),
8666         (gst_file_src_create), (gst_file_src_is_seekable),
8667         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8668         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8669         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8670         (gst_file_src_uri_handler_init):
8671         * gst/elements/gstfilesrc.h:
8672           more autistic cleanliness in functions/names/defines
8673
8674 2005-07-13  Andy Wingo  <wingo@pobox.com>
8675
8676         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8677         source couldn't negotiate.
8678
8679         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8680         connections again.
8681
8682         * gst/gstutils.h:
8683         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8684         function. I am channeling Hades. Put your boots on suckers!!!
8685
8686 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8687
8688         * testsuite/caps/Makefile.am:
8689         * testsuite/caps/value_compare.c:
8690         * testsuite/caps/value_intersect.c:
8691         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8692           move two testsuite apps over to the check dir
8693
8694 2005-07-12  Wim Taymans  <wim@fluendo.com>
8695
8696         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8697         Added more debug info in the negotiate process.
8698
8699         * gst/gstmessage.h:
8700         Prepare for segment playback.
8701
8702         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8703         Better debugging.
8704
8705         * gst/gstutils.c:
8706         Some more docs.
8707
8708         * tools/gst-launch.c: (main):
8709         NULL pipeline on errors.
8710
8711 2005-07-12  Andy Wingo  <wingo@pobox.com>
8712
8713         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8714         not it comes from a malloc region. Make sure our copy gets freed.
8715
8716 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8717
8718         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8719         * check/gst/gstmessage.c: (GST_START_TEST):
8720         * check/gst/gststructure.c: (GST_START_TEST),
8721         (gst_structure_suite), (main):
8722           more testing
8723         * gst/gstelement.c: (gst_element_message_full):
8724           clean up GError and debug string now that they get copied
8725         * gst/gstmessage.c: (gst_message_new_error),
8726         (gst_message_new_warning), (gst_message_parse_error),
8727         (gst_message_parse_warning):
8728           use GST_TYPE_G_ERROR for structure_new, and take copies of
8729           arguments, so that we don't mess up refcounting
8730
8731 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8732
8733         * check/Makefile.am:
8734           add per-test valgrind targets
8735         * check/gst-libs/gdp.c: (GST_START_TEST),
8736         (gst_data_protocol_suite), (main):
8737           clean up
8738
8739 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8740
8741         * check/Makefile.am:
8742           instate more valgrindable tests
8743         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8744         (GST_START_TEST), (fakesrc_suite):
8745         * check/gst/gstpad.c: (GST_START_TEST):
8746         * check/gst/gststructure.c: (GST_START_TEST):
8747           fix test leaks
8748         * docs/gst/tmpl/gstminiobject.sgml:
8749         * gst/gstpad.c: (gst_pad_finalize):
8750           fix the static mutex leak
8751
8752 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8753
8754         * check/Makefile.am:
8755           add two more tests for valgrinding
8756         * check/gst/gstvalue.c: (GST_START_TEST):
8757           test refcount of deserialized buffer, found a leak
8758         * docs/gst/gstreamer-docs.sgml:
8759         * docs/gst/gstreamer-sections.txt:
8760         * docs/gst/gstreamer.types:
8761         * docs/gst/tmpl/gstminiobject.sgml:
8762           add miniobject to docs
8763         * gst/gstminiobject.c:
8764           add some docs
8765         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8766         (gst_string_unwrap):
8767           fix a hard-to-find invalid write for one of the tests
8768           fix a leak for deserialized buffers
8769
8770 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8771
8772         * docs/pwg/advanced-events.xml:
8773         * docs/pwg/advanced-request.xml:
8774         * docs/pwg/advanced-scheduling.xml:
8775         * docs/pwg/appendix-porting.xml:
8776         * docs/pwg/building-boiler.xml:
8777         * docs/pwg/intro-preface.xml:
8778         * docs/pwg/other-ntoone.xml:
8779           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8780           of example code and explanation for pad activation, loop() and
8781           getrange() functions and a bit more. Remove old comments pointing
8782           to loop-functions.
8783         * examples/pwg/Makefile.am:
8784           Add loop/getrange examples.
8785
8786 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8787
8788         * configure.ac:
8789           check for valgrind binary + some fixes
8790         * check/gst.supp:
8791           valgrind suppressions for the tests
8792         * check/Makefile.am:
8793           add a valgrind: target that valgrinds the unit tests
8794         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8795         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8796         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8797         * check/gst/gstghostpad.c:
8798           added some cleanup
8799         * check/gst/gstdata.c:
8800           removed
8801         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8802         (thread_unref), (gst_mini_object_suite), (main):
8803           added
8804         * gst/gst.c: (gst_deinit):
8805         * gst/gst.h:
8806           add a method to clean up.
8807         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8808         (gst_system_clock_obtain):
8809           allow for disposing the system clock.
8810         * tools/gst-launch.c: (main):
8811           deinit
8812
8813 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8814
8815         * docs/gst/tmpl/gstbasesrc.sgml:
8816         * docs/gst/tmpl/gstfakesrc.sgml:
8817         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8818         (gst_base_src_init), (gst_base_src_set_property),
8819         (gst_base_src_get_property), (gst_base_src_get_range),
8820         (gst_base_src_start):
8821         * gst/base/gstbasesrc.h:
8822           add num-buffers property
8823         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8824         (gst_fakesrc_init), (gst_fakesrc_set_property),
8825         (gst_fakesrc_get_property), (gst_fakesrc_create),
8826         (gst_fakesrc_start):
8827           remove num-buffers property
8828
8829 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8830
8831         * docs/gst/gstreamer-sections.txt:
8832         * docs/gst/tmpl/gstbasesink.sgml:
8833         * docs/gst/tmpl/gstbasesrc.sgml:
8834         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8835         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8836         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8837         (gst_base_sink_set_property), (gst_base_sink_get_property),
8838         (gst_base_sink_handle_object), (gst_base_sink_event),
8839         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8840         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8841         (gst_base_sink_loop), (gst_base_sink_deactivate),
8842         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8843         (gst_base_sink_change_state):
8844         * gst/base/gstbasesink.h:
8845         * gst/base/gstbasesrc.h:
8846         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8847         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8848         (gst_filesink_init):
8849           more macro splitting
8850
8851 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8852
8853         * gst/gstelement.c: (gst_element_get_bus):
8854           add debug
8855         * tools/gst-launch.c: (check_intr), (event_loop):
8856           fix bus leaks
8857
8858 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8859
8860         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8861           fix a caps leak
8862
8863 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8864
8865         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8866         (gst_base_src_finalize):
8867           add finalize method and clean up properly
8868         * gst/gstpipeline.c: (gst_pipeline_dispose):
8869           add debug
8870
8871 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8872
8873         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8874         (gst_bin_suite):
8875           add more things to check
8876         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8877         * gst/gstelement.c:
8878           more debug
8879
8880 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8881
8882         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8883         (GST_START_TEST), (fakesrc_suite):
8884         * check/gst-libs/gdp.c: (GST_START_TEST):
8885         * check/gst/gst.c: (GST_START_TEST):
8886         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8887         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8888         * check/gst/gstbus.c: (GST_START_TEST):
8889         * check/gst/gstcaps.c: (GST_START_TEST):
8890         * check/gst/gstdata.c: (GST_START_TEST):
8891         * check/gst/gstelement.c: (GST_START_TEST):
8892         * check/gst/gstghostpad.c: (GST_START_TEST):
8893         * check/gst/gstiterator.c: (GST_START_TEST):
8894         * check/gst/gstmessage.c: (GST_START_TEST):
8895         * check/gst/gstobject.c: (GST_START_TEST):
8896         * check/gst/gstpad.c: (GST_START_TEST):
8897         * check/gst/gststructure.c: (GST_START_TEST):
8898         * check/gst/gstsystemclock.c: (GST_START_TEST),
8899         (gst_systemclock_suite):
8900         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8901         * check/gst/gstvalue.c: (GST_START_TEST):
8902         * check/pipelines/cleanup.c: (GST_START_TEST):
8903         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8904         * check/states/sinks.c: (GST_START_TEST):
8905         * check/gstcheck.c: (gst_check_init):
8906         * check/gstcheck.h:
8907           add debugging category
8908           use GST_START_TEST now, so we add a debug line
8909
8910 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8911
8912         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8913           add test for state change message on a bin
8914         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8915           add another test
8916         * gst/gstbin.c: (gst_bin_init):
8917         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8918         * gst/gstelement.c: (gst_element_post_message),
8919         (gst_element_set_state):
8920         * gst/gstelementfactory.c: (gst_element_factory_create):
8921         * gst/gstmessage.c: (gst_message_new):
8922         * gst/gstscheduler.c:
8923           various debugging additions and cleanups
8924
8925 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8926
8927         * check/Makefile.am:
8928         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8929         (main):
8930           adding tests for elements
8931         * gst/gstelement.c: (gst_element_dispose):
8932
8933 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8934
8935         * gst/registries/gstlibxmlregistry.c: (load_feature):
8936           plug more leaks.  A simple gst_init() now is leakfree, yay.
8937
8938 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8939
8940         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8941         (gst_xml_registry_load):
8942           plug another memleak
8943
8944 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8945
8946         * configure.ac:
8947           use GST_SET_ERROR_CFLAGS
8948         * docs/faq/cvs.xml:
8949           change to ERROR_CFLAGS
8950
8951 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8952
8953         * configure.ac:
8954           make GST_ERROR_CFLAGS overridable and re-enable Werror
8955         * docs/faq/cvs.xml:
8956           add a note about error CFLAGS
8957         * docs/gst/tmpl/gstfakesrc.sgml:
8958         * gst/elements/gstfakesrc.c:
8959           comment out some unused code
8960         * gst/gst.c: (split_and_iterate):
8961         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8962         (load_feature):
8963           plug some memleaks
8964
8965 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8966
8967         * common/Makefile.am:
8968         * common/gtk-doc.mak:
8969         * docs/gst/Makefile.am:
8970           factor out gtk-doc.mak
8971
8972 2005-07-07  Wim Taymans  <wim@fluendo.com>
8973
8974         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8975         (gst_thread_scheduler_dispose):
8976         Unlock the STREAM_LOCK completely.
8977
8978 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8979
8980         * check/Makefile.am:
8981         * check/elements/.cvsignore:
8982         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8983         (START_TEST), (fakesrc_suite), (main):
8984         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8985         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8986         (gst_fakesrc_create), (gst_fakesrc_start):
8987         * gst/elements/gstfakesrc.h:
8988           adding a first element test
8989
8990 2005-07-07  Andy Wingo  <wingo@pobox.com>
8991
8992         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8993         debug message.
8994
8995 2005-07-07  Wim Taymans  <wim@fluendo.com>
8996
8997         * gst/gstquery.c:
8998         * gst/gstquery.h:
8999         Remove old types
9000
9001 2005-07-07  Wim Taymans  <wim@fluendo.com>
9002
9003         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9004         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9005         Allow subclasses to implement their own negotiation.
9006
9007 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9008
9009         * docs/design/part-gstbin.txt:
9010         * docs/design/part-gstpipeline.txt:
9011           Update design notes to reflect the movement of
9012           responsibility for bus handling from GstPipeline to
9013           GstBin
9014
9015 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9016
9017         * configure.ac:
9018           Remove unnecessary queue2/3/4 examples.
9019
9020 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9021
9022         * examples/Makefile.am:
9023         * examples/helloworld/helloworld.c: (event_loop), (main):
9024         * examples/queue/queue.c: (event_loop), (main):
9025         * examples/queue2/queue2.c: (main):
9026           Update a couple of the examples to work again.
9027
9028         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9029         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9030          Spelling corrections and extra debug.
9031         
9032         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9033         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9034         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9035         * gst/gstbin.h:
9036         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9037         (gst_pipeline_change_state):
9038         * gst/gstpipeline.h:
9039           Move the bus handler for children to the GstBin, and create a
9040           separate bus for receiving messages from children to the one the
9041           bus sends 'upwards' on.
9042
9043 2005-07-06  Wim Taymans  <wim@fluendo.com>
9044
9045         * gst/base/README:
9046         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9047         (gst_base_sink_handle_object), (gst_base_sink_loop),
9048         (gst_base_sink_change_state):
9049         * gst/base/gstbasesink.h:
9050         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9051         (gst_base_src_init), (gst_base_src_setcaps),
9052         (gst_base_src_getcaps), (gst_base_src_loop),
9053         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9054         (gst_base_src_start), (gst_base_src_change_state):
9055         * gst/base/gstbasesrc.h:
9056         Make basesrc negotiate.
9057         Handle the case where preroll fails in basesink.
9058         Update README.
9059
9060 2005-07-06  Wim Taymans  <wim@fluendo.com>
9061
9062         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9063         Implement the fixate function.
9064         Clean up acceptcaps.
9065
9066 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9067
9068         * docs/pwg/building-filterfactory.xml:
9069         * docs/pwg/pwg.xml:
9070           Remove never-written filter-factory chapter; I'll add the various
9071           base classes to part 4 ("other element types") later on.
9072
9073 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9074
9075         * docs/pwg/advanced-negotiation.xml:
9076         * docs/pwg/building-boiler.xml:
9077         * docs/pwg/building-pads.xml:
9078         * docs/pwg/pwg.xml:
9079         * examples/pwg/Makefile.am:
9080           Add a chapter on caps negotiation, simplify the original code
9081           samples a bit w.r.t. caps negotiation, add link to the advanced
9082           section. Add a bunch of examples showing different use cases of
9083           different types of caps negotiation. Upstream renegotiation isn't
9084           fully documented yet since nobody knows how that works.
9085
9086 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9087
9088         * check/gst/gstpad.c:
9089         * check/gstcheck.c:
9090         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9091           if pad has no parent, return NULL as list of internal links
9092
9093 2005-07-05  Andy Wingo  <wingo@pobox.com>
9094
9095         * gst/elements/gstfilesrc.c:
9096         * gst/elements/gstfakesrc.c: 
9097         * gst/base/gstpushsrc.c:
9098         * gst/base/gstbasesrc.h: 
9099         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9100         
9101 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9102
9103         * Makefile.am:
9104           better report generation target (lcov needs a patch)
9105
9106 2005-07-05  Andy Wingo  <wingo@pobox.com>
9107
9108         * gst/elements, testsuite: Null if we got it...
9109
9110 2005-07-05  Wim Taymans  <wim@fluendo.com>
9111
9112         * configure.ac:
9113         * libs/gst/dataprotocol/Makefile.am:
9114         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9115         * libs/gst/dataprotocol/dataprotocol.h:
9116         * pkgconfig/Makefile.am:
9117         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9118         * pkgconfig/gstreamer-dataprotocol.pc.in:
9119         Ported dataprotol to 0.9. 
9120         Added pkgconfig files.
9121
9122 2005-07-05  Andy Wingo  <wingo@pobox.com>
9123
9124         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9125         Default to returning TRUE for the case when tranform_caps returns
9126         a fixed caps, like for identity or volume.
9127
9128         * check/gst/gstbus.c (pound_bus_with_messages): 
9129         * check/gst/gstmessage.c (START_TEST): 
9130         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9131         message API change.
9132
9133         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9134         logic weaks here: always run transform_caps, trying passthrough
9135         operation only if the original caps intersects with the transform.
9136
9137         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9138         source and sink caps.
9139
9140         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9141         Intersect the peer caps with the pad template before going into
9142         transform_caps.
9143         (gst_base_transform_transform_caps): More debugging.
9144
9145         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9146         src argument.
9147
9148 2005-07-04  Edward Hervey  <edward@fluendo.com>
9149
9150         * gst/gstutils.c:
9151         * gst/gstutils.h:
9152         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9153         in bindings.
9154
9155 2005-07-04  Andy Wingo  <wingo@pobox.com>
9156
9157         * check/gst/gstpad.c: Only set explicit caps on pads.
9158
9159 2005-07-01  Andy Wingo  <wingo@pobox.com>
9160
9161         * tests/network-clock.scm: Commentary update.
9162
9163         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9164         Didn't really make sense, not implementable with basetransform,
9165         etc.
9166         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9167         attempt at implementing the sync property, needs an unlock method.
9168
9169         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9170         New func, by default returns the same caps (the identity
9171         transformation).
9172         (gst_base_transform_getcaps): Uses transform_caps to return
9173         something sensible.
9174         (gst_base_transform_setcaps): Complicated logic to get caps on
9175         both pads, even if they are different, and to call set_caps once
9176         for every time both pads get their caps set.
9177         (gst_base_transform_handle_buffer): Give the ref to the transform
9178         function. Allows in-place modification of the buffer.
9179
9180         * gst/base/gstbasetransform.h (transform_caps): New class method.
9181         Given caps on one side, what can I do on the other.
9182         (set_caps): Take two caps, one for each side of the element.
9183
9184         * gst/gstpad.h:
9185         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9186         caps in place. This is safe because we can check the mutability of
9187         the caps, and a good idea because fixate functions are just called
9188         as a matter of last resort. (Not actually implemented.)
9189         (gst_pad_set_caps): If the caps we're setting is actually the same
9190         as the existing pad caps, just update the pointer without calling
9191         setcaps. Assert that caps is either NULL or fixed, as per the
9192         docs.
9193
9194         * gst/gstghostpad.c: Update for fixate changes.
9195
9196 2005-07-02  Andy Wingo  <wingo@pobox.com>
9197
9198         * gst/gstcaps.c:
9199         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9200         two refcounts makes it immutable, which is enough. Doc more.
9201
9202 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9203
9204         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9205           Put the mini_object into GValue as a mini_object,
9206           not a gpointer, since that's how we declared
9207           the signal.
9208
9209 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9210
9211         * examples/pwg/Makefile.am:
9212           Fix buildbot again.
9213
9214 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9215
9216         * docs/pwg/building-testapp.xml:
9217           Add extra check.
9218         * examples/pwg/Makefile.am:
9219           Fix buildbot.
9220
9221 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9222
9223         * configure.ac:
9224         * examples/Makefile.am:
9225         * examples/pwg/Makefile.am:
9226         * examples/pwg/extract.pl:
9227           Enable building the PWG examples.
9228         * docs/pwg/advanced-interfaces.xml:
9229           Add URI interface stub.
9230         * docs/pwg/advanced-types.xml:
9231         * docs/pwg/other-autoplugger.xml:
9232         * docs/pwg/appendix-porting.xml:
9233         * docs/pwg/pwg.xml:
9234           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9235         * docs/pwg/building-boiler.xml:
9236         * docs/pwg/building-chainfn.xml:
9237         * docs/pwg/building-pads.xml:
9238         * docs/pwg/building-props.xml:
9239         * docs/pwg/building-state.xml:
9240         * docs/pwg/building-testapp.xml:
9241           Update the building-*.xml parts for 0.9 changes. All examples
9242           code blocks compile in examples/pwg/*.
9243
9244 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9245
9246         * docs/manual/advanced-autoplugging.xml:
9247         * docs/manual/appendix-checklist.xml:
9248         * docs/manual/appendix-integration.xml:
9249         * docs/manual/highlevel-components.xml:
9250           Fix playbin/decodebin examples, update docs a bit, mention bus
9251           instead of signals in various places, mention kmplayer and
9252           kaffeine since they have a working GStreamer backend in the KDE
9253           section.
9254
9255 2005-06-30  Wim Taymans  <wim@fluendo.com>
9256
9257         * CHANGES-0.9:
9258         * docs/design/draft-ghostpads.txt:
9259         * docs/design/draft-push-pull.txt:
9260         * docs/design/draft-query.txt:
9261         * docs/design/part-TODO.txt:
9262         * docs/design/part-query.txt:
9263         Added CHANGES-0.9 doc, updated status of other docs.
9264         
9265         * gst/gstquery.h:
9266         Remove "hmm" macro
9267
9268 2005-06-30  Wim Taymans  <wim@fluendo.com>
9269
9270         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9271         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9272         (gst_base_sink_change_state):
9273         * gst/base/gstbasesink.h:
9274         Some tweaks, only EOS and a buffer complete a preroll.
9275
9276 2005-06-30  Andy Wingo  <wingo@pobox.com>
9277
9278         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9279         activate_push down to the internal pad as well.
9280
9281 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9282
9283         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9284
9285         * gst/gsttaginterface.c:
9286           Some documentation fixes (#307394 and #307397).
9287
9288 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9289
9290         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9291
9292         * gst/gstvalue.c: (gst_value_intersect_list):
9293           Fix memleak (#309125).
9294
9295 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9296
9297         * docs/manual/advanced-dataaccess.xml:
9298           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9299         * docs/manual/basics-pads.xml:
9300           Add reference for filtered caps to above chapter.
9301
9302 2005-06-30  Wim Taymans  <wim@fluendo.com>
9303
9304         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9305         (gst_bin_change_state):
9306         Probes are gone.
9307         Lame attempt at making the state change function a bit
9308         more readable.
9309
9310 2005-06-30  Wim Taymans  <wim@fluendo.com>
9311
9312         * docs/design/part-clocks.txt:
9313         * docs/design/part-element-sink.txt:
9314         * docs/design/part-events.txt:
9315         * docs/design/part-preroll.txt:
9316         * docs/design/part-states.txt:
9317         Some more tweeks and additions to the docs.
9318
9319 2005-06-30  Wim Taymans  <wim@fluendo.com>
9320
9321         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9322         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9323         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9324         (gst_pad_check_pull_range), (gst_pad_get_range),
9325         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9326         * gst/gstpad.h:
9327         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9328         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9329         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9330         (gst_pad_remove_buffer_probe):
9331         Removed atomic operations, use existing LOCK.
9332         Move exception handling out of main code path.
9333
9334 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9335
9336         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9337         (silly_return_true_function), (gst_pad_class_init),
9338         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9339         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9340         (gst_pad_send_event):
9341           Fix accumulator, add default value by using _emitv() instead
9342           of _emit() for signal emission.
9343
9344 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9345
9346         * docs/manual/advanced-dataaccess.xml:
9347         * examples/manual/Makefile.am:
9348           Add probe example.
9349         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9350           Make work (??).
9351
9352 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9353
9354         * gst/elements/gstfilesink.c: (gst_filesink_render):
9355           Simplify code so that we don't have to handle short
9356           writes and return GST_FLOW_ERROR if an error occured.
9357
9358 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9359
9360         * docs/gst/gstreamer-docs.sgml:
9361           Remove probes more.
9362
9363 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9364
9365         * docs/gst/gstreamer-sections.txt:
9366         * docs/gst/tmpl/gstpad.sgml:
9367         * docs/gst/tmpl/gstprobe.sgml:
9368         * gst/Makefile.am:
9369         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9370         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9371         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9372         (gst_pad_push_event), (gst_pad_send_event):
9373         * gst/gstpad.h:
9374         * gst/gstutils.c: (gst_pad_add_data_probe),
9375         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9376         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9377         (gst_pad_remove_buffer_probe):
9378         * gst/gstutils.h:
9379           Remove old probes, add new g-signal-based probes and some utility
9380           functions.
9381
9382 2005-06-29  Edward Hervey  <edward@fluendo.com>
9383
9384         * gst/gstelementfactory.c:
9385         * gst/gstutils.h:
9386         * gst/gstutils.c:
9387         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9388         the definition to the header file.
9389
9390 2005-06-29  Andy Wingo  <wingo@pobox.com>
9391
9392         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9393         plugins from the source directory.
9394
9395 2005-06-29  Wim Taymans  <wim@fluendo.com>
9396
9397         * docs/gst/tmpl/gstbuffer.sgml:
9398         * docs/gst/tmpl/gstclock.sgml:
9399         Some fixings for blantently wrong text.
9400
9401 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9402
9403         * check/Makefile.am:
9404         * gst/gst.c: (add_path_func), (init_pre):
9405         * gst/gstregistry.c: (gst_registry_add_path):
9406           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9407           only scan the GST_PLUGIN_PATH locations, and not add
9408           system locations
9409
9410 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9411
9412         * docs/gst/gstreamer-sections.txt:
9413         * docs/gst/tmpl/gstbasesrc.sgml:
9414         * gst/gstelement.c:
9415         * gst/gstelement.h:
9416         * gst/gstevent.c:
9417         * gst/gstutils.c:
9418           doc fixes
9419
9420 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9421
9422         * docs/manual/advanced-autoplugging.xml:
9423           Fix autoplugging example.
9424
9425 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9426
9427         * docs/manual/advanced-autoplugging.xml:
9428         * docs/manual/mime-world.fig:
9429           Try to get autoplugging working, fix type detection. Fix text
9430           in hello-world image.
9431
9432 2005-06-29  Wim Taymans  <wim@fluendo.com>
9433
9434         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9435         (gst_base_sink_change_state):
9436         Small debug line.
9437
9438         * gst/gstclock.h:
9439         map SIGNAL and BROADCAST to the right function.
9440
9441         * gst/gstobject.h:
9442         Remove redundant braces.
9443
9444         * gst/gstpad.c: (gst_pad_set_caps):
9445         Don't call setcaps function when reseting caps to NULL.
9446
9447         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9448         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9449         (gst_system_clock_id_unschedule):
9450         Use BROADCAST as this is what we do.
9451
9452 2005-06-29  Wim Taymans  <wim@fluendo.com>
9453
9454         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9455         We are actually prerolling before commiting the state
9456         change. 
9457
9458 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9459
9460         * docs/manual/advanced-clocks.xml:
9461         * docs/manual/advanced-interfaces.xml:
9462         * docs/manual/advanced-metadata.xml:
9463         * docs/manual/advanced-position.xml:
9464         * docs/manual/advanced-schedulers.xml:
9465         * docs/manual/advanced-threads.xml:
9466         * docs/manual/appendix-porting.xml:
9467         * docs/manual/basics-bins.xml:
9468         * docs/manual/basics-bus.xml:
9469         * docs/manual/basics-elements.xml:
9470         * docs/manual/basics-helloworld.xml:
9471         * docs/manual/basics-pads.xml:
9472         * docs/manual/highlevel-components.xml:
9473         * docs/manual/manual.xml:
9474         * docs/manual/thread.fig:
9475           Update (until threads/scheduling) Application Development Manual;
9476           remove GstThread, add GstBus, add simple porting checklist, add
9477           documentation for tag writing, clocks, make all examples until this
9478           part compile and run.
9479         * examples/manual/Makefile.am:
9480           Update from changes to Application Development Manual; add bus
9481           example, remove thread example.
9482
9483 2005-06-28  Wim Taymans  <wim@fluendo.com>
9484
9485         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9486         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9487         (gst_bus_source_dispatch):
9488         Add debugging messages.
9489         Make internal methods static.
9490         Handle the case where the bus is flushed in the handler.
9491         
9492         * gst/gstelement.c: (gst_element_get_bus):
9493         Fix refcount in _get_bus();
9494
9495         * gst/gstpipeline.c: (gst_pipeline_change_state),
9496         (gst_pipeline_get_clock_func):
9497         Clock refcounting fixes.
9498         Handle the case where preroll timed out more gracefully.
9499         
9500         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9501         Clean up the internal thread in dispose. This is needed
9502         for subclasses that actually get disposed.
9503         
9504         * gst/schedulers/threadscheduler.c:
9505         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9506         (gst_thread_scheduler_dispose):
9507         Free thread pool in dispose.
9508
9509 2005-06-28  Andy Wingo  <wingo@pobox.com>
9510
9511         * tests/network-clock-utils.scm (debug, print-event): New utils.
9512
9513         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9514         (*packet-loss*): Unified loss probability.
9515         (network-time): Report out-of-band events.
9516
9517         * tests/plot-data: Add support for out-of-band events. Hack it
9518         into this script instead of passing it down the pipe; should fix
9519         this later.
9520
9521 2005-06-28  Wim Taymans  <wim@fluendo.com>
9522
9523         * docs/gst/gstreamer.types:
9524         * docs/gst/tmpl/gstbasesrc.sgml:
9525         * docs/gst/tmpl/gstpad.sgml:
9526         Docs fixes.
9527
9528 2005-06-28  Wim Taymans  <wim@fluendo.com>
9529
9530         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9531         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9532         (gst_proxy_pad_do_fixatecaps):
9533         Correctly proxy the check_pull_range function.
9534
9535 2005-06-28  Andy Wingo  <wingo@pobox.com>
9536
9537         * tests/network-clock.scm: Removed need for slib.
9538         
9539 2005-06-28  Wim Taymans  <wim@fluendo.com>
9540
9541         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9542         (gst_basesink_preroll_queue_flush):
9543         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9544         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9545         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9546         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9547         (gst_proxy_pad_set_property):
9548         * gst/gstpad.c:
9549         * gst/gstpad.h:
9550         * gst/gstqueue.c: (gst_queue_init):
9551         The deprecated pad loop function is removed now.
9552
9553 2005-06-28  Andy Wingo  <wingo@pobox.com>
9554
9555         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9556         New parameters, simulate network packet loss.
9557
9558         * tests/network-clock-utils.scm: Initialize the RNG.
9559
9560 2005-06-28  Wim Taymans  <wim@fluendo.com>
9561
9562         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9563         (gst_basesink_event), (gst_basesink_deactivate):
9564         Flushing the preroll queue always needs to unlock the waiters.
9565
9566 2005-06-28  Edward Hervey  <edward@fluendo.com>
9567
9568         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9569         Wheen a seek was successful on a pipeline, set the stream_time to the
9570         seek offset in order to have a synchronized stream_time.
9571
9572 2005-06-28  Wim Taymans  <wim@fluendo.com>
9573
9574         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9575         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9576         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9577         (gst_proxy_pad_do_fixatecaps):
9578         Call wrapper function instead of just calling the function
9579         pointers. This takes care of any locking and whatmore.
9580
9581 2005-06-28  Wim Taymans  <wim@fluendo.com>
9582
9583         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9584         (gst_pad_pull_range):
9585         * gst/gstpad.h:
9586         CONNECTED -> LINKED.
9587
9588 2005-06-28  Andy Wingo  <wingo@pobox.com>
9589
9590         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9591         source-munging commit!!!
9592
9593         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9594         (gst_object_sink): Take gpointer arguments, not GstObject --
9595         avoids casts. Like GLib.
9596
9597         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9598         activate.
9599
9600 2005-06-27  Andy Wingo  <wingo@pobox.com>
9601
9602         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9603         remaining buffer.
9604
9605         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9606         returns a sorted copy of the trace list.
9607         (gst_alloc_trace_print_live): New API, only prints traces with
9608         live objects. Sort the list.
9609         (gst_alloc_trace_print_all): Sort the list.
9610         (gst_alloc_trace_print): Align columns.
9611
9612         * gst/elements/gstttypefindelement.c:
9613         * gst/elements/gsttee.c:
9614         * gst/base/gstbasesrc.c:
9615         * gst/base/gstbasesink.c:
9616         * gst/base/gstbasetransform.c:
9617         * gst/gstqueue.c: Adapt for pad activation changes.
9618
9619         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9620         sched.
9621         (gst_pipeline_dispose): Drop ref on sched.
9622
9623         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9624         (gst_pad_activate_default): Push mode by default.
9625         (pre_activate_switch, post_activate_switch): New stubs, things to
9626         do before and after switching activation modes on pads.
9627         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9628         the pad's activate function to choose which mode to activate.
9629         Shortcut on deactivation and call the right function directly.
9630         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9631         mode.
9632         (gst_pad_activate_push): New API, same for push mode.
9633         (gst_pad_set_activate_function) 
9634         (gst_pad_set_activatepull_function) 
9635         (gst_pad_set_activatepush_function): Setters for new API.
9636
9637         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9638         Trace all miniobjects.
9639         (gst_mini_object_make_writable): Unref the arg if we copy, like
9640         gst_caps_make_writable.
9641
9642         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9643
9644         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9645         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9646         Adapt for new pad API.
9647
9648         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9649
9650         * gst/gstelement.h:
9651         * gst/gstelement.c (gst_element_iterate_src_pads) 
9652         (gst_element_iterate_sink_pads): New API functions.
9653         
9654         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9655         should fold into gstiterator.c in some form.
9656         (gst_element_pads_activate): Simplified via use of fold and
9657         delegation of decisions to gstpad->activate.
9658
9659         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9660         help in debugging.
9661
9662         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9663         class once in init, like gstmessage. Didn't run into this issue
9664         but it seems correct. Don't initialize a trace, gstminiobject does
9665         that.
9666
9667         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9668         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9669         to the bus.
9670         (assert_live_count): New util function, uses alloc traces to check
9671         cleanup.
9672
9673         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9674         To be modified when unlink drops the internal pad.
9675
9676 2005-06-27  Wim Taymans  <wim@fluendo.com>
9677
9678         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9679         (gst_bin_change_state):
9680         Cleanup the get_state() function a little, make sure it
9681         iterates the same set of elements.
9682         Added stub iterate_state_order().
9683
9684 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9685
9686         * docs/gst/gstreamer-docs.sgml:
9687         * docs/gst/gstreamer-sections.txt:
9688         * docs/gst/gstreamer.types:
9689         * docs/gst/tmpl/gstbasesink.sgml:
9690         * docs/gst/tmpl/gstbasesrc.sgml:
9691         * docs/gst/tmpl/gstbasetransform.sgml:
9692         * docs/gst/tmpl/gstelement.sgml:
9693         * docs/gst/tmpl/gstiterator.sgml:
9694         * gst/base/gstbasesrc.c:
9695         * gst/base/gstbasesrc.h:
9696         * gst/base/gstbasetransform.h:
9697         * gst/gstelement.c:
9698         * gst/gstiterator.h:
9699           adding basetransform and iterator docs
9700
9701 2005-06-27  Andy Wingo  <wingo@pobox.com>
9702
9703         * docs/design/part-activation.txt: Notes on how activation should
9704         work -- not quite implemented yet.
9705
9706 2005-06-25  Wim Taymans  <wim@fluendo.com>
9707
9708         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9709         At least get the chain function correct, needs more
9710         fixing.
9711
9712 2005-06-25  Wim Taymans  <wim@fluendo.com>
9713
9714         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9715         (gst_basesink_handle_object), (gst_basesink_event),
9716         (gst_basesink_do_sync), (gst_basesink_handle_event),
9717         (gst_basesink_change_state):
9718         * gst/gsttask.h:
9719         Right, two problems here: ghostpads don't take locks and
9720         glib _rec_mutex_lock_full() with depth==0 still locks.
9721         Catch illegal locking and g_warn them.
9722
9723 2005-06-25  Wim Taymans  <wim@fluendo.com>
9724
9725         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9726         Have to check for completion now...
9727
9728 2005-06-25  Wim Taymans  <wim@fluendo.com>
9729
9730         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9731         (gst_basesink_handle_object), (gst_basesink_event),
9732         (gst_basesink_do_sync), (gst_basesink_handle_event),
9733         (gst_basesink_change_state):
9734         * gst/gstpad.h:
9735         Unlock STREAM_LOCK whatever the recursion was.
9736
9737 2005-06-25  Wim Taymans  <wim@fluendo.com>
9738
9739         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9740         (gst_basesink_preroll_queue_empty),
9741         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9742         (gst_basesink_event), (gst_basesink_do_sync),
9743         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9744         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9745         (gst_basesink_change_state):
9746         Reworked the base sink, handle event and buffer serialisation
9747         correctly and removed possible deadlock.
9748         Handle EOS correctly.
9749
9750 2005-06-25  Wim Taymans  <wim@fluendo.com>
9751
9752         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9753         (gst_pipeline_change_state):
9754         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9755         Allow elements to post EOS in the state change function.
9756         Fix up -launch, make it exit the poll loop when the
9757         pipeline actually changed state.
9758         Fix up warning parsing in -launch.
9759
9760 2005-06-25  Wim Taymans  <wim@fluendo.com>
9761
9762         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9763         (gst_tee_sink_activate):
9764         Core takes STREAM_LOCK for us now.
9765
9766 2005-06-25  Wim Taymans  <wim@fluendo.com>
9767
9768         * gst/gstelement.c: (gst_element_get_state_func),
9769         (gst_element_set_state):
9770         * gst/gstelement.h:
9771         * gst/gstmessage.c: (gst_message_parse_error),
9772         (gst_message_parse_warning):
9773         Keep track of current target state while performing a state
9774         change so that subclasses can do something interesting.
9775         Fix parsing of warning/error messages when GError is NULL.
9776
9777 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9778
9779         * docs/gst/Makefile.am:
9780         * docs/gst/gstreamer-docs.sgml:
9781         * docs/gst/gstreamer-sections.txt:
9782         * docs/gst/gstreamer.types:
9783         * docs/gst/tmpl/gstbasesink.sgml:
9784         * docs/gst/tmpl/gstbasesrc.sgml:
9785         * docs/gst/tmpl/gstbin.sgml:
9786         * docs/gst/tmpl/gstcompat.sgml:
9787         * docs/gst/tmpl/gstfakesink.sgml:
9788         * docs/gst/tmpl/gstfakesrc.sgml:
9789         * docs/gst/tmpl/gstfilesink.sgml:
9790         * docs/gst/tmpl/gstfilesrc.sgml:
9791         * docs/gst/tmpl/gstindex.sgml:
9792         * docs/manual/appendix-quotes.xml:
9793         * gst/base/gstbasesrc.h:
9794         * gst/elements/gstfakesrc.h:
9795         * gst/gstmessage.h:
9796           start pulling in base classes and elements in our docs
9797
9798 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9799
9800         * docs/gst/Makefile.am:
9801         * docs/libs/Makefile.am:
9802           fixed make distcheck with gtk-doc 1.3
9803
9804 2005-06-23  Wim Taymans  <wim@fluendo.com>
9805
9806         * gst/gstelement.c: (gst_element_get_state_func),
9807         (gst_element_set_state), (gst_element_change_state):
9808         When the state did not change, also report NO_PREROLL
9809         when it matters.
9810
9811 2005-06-23  Wim Taymans  <wim@fluendo.com>
9812
9813         * gst/gstpad.c: (gst_pad_event_default):
9814         * gst/gstqueue.c: (gst_queue_loop):
9815         No unsafe task pausing please.
9816
9817 2005-06-23  Wim Taymans  <wim@fluendo.com>
9818
9819         * gst/schedulers/threadscheduler.c:
9820         (gst_thread_scheduler_task_start),
9821         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9822         Ref the task before pushing it on the threadpool. This
9823         makes sure that we have a ref when the threadfunction is
9824         actually called.
9825
9826 2005-06-23  Andy Wingo  <wingo@pobox.com>
9827
9828         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9829         offset is greater than the file's size.
9830
9831         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9832         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9833         * gst/gstobject.c (gst_object_class_init): Make the class lock
9834         recursive. Wim won't let me drop deep_notify. Decodebin works
9835         again, whoopdy doo.
9836
9837         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9838         internal pad, and hacks accordingly. Doesn't do it on the target
9839         pad because we change its caps. Probably catches all cases of
9840         interest tho.
9841         (gst_ghost_pad_set_property): Connect to notify::caps as
9842         appropritate.
9843
9844         * tests/network-clock.scm (plot-simulation): Pipe data to the
9845         elite python skript.
9846
9847         * tests/network-clock-utils.scm (define-parameter): New macro,
9848         defines a parameter that can be set via the command line.
9849         (set-parameter!, parse-parameter-arguments): Command line args
9850         parser.
9851
9852         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9853         stdin.
9854
9855 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9856
9857         * gst/elements/gsttypefindelement.c:
9858         (gst_type_find_element_handle_event):
9859           Don't restart typefinding on a discont.
9860         * gst/gstelement.c: (gst_element_set_state):
9861           Debug spelling fix.
9862         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9863           Allow changing mode of an active pad.
9864           Debug output fixes.
9865         * gst/registries/gstlibxmlregistry.c: (load_feature):
9866           Don't cast a static pad template to a normal pad template.
9867
9868 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9869
9870         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9871         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9872           remove gst_strtoll completely, since it didn't actually do
9873           anything more than what g_ascii_strtoull already does.
9874           check for range errors when deserializing
9875           do a cast for the unsigned cases; but further fixing needs
9876           a decision on what the interpretation of "(int)" and
9877           deserialization should be for values that fall outside the
9878           type's boundaries (ie, refuse, or interpret as casting)
9879
9880 2005-06-23  Wim Taymans  <wim@fluendo.com>
9881
9882         * check/Makefile.am:
9883         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9884         * docs/design/part-live-source.txt:
9885         * docs/design/part-states.txt:
9886         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9887         (gst_basesrc_set_live), (gst_basesrc_is_live),
9888         (gst_basesrc_get_range), (gst_basesrc_activate),
9889         (gst_basesrc_change_state):
9890         * gst/base/gstbasesrc.h:
9891         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9892         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9893         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9894         * gst/gstelement.c: (gst_element_get_state_func),
9895         (gst_element_set_state):
9896         * gst/gstelement.h:
9897         * gst/gsttypes.h:
9898         * tools/gst-launch.c: (event_loop), (main):
9899         Added support for live sources and other elements that
9900         cannot do preroll.
9901         Updated design docs, added live-source design doc.
9902         Implemented live source functionality in basesrc
9903         Fix error condition in _bin_get_state()
9904         Implement live source handling in -launch.
9905         Added check for live sources.
9906         Fixed case in GstBin where elements were changed state
9907         multiple times.
9908
9909
9910 2005-06-23  Andy Wingo  <wingo@pobox.com>
9911
9912         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9913         borken refcounting.
9914
9915         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9916         gst_caps_replace takes care of this for us.
9917
9918         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9919         gst_pad_set_caps on the target, not just its setcaps() function.
9920
9921         * tests/network-clock.scm: 
9922         * tests/network-clock-utils.scm: A network clock simulator.
9923         Something of an algorithmic testbed before doing something in C.
9924
9925 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9926
9927         * check/Makefile.am:
9928         * check/gst/capslist.h:
9929           copy over from 0.8, and add two with bitmasks specified with
9930           (int) 0xFF...
9931         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9932           add test to parse everything from capslist.h
9933         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9934         (main):
9935           add test for structure deserialization
9936         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9937           add tests for deserialization of strings to int types
9938         * gst/gststructure.c: (gst_structure_nth_field_name):
9939         * gst/gststructure.h:
9940           add a way to get the name of a field referenced by index
9941         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9942           instead of checking if the resulting long long lies between
9943           min and max, we check if the long long would fit into
9944           a number of bytes for the final type.
9945           This fixes cases where a string represents 2^32 - 1, which
9946           when cast to int would be the (valid) -1, but is bigger than
9947           G_MAXINT
9948
9949 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9950
9951         * gst/parse/grammar.y:
9952           add a log line for type deserialization
9953
9954 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9955
9956         * check/gst/gstvalue.c: (START_TEST):
9957         * gst/gstvalue.c: (gst_value_deserialize):
9958           return long long, not int, so gint64 deserialization actually
9959           works.  Is there any flag that makes the compiler check this ?
9960           Fixes #308559
9961
9962 2005-06-22  Wim Taymans  <wim@fluendo.com>
9963
9964         * gst/gstbuffer.h:
9965         Added convenience macros for setting buffers in GValue.
9966
9967 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9968
9969         * check/gst/.cvsignore:
9970         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9971           add a test deserializing int64, and comment part out because
9972           it fails, yay !
9973
9974 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9975
9976         * check/Makefile.am:
9977         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9978         * testsuite/Makefile.am:
9979         * testsuite/caps/Makefile.am:
9980         * testsuite/caps/value_serialize.c:
9981         * testsuite/test_gst_init.c:
9982           move a value_serialize test over
9983
9984 2005-06-20  Wim Taymans  <wim@fluendo.com>
9985
9986         * gst/gstpad.c:
9987         Small doc updates.
9988         
9989         * gst/gstvalue.c: (gst_value_compare_buffer),
9990         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9991         (gst_value_compare_flags), (gst_value_serialize_flags),
9992         (gst_value_deserialize_flags), (_gst_value_initialize):
9993         Fix serialisation of buffers, they are not boxed types anymore
9994
9995 2005-06-20  Wim Taymans  <wim@fluendo.com>
9996
9997         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9998         Testcase to show error in buffer-on-caps serialisation.
9999
10000 2005-06-20  Andy Wingo  <wingo@pobox.com>
10001
10002         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10003         will be adding to later.
10004
10005         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10006         if its socks fill with rocks.
10007         (gst_system_clock_obtain): Set the name on object construction.
10008         Avoid double-checked locking.
10009
10010 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10011
10012         * gst/gsturi.c: (gst_element_make_from_uri):
10013           Fix potential endless loop.
10014
10015 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10016
10017         * check/Makefile.am:
10018           add gsttag
10019         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10020         (main):
10021           move over from testsuite dir and clean up
10022         * configure.ac:
10023         * gst/gsttag.c:
10024         * testsuite/Makefile.am:
10025         * testsuite/tags/.cvsignore:
10026         * testsuite/tags/Makefile.am:
10027         * testsuite/tags/merge.c:
10028           remove testsuite/tags
10029
10030 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10031
10032         * docs/gst/gstreamer-sections.txt:
10033         * docs/gst/tmpl/gstenumtypes.sgml:
10034         * win32/gstenumtypes.c:
10035           clean up documentation build a little
10036
10037 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10038
10039         * check/gstcheck.h:
10040           add macros for checking refcounts on objects and caps
10041         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10042           add some more unit tests
10043         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10044         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10045           fix leaked refcounts (I hope :)) so unittest works
10046         * gst/gstpad.h:
10047           whitespace removal
10048
10049 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10050
10051         * configure.ac: back to HEAD
10052
10053 === release 0.9.1 ===
10054
10055 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10056
10057         * NEWS:
10058         * RELEASE:
10059           updated
10060
10061 2005-06-17  Andy Wingo  <wingo@pobox.com>
10062
10063         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10064         assert; it's always possible that the pad gets deactivated in
10065         between the checks in gstpad.c and the implementation. Rely on
10066         finish_preroll() to return a FLUSHING or similar instead of on the
10067         assert.
10068         
10069         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10070         clock and post an EOS message if we come out of finish_preroll in
10071         the playing state.
10072
10073 2005-06-16  David Schleef  <ds@schleef.org>
10074
10075         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10076         (gst_capsfilter_set_property): Allow NULL as possible value
10077         for filter_caps property, indicating GST_CAPS_ANY.
10078
10079 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10080
10081         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10082           fix debug output
10083         * gst/schedulers/Makefile.am:
10084           use libgst prefix
10085         * gstreamer.spec.in:
10086           fix spec for it
10087
10088 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10089
10090         * gstreamer.spec.in:
10091           clean up
10092
10093 2005-06-08  Andy Wingo  <wingo@pobox.com>
10094
10095         * gst/gstutils.c: RPAD fixes all around.
10096         (gst_element_link_pads): Refcounting fixes.
10097
10098         * tools/gst-inspect.c:
10099         * tools/gst-xmlinspect.c:
10100         * parse/grammar.y:
10101         * gst/base/gsttypefindhelper.c:
10102         * gst/base/gstbasesink.c:
10103         * gst/gstqueue.c: RPAD fixes.
10104
10105         * gst/gstghostpad.h:
10106         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10107         pads. The tricky thing is they provide both source and sink
10108         interfaces, since they proxy the internal pad for the external
10109         pad, and vice versa. Implement with lower-level ProxyPad objects,
10110         with the interior proxy pad as a child of the exterior ghost pad.
10111         Should write a doc on this.
10112         
10113         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10114         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10115         gst_object API.
10116         
10117         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10118         pads are real pads. No ghost pads in this file. Not documenting
10119         the myriad s/RPAD/PAD/ and REALIZE fixes.
10120         (gst_pad_class_init): Add properties for "direction" and
10121         "template". Both are construct-only, so they can't change during
10122         the life of the pad. Fixes properly deriving from GstPad.
10123         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10124         derived objects, just set properties when creating the objects via
10125         g_object_new.
10126         (gst_pad_get_parent): Implement as a function, return NULL if the
10127         parent is not an element.
10128         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10129         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10130         
10131         * gst/gstobject.c (gst_object_class_init): Make name a construct
10132         property. Don't set it in the object init.
10133
10134         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10135         with UNKNOWN direction.
10136         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10137         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10138         (gst_element_remove_pad): Remove ghost-pad special cases.
10139         (gst_element_pads_activate): Remove rpad cruft.
10140
10141         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10142         catch the pad's-parent-not-an-element case.
10143
10144         * gst/gst.h: Include gstghostpad.h.
10145
10146         * gst/gst.c (init_post): No more real, ghost pads.
10147
10148         * gst/Makefile.am: Add gstghostpad.[ch].
10149
10150         * check/Makefile.am:
10151         * check/gst/gstbin.c:
10152         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10153         into a bin creates ghost pads, and that the refcounts are right.
10154         Partly moved from gstbin.c.
10155
10156 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10157
10158         * check/gst-libs/.cvsignore:
10159         * check/gst/.cvsignore:
10160         * check/pipelines/.cvsignore:
10161           ignore more
10162         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10163         (START_TEST), (cleanup_suite), (main):
10164           add some tests related to cleanup after running pipelines
10165
10166 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10167
10168         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10169           add a testsuite for GstBuffer
10170
10171 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10172
10173         * gst/gstminiobject.h:
10174           add defines for accessing the refcount
10175
10176 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10177
10178         * Makefile.am: added support for html unit test coverage reports
10179
10180 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10181
10182         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10183           Free existing caps if the capsfilter changes. Add a FIXME about
10184           setting those caps on the pads.
10185
10186         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10187           Before adding a ghost pad to a parent bin, check that there isn't
10188           already one for the element on the bin. Prevents infinite recursion
10189           when using decodebin in parse pipelines. Andy says he'll rewrite the
10190           way this works anyway, so ignore the hack.
10191
10192 2005-06-02  Andy Wingo  <wingo@pobox.com>
10193
10194         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10195         file size, pass it on to the type find helper.
10196
10197         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10198         segment_start and segment_end properly according to the seek
10199         method. Segment_end is still a bit flaky because offset can be
10200         negative for CUR and END cases, but it takes -1 as an "unset"
10201         value.
10202
10203 2005-06-02  Wim Taymans  <wim@fluendo.com>
10204
10205         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10206         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10207         (gst_basesink_activate):
10208         * gst/base/gstbasesink.h:
10209         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10210         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10211         (gst_pad_query), (gst_pad_start_task):
10212         * gst/gstpad.h:
10213         * gst/gstqueue.c: (gst_queue_bufferalloc),
10214         (gst_queue_handle_sink_event), (gst_queue_chain):
10215         Bufferalloc: return GstFlowReturn to more accuratly report
10216         why allocation failed.
10217
10218 2005-06-02  Wim Taymans  <wim@fluendo.com>
10219
10220         * gst/gstpipeline.c: (gst_pipeline_send_event):
10221         Take snapshot of state without blocking.
10222
10223 2005-06-02  Wim Taymans  <wim@fluendo.com>
10224
10225         * docs/design/part-TODO.txt:
10226         * docs/design/part-caps.txt:
10227         * docs/design/part-clocks.txt:
10228         * docs/design/part-negotiation.txt:
10229         * docs/design/part-preroll.txt:
10230         Small doc updates 
10231
10232 2005-05-30  Wim Taymans  <wim@fluendo.com>
10233
10234         * gst/elements/gstidentity.c: (gst_identity_event),
10235         (gst_identity_transform), (gst_identity_get_property):
10236         Protect last_message property as it is accessed from
10237         multiple threads.
10238
10239 2005-05-30  Wim Taymans  <wim@fluendo.com>
10240
10241         * gst/gstelement.c: (gst_element_init),
10242         (gst_element_pads_activate), (gst_element_change_state):
10243         Slicker pad activation code.
10244
10245 2005-05-30  Wim Taymans  <wim@fluendo.com>
10246
10247         * gst/Makefile.am:
10248         * gst/gstelement.h:
10249         * gst/gstelementfactory.h:
10250         * gst/gsttypes.h:
10251         Move elementfactory methods to separate .h file.
10252
10253 2005-05-30  Wim Taymans  <wim@fluendo.com>
10254
10255         * docs/design/part-overview.txt:
10256         * gst/gstsystemclock.h:
10257         Small typo fixes, doc updates.
10258
10259 2005-05-30  Wim Taymans  <wim@fluendo.com>
10260
10261         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10262         (init_popt_callback):
10263         Remove cpu-opt flag.
10264
10265 2005-05-30  Wim Taymans  <wim@fluendo.com>
10266
10267         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10268         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10269         * gst/gstbuffer.h:
10270         Avoid typechecking in places where not needed.
10271         Added accessor for malloc_data.
10272
10273 2005-05-30  Wim Taymans  <wim@fluendo.com>
10274
10275         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10276         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10277         (gst_pad_configure_sink), (gst_pad_configure_src),
10278         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10279         (gst_pad_start_task):
10280         Propagate errors from _set_caps() in configure_src/sink
10281         functions instead of returning TRUE.
10282         FLUSH events can travel up and downstream
10283
10284
10285 2005-05-30  Wim Taymans  <wim@fluendo.com>
10286
10287         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10288         (gst_basesink_activate):
10289         Handle EOS in preroll.
10290
10291 2005-05-30  Wim Taymans  <wim@fluendo.com>
10292
10293         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10294         (gst_queue_loop), (gst_queue_handle_src_event):
10295         Remove old pieces of code
10296         Flushing the queue in an upstream event is a very bad idea.
10297
10298 2005-05-26  Andy Wingo  <wingo@pobox.com>
10299
10300         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10301         gst_value_set_mini_object so as to add a ref on the object (which
10302         will be removed when the value is unset).
10303
10304         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10305         arg type in ::handoff.
10306
10307         * gst/gstelement.c (gst_element_change_state): Also deactivate
10308         pads in READY->NULL, just in case the element didn't make it to
10309         PAUSED. Wingo tested, Wim approved.
10310
10311 2005-05-26  Wim Taymans  <wim@fluendo.com>
10312
10313         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10314         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10315         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10316         A flushing pad cannot be used to alloc_buffer from.
10317
10318 2005-05-26  Wim Taymans  <wim@fluendo.com>
10319
10320         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10321         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10322         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10323         (gst_bus_create_watch), (gst_bus_add_watch_full):
10324         * gst/gstbus.h:
10325         Implement a real GSource and use g_main_context_wakeup() to
10326         signal new messages instead of the socketpair.
10327
10328 2005-05-25  Wim Taymans  <wim@fluendo.com>
10329
10330         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10331         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10332         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10333         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10334         (gst_pad_send_event), (gst_pad_start_task):
10335         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10336         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10337         (gst_queue_sink_activate), (gst_queue_src_activate),
10338         (gst_queue_change_state):
10339         * gst/gstqueue.h:
10340         Fix state changes for non sinks. We now change sinks, then elements
10341         with unconnected srcpads, then the rest.
10342         More efficient queue unlocking in flush and state changes.
10343         Set the pad activate mode even if it does not have an activate
10344         function.
10345
10346 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10347
10348         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10349           Don't go in pull mode for non-seekable sources.
10350         * gst/elements/gsttypefindelement.h:
10351         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10352         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10353         (free_entry), (stop_typefinding),
10354         (gst_type_find_element_handle_event), (find_peek),
10355         (gst_type_find_element_chain), (do_pull_typefind),
10356         (gst_type_find_element_change_state):
10357           Allow typefinding (w/o seeking) in push-mode, simplified version
10358           of what was in 0.8.
10359         * gst/gstutils.c: (gst_buffer_join):
10360         * gst/gstutils.h:
10361           gst_buffer_join() from 0.8.
10362
10363 2005-05-25  Wim Taymans  <wim@fluendo.com>
10364
10365         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10366         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10367         (gst_pad_send_event), (gst_pad_start_task):
10368         Disable attempt at mode switching until it is figured out.
10369
10370 2005-05-25  Wim Taymans  <wim@fluendo.com>
10371
10372         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10373         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10374         (gst_basesink_finish_preroll), (gst_basesink_chain),
10375         (gst_basesink_loop), (gst_basesink_activate),
10376         (gst_basesink_change_state):
10377         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10378         (gst_basesrc_get_range), (gst_basesrc_loop),
10379         (gst_basesrc_activate):
10380         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10381         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10382         (gst_real_pad_init), (gst_real_pad_set_property),
10383         (gst_real_pad_get_property), (gst_pad_set_active),
10384         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10385         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10386         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10387         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10388         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10389         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10390         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10391         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10392         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10393         (gst_pad_stop_task):
10394         * gst/gstpad.h:
10395         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10396         (gst_queue_loop), (gst_queue_src_activate):
10397         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10398         (gst_task_get_state):
10399         * gst/gsttask.h:
10400         * gst/schedulers/threadscheduler.c:
10401         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10402         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10403         in task function.
10404         Remove ACTIVE pad flag, use FLUSHING everywhere
10405         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10406         functions.
10407         Add locks around IS_FLUSHING when reading.
10408         Take STREAM lock in chain(), get_range() functions so plugins
10409         don't need to take it anymore.
10410         
10411
10412
10413 2005-05-25  Wim Taymans  <wim@fluendo.com>
10414
10415         * tools/gst-launch.c: (event_loop):
10416         Unref message after using its contents instead of
10417         before.
10418
10419 2005-05-24  Wim Taymans  <wim@fluendo.com>
10420
10421         * docs/design/draft-ghostpads.txt:
10422         * docs/design/draft-push-pull.txt:
10423         * docs/design/draft-query.txt:
10424         * docs/design/part-overview.txt:
10425         Docs updates, added general overview doc.
10426
10427 2005-05-21  David Schleef  <ds@schleef.org>
10428
10429         * docs/gst/tmpl/old/GstBin.sgml:
10430         * docs/gst/tmpl/old/GstBuffer.sgml:
10431         * docs/gst/tmpl/old/GstCaps.sgml:
10432         * docs/gst/tmpl/old/GstClock.sgml:
10433         * docs/gst/tmpl/old/GstCompat.sgml:
10434         * docs/gst/tmpl/old/GstData.sgml:
10435         * docs/gst/tmpl/old/GstElement.sgml:
10436         * docs/gst/tmpl/old/GstEvent.sgml:
10437         * docs/gst/tmpl/old/GstIndex.sgml:
10438         * docs/gst/tmpl/old/GstStructure.sgml:
10439         * docs/gst/tmpl/old/GstTag.sgml:
10440         * docs/gst/tmpl/old/cothreads.sgml:
10441         * docs/gst/tmpl/old/cothreads_compat.sgml:
10442         * docs/gst/tmpl/old/gettext.sgml:
10443         * docs/gst/tmpl/old/gobject2gtk.sgml:
10444         * docs/gst/tmpl/old/grammar.tab.sgml:
10445         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10446         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10447         * docs/gst/tmpl/old/gst_private.sgml:
10448         * docs/gst/tmpl/old/gstaggregator.sgml:
10449         * docs/gst/tmpl/old/gstarch.sgml:
10450         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10451         * docs/gst/tmpl/old/gstbufferstore.sgml:
10452         * docs/gst/tmpl/old/gstdata_private.sgml:
10453         * docs/gst/tmpl/old/gstdisksink.sgml:
10454         * docs/gst/tmpl/old/gstdisksrc.sgml:
10455         * docs/gst/tmpl/old/gstelementfactory.sgml:
10456         * docs/gst/tmpl/old/gstextratypes.sgml:
10457         * docs/gst/tmpl/old/gstfakesink.sgml:
10458         * docs/gst/tmpl/old/gstfakesrc.sgml:
10459         * docs/gst/tmpl/old/gstfdsink.sgml:
10460         * docs/gst/tmpl/old/gstfdsrc.sgml:
10461         * docs/gst/tmpl/old/gstfilesink.sgml:
10462         * docs/gst/tmpl/old/gstfilesrc.sgml:
10463         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10464         * docs/gst/tmpl/old/gstidentity.sgml:
10465         * docs/gst/tmpl/old/gstindexfactory.sgml:
10466         * docs/gst/tmpl/old/gstmarshal.sgml:
10467         * docs/gst/tmpl/old/gstmd5sink.sgml:
10468         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10469         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10470         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10471         * docs/gst/tmpl/old/gstpipefilter.sgml:
10472         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10473         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10474         * docs/gst/tmpl/old/gstshaper.sgml:
10475         * docs/gst/tmpl/old/gstspider.sgml:
10476         * docs/gst/tmpl/old/gstspideridentity.sgml:
10477         * docs/gst/tmpl/old/gststatistics.sgml:
10478         * docs/gst/tmpl/old/gsttee.sgml:
10479         * docs/gst/tmpl/old/gsttimecache.sgml:
10480         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10481         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10482         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10483         * docs/gst/tmpl/old/types.sgml:
10484           I didn't intend to add these or check them in.
10485
10486 2005-05-19  David Schleef  <ds@schleef.org>
10487
10488         * configure.ac: Use -no-common everywhere.  In a sane world, it
10489           would be the default in libtool, because without it, you can't
10490           build DLLs on Windows.
10491         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10492         * docs/gst/gstreamer-sections.txt:
10493         * docs/gst/tmpl/gstcpu.sgml:
10494         * docs/gst/tmpl/gstdata.sgml:
10495         * docs/gst/tmpl/gstthread.sgml:
10496
10497 2005-05-19  David Schleef  <ds@schleef.org>
10498
10499         * gst/gstminiobject.c: (gst_value_set_mini_object),
10500         (gst_value_take_mini_object), (gst_value_get_mini_object):
10501         * gst/gstminiobject.h: Add GValue set/get functions.
10502
10503 2005-05-19  Wim Taymans  <wim@fluendo.com>
10504
10505         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10506         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10507         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10508         * gst/gstbuffer.h:
10509         * gst/gstbus.c: (gst_bus_post):
10510         * gst/gstelement.c: (gst_element_get_random_pad):
10511         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10512         Make subbufer unref the parent in finalize.
10513         some more debugging info.
10514
10515
10516 2005-05-19  Wim Taymans  <wim@fluendo.com>
10517
10518         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10519         (gst_basesink_init), (gst_basesink_finalize),
10520         (gst_basesink_activate), (gst_basesink_change_state):
10521         Don't free preroll queue too early.
10522
10523 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10524
10525         * gst/Makefile.am:
10526         * gst/ROADMAP:
10527           Hi, I'm outdated. Please shoot me.
10528
10529 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10530
10531         * gst/gstpipeline.c: (gst_pipeline_send_event):
10532           Do not access variables after they have been deleted.
10533
10534 2005-05-19  Wim Taymans  <wim@fluendo.com>
10535
10536         * tools/gst-inspect.c: (print_plugin_features):
10537         A plugin feature does unfortunatly not use the
10538         object name yet...
10539
10540 2005-05-18  Wim Taymans  <wim@fluendo.com>
10541
10542         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10543         Port _span() functions to new subbuffers.
10544
10545 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10546
10547         * gst/gstbin.c: (gst_bin_add_func):
10548           Fix clock settery in bins when adding kids after the clock has
10549           been selected.
10550
10551 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10552
10553         * gst/elements/gstidentity.c: (gst_identity_class_init):
10554           Workaround until signals support GstMiniObject.
10555
10556 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10557
10558         * gst/gstbuffer.c:
10559         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10560
10561 2005-05-18  Wim Taymans  <wim@fluendo.com>
10562
10563         * gst/base/Makefile.am:
10564         * gst/base/gstadapter.c: (gst_adapter_base_init),
10565         (gst_adapter_class_init), (gst_adapter_init),
10566         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10567         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10568         (gst_adapter_flush), (gst_adapter_available),
10569         (gst_adapter_available_fast):
10570         * gst/base/gstadapter.h:
10571         Ported and added adapter to the base classes.
10572
10573 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10574
10575         * gst/gst.c:
10576         * gst/gstmessage.c:
10577           Make sure the class is reffed/unreffed once before threads can be
10578           used.  Fixes #304551.
10579
10580 2005-05-17  Wim Taymans  <wim@fluendo.com>
10581
10582         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10583         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10584         * gst/gstminiobject.c: (gst_mini_object_get_type),
10585         (gst_mini_object_free):
10586         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10587         (gst_pad_push), (gst_pad_push_event):
10588         * gst/gstqueue.c: (gst_queue_change_state):
10589         Don't queue buffers in basesink when we are flushing.
10590         Unref buffer when flushing in basesink.
10591         Flush queue when going to READY
10592         Unref buffer when _push() returns an error.
10593         Don't free MiniObject instance when refcount is incremented
10594         in _finalize() so that we can recover objects.
10595
10596 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10597
10598         * docs/manual/advanced-schedulers.xml:
10599         * docs/manual/appendix-checklist.xml:
10600         * docs/pwg/advanced-clock.xml:
10601         * docs/pwg/advanced-interfaces.xml:
10602         * docs/pwg/advanced-request.xml:
10603         * docs/pwg/advanced-types.xml:
10604         * docs/pwg/intro-preface.xml:
10605         * examples/plugins/example.c: (gst_example_get_type),
10606         (gst_example_class_init), (gst_example_chain),
10607         (gst_example_set_property), (gst_example_get_property),
10608         (gst_example_change_state), (plugin_init):
10609         * examples/plugins/example.h:
10610           small doc fixes
10611
10612 2005-05-17  Wim Taymans  <wim@fluendo.com>
10613
10614         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10615         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10616         * gst/gstqueue.c: (gst_queue_change_state):
10617         Clear queue when going to READY.
10618         Remove IN_SETCAPS flag too.
10619
10620 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10621
10622         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10623           Remove implicit cast from gboolean to GstElementStateReturn;
10624           make sure we still return failure in paused => ready case if
10625           the parent class fails to change state and our own stop 
10626           vfunc succeeds.
10627
10628 2005-05-17  Wim Taymans  <wim@fluendo.com>
10629
10630         * tools/gst-launch.c: (event_loop):
10631         Message was unreffed too soon.
10632
10633 2005-05-16  Andy Wingo  <wingo@pobox.com>
10634
10635         * gst/gstbin.c (sink_iterator_filter): Err... um...
10636
10637         * check/gst/gstbin.c (test_ghost_pads): New test for the
10638         ghosting-if-elements-not-in-same-bin behavior.
10639
10640 2005-05-16  David Schleef  <ds@schleef.org>
10641
10642         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10643         accessing refcount directly.
10644
10645 2005-05-15  David Schleef  <ds@schleef.org>
10646
10647         * check/Makefile.am: remove GstData checks
10648         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10649         * gst/Makefile.am: add miniobject, remove data
10650         * gst/gst.h: add miniobject, remove data
10651         * gst/gstdata.c: remove
10652         * gst/gstdata.h: remove
10653         * gst/gstdata_private.h: remove
10654         * gst/gsttypes.h: remove GstEvent and GstMessage
10655         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10656         * gst/gstmarshal.list: change BOXED -> OBJECT
10657
10658         Implement GstMiniObject.
10659         * gst/gstminiobject.c:
10660         * gst/gstminiobject.h:
10661
10662         Modify to be subclasses of GstMiniObject.
10663         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10664         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10665         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10666         (gst_subbuffer_get_type), (gst_subbuffer_init),
10667         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10668         (gst_buffer_span):
10669         * gst/gstbuffer.h:
10670         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10671         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10672         (_gst_event_copy), (gst_event_new):
10673         * gst/gstevent.h:
10674         * gst/gstmessage.c: (_gst_message_initialize),
10675         (gst_message_get_type), (gst_message_class_init),
10676         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10677         (gst_message_new), (gst_message_new_error),
10678         (gst_message_new_warning), (gst_message_new_tag),
10679         (gst_message_new_state_changed), (gst_message_new_application):
10680         * gst/gstmessage.h:
10681         * gst/gstprobe.c: (gst_probe_perform),
10682         (gst_probe_dispatcher_dispatch):
10683         * gst/gstprobe.h:
10684         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10685         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10686         (_gst_query_copy), (gst_query_new):
10687
10688         Update elements for GstData -> GstMiniObject changes
10689         * gst/gstquery.h:
10690         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10691         (gst_queue_chain), (gst_queue_loop):
10692         * gst/elements/gstbufferstore.c:
10693         (gst_buffer_store_add_buffer_func),
10694         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10695         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10696         (gst_fakesink_render):
10697         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10698         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10699         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10700         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10701         (gst_filesrc_create_read):
10702         * gst/elements/gstidentity.c: (gst_identity_class_init):
10703         * gst/elements/gsttypefindelement.c:
10704         (gst_type_find_element_src_event), (free_entry_buffers),
10705         (gst_type_find_element_handle_event):
10706         * libs/gst/dataprotocol/dataprotocol.c:
10707         (gst_dp_header_from_buffer):
10708         * libs/gst/dataprotocol/dataprotocol.h:
10709         * libs/gst/dataprotocol/dp-private.h:
10710
10711 2005-05-15  David Schleef  <ds@schleef.org>
10712
10713         * gst/elements/gstelements.c: Don't include headers that were
10714         just removed.
10715
10716 2005-05-15  David Schleef  <ds@schleef.org>
10717
10718         * gst/elements/Makefile.am: Remove some elements that don't
10719         need to be in the core (or even exist at all).
10720         * gst/elements/gstaggregator.c:
10721         * gst/elements/gstaggregator.h:
10722         * gst/elements/gstmd5sink.c:
10723         * gst/elements/gstmd5sink.h:
10724         * gst/elements/gstmultifilesrc.c:
10725         * gst/elements/gstmultifilesrc.h:
10726         * gst/elements/gstpipefilter.c:
10727         * gst/elements/gstpipefilter.h:
10728         * gst/elements/gstshaper.c:
10729         * gst/elements/gstshaper.h:
10730         * gst/elements/gststatistics.c:
10731         * gst/elements/gststatistics.h:
10732         * po/POTFILES.in: Remove above files.
10733
10734 2005-05-14  Andy Wingo  <wingo@pobox.com>
10735
10736         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10737         so as to get the refs right.
10738         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10739         unreffing objects that don't pass the filter.
10740
10741         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10742         gst_element_set_bus.
10743         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10744         normal cases, this will destroy the bus.
10745
10746         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10747         object.
10748
10749         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10750         has no sinks.
10751
10752 2005-05-13  Andy Wingo  <wingo@pobox.com>
10753
10754         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10755         gst_pad_link, call pad_link_maybe_ghosting,
10756         (pad_link_maybe_ghosting): Links pads, making sure that the
10757         elements being linked are in the same bin.
10758         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10759         Helpers for pad_link_maybe_ghosting.
10760
10761 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10762
10763         * configure.ac:
10764           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10765
10766 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10767
10768         * docs/design/part-element-source.txt:
10769           Mention GstPushSrc
10770
10771 2005-05-12  Wim Taymans  <wim@fluendo.com>
10772
10773         * gst/base/gstbasesink.c: (gst_basesink_init),
10774         (gst_basesink_activate):
10775         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10776         (gst_basesrc_is_seekable):
10777         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10778         (bin_element_is_sink), (gst_bin_change_state):
10779         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10780         * gst/gstelement.h:
10781         Identify sinks by their flag to avoid overly complicated
10782         checks (fow now).
10783         Do state changes even for elements not reachable from the
10784         sinks.
10785         BaseSink is a sink now :)
10786         Some more debugging info in the basesrc.
10787
10788
10789 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10790
10791         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10792           Implement _query on a bin, similar to _send_event.
10793
10794 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10795
10796         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10797           Discont event offset format should be GST_FORMAT_BYTES,
10798           not GST_FORMAT_TIME.
10799
10800 2005-05-12  Wim Taymans  <wim@fluendo.com>
10801
10802         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10803         Same fix as Ronald's but without the signal. 
10804
10805 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10806
10807         * gst/gstutils.c: (gst_element_query_position):
10808           No, an element is not a pad.
10809
10810 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10811
10812         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10813         (gst_bin_get_state):
10814           If a child is removed from a bin while we remove the child from
10815           the bin and while we're retrieving its state, signal this to the
10816           get_state function so we abort the wait (instead of waiting for
10817           a timeout) and can immediately re-iterate over all other elements.
10818
10819 2005-05-12  Wim Taymans  <wim@fluendo.com>
10820
10821         * gst/base/Makefile.am:
10822         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10823         (gst_basesrc_start):
10824         * gst/base/gstbasesrc.h:
10825         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10826         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10827         (gst_pushsrc_init), (gst_pushsrc_create):
10828         * gst/base/gstpushsrc.h:
10829         Added is_seekable to BaseSrc
10830         Added simple PushSrc.
10831
10832 2005-05-11  Wim Taymans  <wim@fluendo.com>
10833
10834         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10835         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10836         (gst_element_link_pads), (gst_element_query_position),
10837         (gst_element_query_convert), (intersect_caps_func),
10838         (gst_pad_query_position), (gst_pad_query_convert):
10839         Fix refcounting in utils function.
10840         No point in trying to activate a pad when it's added, it could
10841         be added from the state change function and then we deadlock, the
10842         element has to decide what to do.
10843
10844 2005-05-10  Andy Wingo  <wingo@pobox.com>
10845
10846         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10847         *all* the arguments.
10848
10849         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10850         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10851         lock (according to the docs -- if this is wrong change the docs).
10852
10853         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10854         flush messages in the NULL state.
10855
10856         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10857         message immediately and return.
10858         (gst_bus_set_flushing): New function. If a bus is flushing, it
10859         flushes out any queued messages and immediately unrefs new
10860         messages. This is so when an element goes to NULL, all of the
10861         unhandled messages coming from it can be freed, and their
10862         references to the element dropped. In other words: message source
10863         ref considered harmful :P
10864
10865         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10866         we're finished with it.
10867
10868         * gst/gstmessage.c (gst_message_new_state_changed): 
10869
10870 2005-05-10  Wim Taymans  <wim@fluendo.com>
10871
10872         * gst/gstvalue.c: (gst_value_compare_flags),
10873         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10874         (_gst_value_initialize):
10875         Added flags serialize/deserialize/compare code.
10876
10877 2005-05-09  Andy Wingo  <wingo@pobox.com>
10878
10879         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10880         Intersect the peer's caps with our caps.
10881
10882 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10883
10884         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10885         * gst/elements/gsttypefindelement.c: (find_peek):
10886           Handle negative offsets better. Fixes decodebin.
10887
10888 2005-05-09  Wim Taymans  <wim@fluendo.com>
10889
10890         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10891         (gst_base_transform_event):
10892         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10893         Implement accept_caps.
10894         Fix silly lock/unlock mismatch in base class.
10895
10896 2005-05-09  Wim Taymans  <wim@fluendo.com>
10897
10898         * docs/design/draft-push-pull.txt:
10899         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10900         * gst/elements/gstfilesink.c: (gst_filesink_init),
10901         (gst_filesink_query):
10902         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10903         (gst_type_find_handle_src_query), (find_element_get_length):
10904         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10905         * gst/gstelement.h:
10906         * gst/gstmessage.c:
10907         * gst/gstmessage.h:
10908         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10909         (gst_real_pad_get_caps_unlocked),
10910         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10911         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10912         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10913         (gst_real_pad_dispose), (gst_real_pad_finalize),
10914         (gst_pad_load_and_link), (gst_pad_save_thyself),
10915         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10916         (gst_pad_check_pull_range), (gst_pad_pull_range),
10917         (gst_pad_template_get_type), (gst_pad_template_class_init),
10918         (gst_pad_template_init), (gst_pad_template_dispose),
10919         (name_is_valid), (gst_static_pad_template_get),
10920         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10921         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10922         (gst_pad_get_element_private), (gst_pad_start_task),
10923         (gst_pad_pause_task), (gst_pad_stop_task),
10924         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10925         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10926         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10927         (gst_ghost_pad_new):
10928         * gst/gstpad.h:
10929         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10930         (gst_query_new_position), (gst_query_set_position),
10931         (gst_query_parse_position), (gst_query_new_convert),
10932         (gst_query_set_convert), (gst_query_parse_convert):
10933         * gst/gstquery.h:
10934         * gst/gstqueryutils.c:
10935         * gst/gstqueryutils.h:
10936         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10937         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10938         (gst_queue_handle_src_query):
10939         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10940         (gst_element_query_position), (gst_element_query_convert),
10941         (intersect_caps_func), (gst_pad_query_position),
10942         (gst_pad_query_convert):
10943         * gst/gstutils.h:
10944         * tools/gst-inspect.c: (print_pad_info):
10945         * tools/gst-xmlinspect.c: (print_element_info):
10946         Remove old query functions. Ported old code.
10947         Added position/convert helper functions to gstutils.
10948         Reordered gstpad.c code, grouping relevant things.
10949         Remove gst_message_new(), always need to speficy a specific
10950         message.
10951
10952
10953 2005-05-09  Andy Wingo  <wingo@pobox.com>
10954
10955         * gst/gstiterator.h: Add some includes.
10956
10957         * gst/gstqueryutils.h: Include more headers.
10958
10959         * gst/gstpad.h:
10960         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10961         some uses of gst_pad_query.
10962
10963         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10964         NULL out parameters.
10965         (gst_query_new_position): New proc, allocates a new position
10966         query.
10967
10968         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10969         gstqueryutils.c to the build.
10970
10971         * gst/gststructure.c (gst_structure_set_valist): Implement with
10972         the generic G_VALUE_COLLECT.
10973         
10974 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10975
10976         * gst/Makefile.am: (gst_headers):
10977         Added gstqueryutils.h to the list of headers to install, that was
10978         a 'nachty' move wingo :)
10979
10980 2005-05-06  Andy Wingo  <wingo@pobox.com>
10981
10982         * gst/gstquery.h
10983         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10984         GstData, init a memchunk.
10985         (standard_definitions): Add a few query types, deprecate a few.
10986         (gst_query_get_type): New proc.
10987         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10988         implementation.
10989         (gst_query_new_application, gst_query_get_structure): New public
10990         procs.
10991
10992         * docs/design/draft-query.txt: Removed LINKS from the query types,
10993         because all the rest can be dispatched to other pads -- seemed
10994         ugly to have a query that couldn't be dispatched. internal_links
10995         is fine as a pad method.
10996
10997         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10998         in gstpad.c, but maintain binary compatibility for the moment.
10999         Will fix before 0.9 is out.
11000
11001         * gst/gstqueryutils.c: 
11002         * gst/gstqueryutils.h: New files, implement 3 methods for each
11003         query type: parse_query, parse_response, and set. Probably need an
11004         allocator as well.
11005
11006         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11007
11008         * gst/elements/gstfilesink.c (gst_filesink_query2):
11009         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11010         query_types, and formats methods.
11011
11012         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11013         (gst_pad_set_query2_function): New functions.
11014         (gst_real_pad_init): Set query2_default as the default query2
11015         function. Basically just dispatches to internally linked pads.
11016
11017         Needs review!
11018         
11019         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11020         without using the atomic operations. Only one thread can possibly
11021         be accessing the data at this point. Changed so as to avoid
11022         gst_atomic operations.
11023
11024 2005-05-06  Wim Taymans  <wim@fluendo.com>
11025
11026         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11027         Also set caps if we use the fallback buffer alloc.
11028
11029 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11030
11031         * docs/gst/Makefile.am:
11032         * docs/gst/gstreamer-docs.sgml:
11033         * docs/gst/gstreamer-sections.txt:
11034         * docs/gst/tmpl/gstatomic.sgml:
11035         * docs/gst/tmpl/gstmemchunk.sgml:
11036         * testsuite/elements/struct_i386.h:
11037         * win32/GStreamer.vcproj:
11038         * win32/Makefile:
11039           Purge GstAtomic stuff from docs and win32 makefiles as well
11040
11041 2005-05-06  Wim Taymans  <wim@fluendo.com>
11042
11043         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11044         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11045         * gst/gstpad.c: (gst_pad_peer_get_caps):
11046         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11047         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11048         (gst_queue_src_activate), (gst_queue_change_state):
11049         * gst/gstqueue.h:
11050         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11051         (intersect_caps_func):
11052         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11053         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11054         Some fixes for the peer_get_caps() change.
11055
11056 2005-05-06  Wim Taymans  <wim@fluendo.com>
11057
11058         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11059         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11060         (gst_basesink_activate):
11061         Actually do something with error codes returned from the push
11062         functions.
11063
11064 2005-05-06  Wim Taymans  <wim@fluendo.com>
11065
11066         * docs/design/part-element-sink.txt:
11067         * docs/design/part-element-source.txt:
11068         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11069         (gst_basesink_event), (gst_basesink_activate):
11070         * gst/base/gstbasesink.h:
11071         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11072         (gst_basesrc_activate):
11073         * gst/base/gstbasesrc.h:
11074         * gst/gstelement.c: (gst_element_pads_activate):
11075         Some more documentation.
11076         Fixed scheduling decision in _pads_activate().
11077
11078 2005-05-05  Andy Wingo  <wingo@pobox.com>
11079
11080         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11081         the test suite.
11082
11083 2005-05-05  Wim Taymans  <wim@fluendo.com>
11084
11085         * gst/base/Makefile.am:
11086         * gst/base/gstbasesink.h:
11087         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11088         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11089         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11090         (gst_collectpads_class_init), (gst_collectpads_init),
11091         (gst_collectpads_finalize), (gst_collectpads_new),
11092         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11093         (find_pad), (gst_collectpads_remove_pad),
11094         (gst_collectpads_is_active), (gst_collectpads_collect),
11095         (gst_collectpads_collect_range), (gst_collectpads_start),
11096         (gst_collectpads_stop), (gst_collectpads_peek),
11097         (gst_collectpads_pop), (gst_collectpads_available),
11098         (gst_collectpads_read), (gst_collectpads_flush),
11099         (gst_collectpads_chain):
11100         * gst/base/gstcollectpads.h:
11101         * gst/elements/Makefile.am:
11102         * gst/elements/gstelements.c:
11103         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11104         (gst_fakesink_get_times), (gst_fakesink_event),
11105         (gst_fakesink_preroll), (gst_fakesink_render):
11106         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11107         (gst_filesink_init), (gst_filesink_set_location),
11108         (gst_filesink_open_file), (gst_filesink_close_file),
11109         (gst_filesink_pad_query), (gst_filesink_event),
11110         (gst_filesink_render), (gst_filesink_change_state):
11111         * gst/elements/gstfilesink.h:
11112         Added object to help in making collect pad based elements.
11113         Ported filesink.
11114         Make event function in sink baseclass return gboolean.
11115
11116 2005-05-05  Wim Taymans  <wim@fluendo.com>
11117
11118         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11119         (gst_bin_get_by_name):
11120         * gst/gstbuffer.h:
11121         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11122         (gst_clock_finalize):
11123         * gst/gstdata.c: (gst_data_replace):
11124         * gst/gstdata.h:
11125         * gst/gstelement.c: (gst_element_request_pad),
11126         (gst_element_pads_activate):
11127         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11128         (gst_object_unref):
11129         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11130         (gst_pad_set_checkgetrange_function),
11131         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11132         (gst_pad_check_pull_range), (gst_pad_pull_range),
11133         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11134         (gst_pad_pause_task), (gst_pad_stop_task):
11135         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11136         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11137         Fix name lookup in GstBin.
11138         Added _data_replace() function and _buffer_replace()
11139         Use finalize method to clean up clock.
11140         Fix refcounting on request pads.
11141         Fix pad schedule mode error.
11142         Some more object refcounting debug info,
11143
11144
11145 2005-05-04  Andy Wingo <wingo@pobox.com>
11146
11147         * check/Makefile.am:
11148         * docs/gst/tmpl/gstatomic.sgml:
11149         * docs/gst/tmpl/gstplugin.sgml:
11150         * gst/base/gstbasesink.c: (gst_basesink_activate):
11151         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11152         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11153         (gst_basesrc_query), (gst_basesrc_set_property),
11154         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11155         (gst_basesrc_activate):
11156         * gst/base/gstbasesrc.h:
11157         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11158         (gst_base_transform_src_activate):
11159         * gst/elements/gstelements.c:
11160         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11161         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11162         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11163         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11164         (gst_type_find_element_checkgetrange),
11165         (gst_type_find_element_activate):
11166         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11167         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11168         (gst_caps_load_thyself):
11169         * gst/gstelement.c: (gst_element_pads_activate),
11170         (gst_element_save_thyself), (gst_element_restore_thyself):
11171         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11172         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11173         * gst/gstpad.h:
11174         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11175         (gst_xml_parse_file), (gst_xml_parse_memory),
11176         (gst_xml_get_element), (gst_xml_make_element):
11177         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11178         (_file_index_id_save_xml), (gst_file_index_commit):
11179         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11180         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11181         (load_paths):
11182         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11183         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11184         * tools/gst-complete.c: (main):
11185         * tools/gst-compprep.c: (main):
11186         * tools/gst-inspect.c: (print_element_properties_info):
11187         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11188         * tools/gst-xmlinspect.c: (print_element_properties):
11189         GCC 4 fixen.
11190         
11191 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11192
11193         * gst/gstplugin.c: (gst_plugin_check_module),
11194         (gst_plugin_check_file), (gst_plugin_load_file):
11195             apply patch from #172526 to make register work on MacOSX
11196
11197 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11198
11199         * docs/gst/tmpl/gstconfig.sgml:
11200         * gst/gstconfig.h.in:
11201           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11202         * testsuite/debug/printf_extension.c: (main):
11203           Do not use GST_PTR_FORMAT on pointers to types with
11204           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11205         * testsuite/elements/property.h:
11206           use correct printf format
11207
11208 2005-05-02  Wim Taymans  <wim@fluendo.com>
11209
11210         * docs/design/draft-push-pull.txt:
11211         * docs/design/draft-query.txt:
11212         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11213         (gst_basesrc_start):
11214         Added draft for new query API.
11215         Added draft for better selecting scheduling methods.
11216         Make basesrc ignore length if the subclass does not support
11217         it.
11218
11219 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11220
11221         * gst/Makefile.am:
11222           possible fixes for automake-1.5 - _LIBADD is reserved
11223
11224 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11225
11226         * docs/faq/Makefile.am:
11227         * docs/manual/Makefile.am:
11228         * docs/manuals.mak:
11229         * docs/pwg/Makefile.am:
11230         * gst/Makefile.am:
11231           possible fixes for automake-1.5
11232
11233 2005-04-28  Wim Taymans  <wim@fluendo.com>
11234
11235         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11236         (gst_basesink_pad_getcaps), (gst_basesink_init),
11237         (gst_basesink_do_sync):
11238         * gst/gstclock.c: (gst_clock_entry_new):
11239         * gst/gstevent.c: (gst_event_discont_get_value):
11240         * gst/gstpipeline.c: (pipeline_bus_handler),
11241         (gst_pipeline_change_state):
11242         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11243         Better debugging of clocking info.
11244         Allow NULL values when getting discont values.
11245
11246 2005-04-27  Wim Taymans  <wim@fluendo.com>
11247
11248         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11249         * check/gst/gstpad.c: (gst_pad_suite):
11250         Increase timeout for checks.
11251
11252 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11253
11254         * check/Makefile.am:
11255           fix the broken rule for cleanup.  Apparently this rule is
11256           only needed on FC2, so maybe this warrants further autotool
11257           inspection.
11258
11259 2005-04-26  Wim Taymans  <wim@fluendo.com>
11260
11261         * gst/gsttrashstack.h:
11262         Ooohh. a nasty one! After having a failed pop() from the stack,
11263         it's possible that the stack is empty. In that case, don't
11264         follow the NULL pointer.
11265
11266 2005-04-25  Wim Taymans  <wim@fluendo.com>
11267
11268         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11269         (gst_pad_set_checkgetrange_function),
11270         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11271         (gst_pad_check_pull_range), (gst_pad_pull_range),
11272         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11273         (gst_pad_pause_task), (gst_pad_stop_task):
11274         * gst/gstplugin.c: (gst_plugin_load):
11275         * gst/gstplugin.h:
11276         Remove gst_library_load as it does more harm than good with
11277         the new g_module flags.
11278         Revert bogus caps template check in pad linking, pad caps
11279         are important when linking not the template, which is more
11280         general than the current caps.
11281
11282 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11283
11284         * gst/autoplug/.cvsignore:
11285         * gst/autoplug/Makefile.am:
11286         * gst/autoplug/gstsearchfuncs.c:
11287         * gst/autoplug/gstsearchfuncs.h:
11288         * gst/autoplug/gstspider.c:
11289         * gst/autoplug/gstspider.h:
11290         * gst/autoplug/gstspideridentity.c:
11291         * gst/autoplug/gstspideridentity.h:
11292         * gst/autoplug/spidertest.c:
11293           Die, spider, die.
11294
11295 2005-04-25  Wim Taymans  <wim@fluendo.com>
11296
11297         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11298         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11299         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11300         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11301         * gst/gstpad.h:
11302         Added stubs for unimplemented functions. 
11303
11304 2005-04-24  David Schleef  <ds@schleef.org>
11305
11306         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11307         please fix.
11308
11309 2005-04-24  David Schleef  <ds@schleef.org>
11310
11311         Convert everything from GstAtomicInt to g_atomic_int_*, and
11312         remove gstatomic.
11313         * gst/Makefile.am:
11314         * gst/gstatomic.c:
11315         * gst/gstatomic.h:
11316         * gst/gstatomic_impl.h:
11317         * gst/gstbuffer.c:
11318         * gst/gstcaps.c:
11319         * gst/gstcaps.h:
11320         * gst/gstclock.c:
11321         * gst/gstclock.h:
11322         * gst/gstdata.c:
11323         * gst/gstdata.h:
11324         * gst/gstdata_private.h:
11325         * gst/gstevent.c:
11326         * gst/gstinfo.c:
11327         * gst/gstinfo.h:
11328         * gst/gstmessage.c:
11329         * gst/gstobject.c:
11330         * gst/gstobject.h:
11331         * gst/gststructure.c:
11332         * gst/gststructure.h:
11333         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11334         * gst/gstutils.h:
11335
11336 2005-04-24  David Schleef  <ds@schleef.org>
11337
11338         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11339         make the regressions tests work.  Remove some code that is no
11340         longer true.
11341         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11342         Disable warning for pads without templates.
11343
11344 2005-04-24  David Schleef  <ds@schleef.org>
11345
11346         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11347         functions that handle filtered links.
11348         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11349         removed functions.
11350         * gst/gstutils.c: Fix/remove utility functions that handle
11351         filtered caps.
11352         * gst/gstutils.h:
11353         * gst/gstvalue.c: Add serialization/deserialization of caps
11354         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11355         requires fixing so that the filter caps notation creates
11356         a capsfilter element and sets the filter_caps property.  I
11357         think everyone probably wants to keep the shorthand notation.
11358         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11359         * docs/gst/tmpl/gstpad.sgml:
11360
11361         * gst/elements/gstelements.c: Register capsfilter element.
11362         * gst/Makefile.am: fix spacing
11363         * docs/random/ds/0.9-suggested-changes: random
11364
11365 2005-04-23  David Schleef  <ds@schleef.org>
11366
11367         * gst/elements/Makefile.am:
11368         * gst/elements/gstcapsfilter.c: New element that acts like an
11369         identity, but filters caps.  Will eventually replace filtered
11370         caps in pad linking.
11371         * gst/gstutils.c: (gst_element_create_all_pads): New function
11372         to create all the ALWAYS pads that are registered with an
11373         element class.  This functionality should eventually be
11374         merged in with GstElement initialization.
11375         * gst/gstutils.h:
11376         * testsuite/trigger/README: part of trigger test code that should
11377         have been checked in a long time ago.
11378
11379 2005-04-23  David Schleef  <ds@schleef.org>
11380
11381         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11382         needed with new versions of libtool (nobody will confirm this),
11383         and hard to carry around.
11384         * gst/autoplug/Makefile.am:
11385         * gst/base/Makefile.am:
11386         * gst/elements/Makefile.am:
11387         * gst/indexers/Makefile.am:
11388         * gst/schedulers/Makefile.am:
11389         * libs/gst/bytestream/Makefile.am:
11390         * libs/gst/control/Makefile.am:
11391         * libs/gst/dataprotocol/Makefile.am:
11392         * libs/gst/getbits/Makefile.am:
11393
11394 2005-04-21  Wim Taymans  <wim@fluendo.com>
11395
11396         * docs/design/draft-push-pull.txt:
11397         * docs/design/part-MT-refcounting.txt:
11398         * docs/design/part-TODO.txt:
11399         * docs/design/part-caps.txt:
11400         * docs/design/part-events.txt:
11401         * docs/design/part-gstbus.txt:
11402         * docs/design/part-gstpipeline.txt:
11403         * docs/design/part-messages.txt:
11404         * docs/design/part-push-pull.txt:
11405         * docs/design/part-query.txt:
11406         Some more docs.
11407
11408 2005-04-21  Wim Taymans  <wim@fluendo.com>
11409
11410         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11411         (gst_message_new), (gst_message_new_error),
11412         (gst_message_new_warning), (gst_message_new_tag),
11413         (gst_message_new_state_changed), (gst_message_new_application),
11414         (gst_message_get_structure):
11415         * gst/gstmessage.h:
11416         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11417         (gst_structure_copy_conditional):
11418         Use parent refcount in GstMessage to ensure GstStructure
11419         consistency.
11420         Cleaned up headers a bit.
11421         
11422
11423 2005-04-20  Wim Taymans  <wim@fluendo.com>
11424
11425         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11426         (gst_basesink_pad_getcaps), (gst_basesink_init),
11427         (gst_basesink_chain_unlocked):
11428         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11429         (gst_type_find_helper):
11430         * gst/elements/gsttypefindelement.c:
11431         (gst_type_find_element_have_type), (gst_type_find_element_init),
11432         (stop_typefinding), (gst_type_find_element_handle_event),
11433         (find_suggest), (gst_type_find_element_chain),
11434         (gst_type_find_element_checkgetrange),
11435         (gst_type_find_element_getrange), (do_typefind),
11436         (gst_type_find_element_activate):
11437         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11438         (gst_buffer_default_free), (gst_buffer_default_copy),
11439         (gst_buffer_set_caps):
11440         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11441         (gst_caps_replace):
11442         * gst/gstmessage.c: (gst_message_new),
11443         (gst_message_new_state_changed):
11444         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11445         (gst_pad_set_checkgetrange_function),
11446         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11447         (gst_pad_set_caps), (gst_pad_check_pull_range),
11448         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11449         * gst/gstpad.h:
11450         * gst/gsttypefind.c: (gst_type_find_register):
11451         Make gst_caps_replace() work like other _replace() functions.
11452         Use _caps_replace() where possible.
11453         Make sure _message_new() initialises its field.
11454         Add gst_static_pad_template_get_caps()
11455
11456
11457 2005-04-18  Andy Wingo  <wingo@pobox.com>
11458
11459         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11460         on the peer, not the pad. I think that was a typo. Pass an extra
11461         arg to see if random access is possible. Activate the pads as
11462         PULL_RANGE if possible.
11463
11464         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11465
11466         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11467         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11468         to PROP_....
11469
11470 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11471
11472         * docs/faq/using.xml:
11473           Add note on gstreamer-properties (#154996).
11474
11475 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11476
11477         * docs/random/bbb/optional-properties:
11478           Some analysis on optional properties.
11479
11480 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11481
11482         * docs/gst/tmpl/gstelementfactory.sgml:
11483         * gst/gstelement.h:
11484         * gst/gstelementfactory.c: (gst_element_factory_init),
11485         (gst_element_factory_cleanup), (gst_element_register),
11486         (__gst_element_factory_add_static_pad_template),
11487         (gst_element_factory_get_static_pad_templates),
11488         (gst_element_factory_can_src_caps),
11489         (gst_element_factory_can_sink_caps):
11490         * gst/registries/Makefile.am:
11491         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11492         (gst_xml_registry_class_init), (gst_xml_registry_init),
11493         (gst_xml_registry_new), (gst_xml_registry_set_property),
11494         (gst_xml_registry_get_property), (get_time), (make_dir),
11495         (gst_xml_registry_get_perms_func),
11496         (plugin_times_older_than_recurse), (plugin_times_older_than),
11497         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11498         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11499         (add_to_char_array), (read_string), (read_uint), (read_enum),
11500         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11501         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11502         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11503         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11504         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11505         (gst_xml_registry_rebuild):
11506         * gst/registries/gstlibxmlregistry.h:
11507         * tools/gst-compprep.c: (main):
11508         * tools/gst-inspect.c: (print_pad_templates_info):
11509         * tools/gst-xmlinspect.c: (print_element_info):
11510           Use libxml2 for registry parsing, use staticpadtemplates in
11511           elementfactories. Makes gst_init() +/- 10x faster.
11512
11513 2005-04-12  Wim Taymans  <wim@fluendo.com>
11514
11515         * gst/base/Makefile.am:
11516         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11517         (gst_basesink_pad_getcaps), (gst_basesink_init),
11518         (gst_basesink_event), (gst_basesink_change_state):
11519         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11520         (gst_basesrc_init), (gst_basesrc_query),
11521         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11522         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11523         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11524         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11525         (gst_basesrc_stop), (gst_basesrc_activate),
11526         (gst_basesrc_change_state):
11527         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11528         (helper_find_suggest), (gst_type_find_helper):
11529         * gst/base/gsttypefindhelper.h:
11530         * gst/elements/Makefile.am:
11531         * gst/elements/gstelements.c:
11532         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11533         (gst_fakesink_get_times), (gst_fakesink_event),
11534         (gst_fakesink_preroll), (gst_fakesink_render):
11535         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11536         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11537         (gst_fakesrc_get_property), (gst_fakesrc_create),
11538         (gst_fakesrc_start), (gst_fakesrc_stop):
11539         * gst/elements/gstfakesrc.h:
11540         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11541         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11542         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11543         (gst_filesrc_create_read), (gst_filesrc_create),
11544         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11545         (gst_filesrc_start):
11546         * gst/elements/gsttypefindelement.c:
11547         (gst_type_find_element_have_type), (gst_type_find_element_init),
11548         (start_typefinding), (stop_typefinding), (push_buffer_store),
11549         (gst_type_find_element_handle_event),
11550         (gst_type_find_element_chain),
11551         (gst_type_find_element_checkgetrange),
11552         (gst_type_find_element_getrange), (do_typefind),
11553         (gst_type_find_element_activate),
11554         (gst_type_find_element_change_state):
11555         * gst/elements/gsttypefindelement.h:
11556         * gst/gstpipeline.c: (pipeline_bus_handler):
11557         Added typefind helper.
11558         Small preroll fix in the base sink.
11559         Disable typefind code in basesrc.
11560         Crude port of typefindelement.
11561         Fakesrc cleanups.
11562
11563
11564 2005-04-11  Wim Taymans  <wim@fluendo.com>
11565
11566         * check/gst/gstbus.c: (gstbus_suite):
11567         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11568         * check/gstcheck.h:
11569           Fix up the timeout so that the test does not fail.
11570
11571 2005-04-06  Wim Taymans  <wim@fluendo.com>
11572
11573         * gst/base/README:
11574         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11575         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11576         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11577         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11578         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11579         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11580         (gst_basesrc_stop), (gst_basesrc_activate),
11581         (gst_basesrc_change_state), (basesrc_find_peek),
11582         (basesrc_find_suggest), (gst_basesrc_type_find):
11583         * gst/base/gstbasesrc.h:
11584         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11585         (gst_filesrc_class_init), (gst_filesrc_init),
11586         (gst_filesrc_finalize), (gst_filesrc_set_location),
11587         (gst_filesrc_set_property), (gst_filesrc_get_property),
11588         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11589         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11590         (gst_filesrc_create_read), (gst_filesrc_create),
11591         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11592         * gst/elements/gstfilesrc.h:
11593         * gst/gstelement.c: (gst_element_get_state_func),
11594         (gst_element_lost_state), (gst_element_pads_activate):
11595         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11596         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11597         (gst_pad_pull_range):
11598         * gst/gstpad.h:
11599         More work on the generic source base class, implement seeking,
11600         query.
11601         Make filesrc extend the base source class.
11602         Added gst_pad_set_checkgetrange_function to GstPad.
11603
11604 2005-04-06  Andy Wingo  <wingo@pobox.com>
11605
11606         * pkgconfig/gstreamer-base.pc.in:
11607         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11608
11609         * pkgconfig/Makefile.am:
11610         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11611
11612 2005-04-04  Wim Taymans  <wim@fluendo.com>
11613
11614         * gst/base/Makefile.am:
11615         * gst/base/README:
11616         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11617         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11618         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11619         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11620         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11621         (gst_basesrc_base_init), (gst_basesrc_class_init),
11622         (gst_basesrc_init), (gst_basesrc_get_formats),
11623         (gst_basesrc_get_query_types), (gst_basesrc_query),
11624         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11625         (gst_basesrc_set_property), (gst_basesrc_get_property),
11626         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11627         (gst_basesrc_loop), (gst_basesrc_activate),
11628         (gst_basesrc_change_state):
11629         * gst/base/gstbasesrc.h:
11630         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11631         (gst_fakesrc_class_init), (gst_fakesrc_init),
11632         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11633         (gst_fakesrc_get_property), (gst_fakesrc_create):
11634         * gst/elements/gstfakesrc.h:
11635         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11636         (gst_filesrc_open_file), (gst_filesrc_loop),
11637         (gst_filesrc_activate), (filesrc_find_peek),
11638         (gst_filesrc_type_find):
11639         Made base source class, make fakesrc extend it.
11640         Add comments to basesink class.
11641         Some filesrc cleanup.
11642
11643 2005-03-31  David Schleef  <ds@schleef.org>
11644
11645         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11646         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11647         expected to link against libgstreamer.
11648         * gst/base/Makefile.am: link against libgstreamer
11649         * gst/elements/Makefile.am: same
11650
11651 2005-03-31  Andy Wingo  <wingo@pobox.com>
11652
11653         * tests/instantiate/Makefile.am:
11654         * tests/instantiate/caps.c: Add test to test speed of caps copy
11655         and free.
11656
11657         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11658         GMemChunk to be fair.
11659
11660         * gst/gsttrashstack.h: Remove warning about using the fallback
11661         trash stack implementation, it's still faster than malloc.
11662
11663 2005-03-30  Andy Wingo  <wingo@pobox.com>
11664
11665         * tests/complexity.c: Add a copyright.
11666
11667 2005-03-31  Wim Taymans  <wim@fluendo.com>
11668
11669         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11670         (gst_base_transform_class_init), (gst_base_transform_init),
11671         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11672         (gst_base_transform_get_property),
11673         (gst_base_transform_sink_activate),
11674         (gst_base_transform_src_activate),
11675         (gst_base_transform_change_state):
11676         * gst/base/gstbasetransform.h:
11677         * gst/elements/gstidentity.c: (gst_identity_class_init),
11678         (gst_identity_event), (gst_identity_check_perfect),
11679         (gst_identity_transform), (gst_identity_start),
11680         (gst_identity_stop):
11681         Added start/stop methods to transform base class so subclasses 
11682         don't need to deal with state changes even.
11683
11684 2005-03-31  Wim Taymans  <wim@fluendo.com>
11685
11686         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11687         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11688         * gst/gstevent.h:
11689         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11690         (gst_pad_pull_range):
11691         Added rate to the discont event to prepare for variable speed
11692         and reverse playback.
11693
11694 2005-03-29  David Schleef  <ds@schleef.org>
11695
11696         * configure.ac:
11697         * testsuite/trigger/Makefile.am:
11698         * testsuite/trigger/trigger.c: A little example program to show
11699         how trigger-based elements can work.
11700
11701 2005-03-29  Wim Taymans  <wim@fluendo.com>
11702
11703         * gst/base/Makefile.am:
11704         * gst/base/README:
11705         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11706         (gst_basesink_base_init), (gst_basesink_class_init),
11707         (gst_basesink_pad_getcaps), (gst_basesink_init),
11708         (gst_basesink_activate), (gst_basesink_change_state):
11709         * gst/base/gstbasesink.h:
11710         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11711         (gst_base_transform_base_init), (gst_base_transform_finalize),
11712         (gst_base_transform_class_init), (gst_base_transform_init),
11713         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11714         (gst_base_transform_event), (gst_base_transform_getrange),
11715         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11716         (gst_base_transform_set_property),
11717         (gst_base_transform_get_property),
11718         (gst_base_transform_sink_activate),
11719         (gst_base_transform_src_activate),
11720         (gst_base_transform_change_state):
11721         * gst/base/gstbasetransform.h:
11722         * gst/elements/gstidentity.c: (gst_identity_finalize),
11723         (gst_identity_class_init), (gst_identity_init),
11724         (gst_identity_event), (gst_identity_check_perfect),
11725         (gst_identity_transform), (gst_identity_set_property),
11726         (gst_identity_get_property), (gst_identity_change_state):
11727         * gst/elements/gstidentity.h:
11728         * gst/gstelement.c: (gst_element_get_state_func),
11729         (gst_element_lost_state), (gst_element_pads_activate):
11730         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11731         (gst_pad_check_pull_range), (gst_pad_pull_range):
11732         * gst/gstpad.h:
11733         Simplify pad activation.
11734         Added function to check if pull_range can be performed.
11735         Error out when pulling inactive or flushing pads.
11736         Removed const from refcounted types as it does not make sense.
11737         Simplify pad templates in basesink
11738         Added base class for simple 1-to-1 transforms.
11739         Make identity subclass the base transform.
11740
11741 2005-03-29  Andy Wingo  <wingo@pobox.com>
11742
11743         * docs/libs/gstreamer-libs-overrides.txt: 
11744         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11745         really don't understand what's going on, but like whatever. I want
11746         green buildbot!
11747
11748         * docs/gst/Makefile.am:
11749         * docs/libs/Makefile.am: Dist the overrides files.
11750
11751         * check/Makefile.am (clean-local): Remove .libs directories.
11752
11753         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11754         elements to EXTRA_DIST, so po/ files are happy.
11755
11756         * po/POTFILES.in: Er, remove it here.
11757
11758         * po/POTFILES: Remove gstspider.c.
11759
11760         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11761
11762         * docs/libs/gstreamer-libs-docs.sgml: 
11763         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11764         bytestream.
11765
11766         * tests/complexity.c (main): Set the length of the preroll queue
11767         on the sinks to prevent a lockup.
11768
11769         * libs/gst/dataprotocol/Makefile.am: 
11770         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11771         the same as the one in check/gst-libs/gdp.c.
11772
11773         * po/, docs/gst/: Commit automatic changes to docs and po files.
11774
11775         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11776         the versioned libgstbase.
11777
11778         * check/Makefile.am: Depend on an unversioned gst-register, seems
11779         to make autoconf happier.
11780
11781         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11782
11783 2005-03-28  Wim Taymans  <wim@fluendo.com>
11784
11785         * configure.ac:
11786         * docs/design/part-gstelement.txt:
11787         * docs/design/part-negotiation.txt:
11788         * docs/design/part-preroll.txt:
11789         * docs/design/part-scheduling.txt:
11790         * docs/design/part-states.txt:
11791         * gst/Makefile.am:
11792         * gst/base/Makefile.am:
11793         * gst/base/README:
11794         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11795         (gst_basesink_base_init), (gst_basesink_class_init),
11796         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11797         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11798         (gst_basesink_set_pad_functions),
11799         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11800         (gst_basesink_set_property), (gst_basesink_get_property),
11801         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11802         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11803         (gst_basesink_preroll_queue_push),
11804         (gst_basesink_preroll_queue_empty),
11805         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11806         (gst_basesink_event), (gst_basesink_get_times),
11807         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11808         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11809         (gst_basesink_loop), (gst_basesink_activate),
11810         (gst_basesink_change_state):
11811         * gst/base/gstbasesink.h:
11812         * gst/elements/Makefile.am:
11813         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11814         (gst_fakesink_class_init), (gst_fakesink_init),
11815         (gst_fakesink_set_property), (gst_fakesink_get_property),
11816         (gst_fakesink_get_times), (gst_fakesink_event),
11817         (gst_fakesink_preroll), (gst_fakesink_render),
11818         (gst_fakesink_change_state):
11819         * gst/elements/gstfakesink.h:
11820         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11821         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11822         * gst/gstelement.c: (gst_element_add_pad),
11823         (gst_element_get_state_func), (gst_element_abort_state),
11824         (gst_element_commit_state), (gst_element_lost_state),
11825         (gst_element_set_state), (gst_element_pads_activate):
11826         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11827         * gst/gstpipeline.c: (gst_pipeline_send_event),
11828         (gst_pipeline_change_state):
11829         Added state change code.
11830         Added/updated docs.
11831         Added sink base class, make fakesink extend the base class.
11832         Small cleanups in GstPipeline.
11833
11834 2005-03-26  David Schleef  <ds@schleef.org>
11835
11836         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11837         is broken and should be implemented in a different library.
11838         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11839         * gst/gst.h: remove gstcpu.h
11840         * gst/gstcpu.c: remove
11841         * gst/gstcpu.h: remove
11842         * gst/Makefile.am.future: Remove this file.  It's ancient.
11843
11844 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11845
11846         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11847         (gst_bin_send_event):
11848           Add default event/set_manager handlers. The set_manager handler
11849           takes care that the manager is distributed over kids that were
11850           already in the bin before the manager was set. The event handler
11851           is a utility virtual function that sends the event over all sinks,
11852           so that gst_element_send_event (bin, event); has the expected
11853           behaviour.
11854         * gst/gstpad.c: (gst_pad_event_default):
11855           Re-install default event handling for discontinuities, so that
11856           seeking works without requiring hacks in applications or extra
11857           code in sinks.
11858         * gst/gstpipeline.c: (gst_pipeline_class_init),
11859         (gst_pipeline_send_event):
11860           Half hack, half utility: set a pipeline to PAUSED for seek events,
11861           since that is the only way we can guarantee a/v sync. Means that
11862           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11863           and it "just works".
11864
11865 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11866
11867         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11868           Lock/unlock mismatch.
11869
11870 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11871
11872         * docs/faq/gst-uninstalled:
11873           add gst-plugins-base
11874         * docs/gst/Makefile.am:
11875           don't error out until docs are fixed
11876         * docs/gst/gstreamer.types:
11877           remove thread
11878
11879 2005-03-22  Wim Taymans  <wim@fluendo.com>
11880
11881         * check/Makefile.am:
11882         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11883         * gst/gststructure.c: (gst_structure_set_valist),
11884         (gst_structure_copy_conditional):
11885         Activated more tests.
11886         Added message test.
11887         Added G_TYPE_POINTER to GstStructure.
11888         
11889
11890 2005-03-22  Wim Taymans  <wim@fluendo.com>
11891
11892         * docs/design/part-TODO.txt:
11893         * docs/design/part-events.txt:
11894         * docs/design/part-gstbin.txt:
11895         * docs/design/part-gstbus.txt:
11896         * docs/design/part-gstpipeline.txt:
11897         * docs/design/part-messages.txt:
11898         * gst/gstbus.c:
11899         * gst/gstmessage.c:
11900         Docs updates
11901
11902 2005-03-21  Wim Taymans  <wim@fluendo.com>
11903
11904         * gst/gstbus.c: (gst_bus_post):
11905         Fix copy-and-paste error.
11906
11907 2005-03-21  Wim Taymans  <wim@fluendo.com>
11908
11909         * check/Makefile.am:
11910         * gst/Makefile.am:
11911         * gst/elements/Makefile.am:
11912         * gst/elements/gstelements.c:
11913         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11914         (gst_fakesink_event), (gst_fakesink_chain):
11915         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11916         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11917         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11918         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11919         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11920         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11921         (gst_fakesrc_loop), (gst_fakesrc_activate),
11922         (gst_fakesrc_change_state):
11923         * gst/elements/gstfakesrc.h:
11924         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11925         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11926         (gst_filesrc_open_file), (gst_filesrc_loop),
11927         (gst_filesrc_activate), (gst_filesrc_change_state),
11928         (filesrc_find_peek), (filesrc_find_suggest),
11929         (gst_filesrc_type_find):
11930         * gst/elements/gstidentity.c: (gst_identity_finalize),
11931         (gst_identity_class_init), (gst_identity_init),
11932         (gst_identity_proxy_getcaps), (identity_queue_push),
11933         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11934         (gst_identity_getrange), (gst_identity_chain),
11935         (gst_identity_sink_loop), (gst_identity_src_loop),
11936         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11937         (gst_identity_set_property), (gst_identity_get_property),
11938         (gst_identity_change_state):
11939         * gst/elements/gstidentity.h:
11940         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11941         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11942         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11943         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11944         (gst_tee_sink_activate):
11945         * gst/elements/gsttee.h:
11946         * gst/gst.c: (gst_register_core_elements), (init_post):
11947         * gst/gst.h:
11948         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11949         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11950         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11951         (gst_bin_change_state):
11952         * gst/gstbin.h:
11953         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11954         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11955         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11956         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11957         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11958         (bus_watch_callback), (bus_watch_destroy),
11959         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11960         (poll_timeout), (gst_bus_poll):
11961         * gst/gstbus.h:
11962         * gst/gstcaps.h:
11963         * gst/gstdata.h:
11964         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11965         (gst_element_post_message), (gst_element_message_full),
11966         (gst_element_get_state_func), (gst_element_get_state),
11967         (gst_element_abort_state), (gst_element_commit_state),
11968         (gst_element_lost_state), (gst_element_set_state),
11969         (gst_element_pads_activate), (gst_element_change_state),
11970         (gst_element_dispose), (gst_element_set_manager_func),
11971         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11972         (gst_element_set_manager), (gst_element_get_manager),
11973         (gst_element_set_bus), (gst_element_get_bus),
11974         (gst_element_set_scheduler), (gst_element_get_scheduler):
11975         * gst/gstelement.h:
11976         * gst/gstevent.c: (gst_event_new_segment_seek),
11977         (gst_event_new_flush):
11978         * gst/gstevent.h:
11979         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11980         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11981         (gst_message_new_eos), (gst_message_new_error),
11982         (gst_message_new_warning), (gst_message_new_tag),
11983         (gst_message_new_state_changed), (gst_message_new_application),
11984         (gst_message_get_structure), (gst_message_parse_tag),
11985         (gst_message_parse_state_changed), (gst_message_parse_error),
11986         (gst_message_parse_warning):
11987         * gst/gstmessage.h:
11988         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11989         (gst_real_pad_set_property), (gst_pad_set_active),
11990         (gst_pad_is_active), (gst_pad_set_blocked_async),
11991         (gst_pad_set_blocked), (gst_pad_is_blocked),
11992         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11993         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11994         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11995         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11996         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11997         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11998         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11999         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12000         (gst_pad_set_caps), (gst_pad_configure_sink),
12001         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12002         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12003         (gst_real_pad_dispose), (gst_real_pad_finalize),
12004         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12005         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12006         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12007         * gst/gstpad.h:
12008         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12009         (pipeline_bus_handler), (gst_pipeline_change_state),
12010         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12011         * gst/gstpipeline.h:
12012         * gst/gstprobe.h:
12013         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12014         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12015         (gst_queue_link_src), (gst_queue_bufferalloc),
12016         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12017         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12018         (gst_queue_loop), (gst_queue_handle_src_event),
12019         (gst_queue_handle_src_query), (gst_queue_src_activate),
12020         (gst_queue_change_state):
12021         * gst/gstqueue.h:
12022         * gst/gstscheduler.c: (gst_scheduler_init),
12023         (gst_scheduler_dispose), (gst_scheduler_create_task),
12024         (gst_scheduler_factory_create):
12025         * gst/gstscheduler.h:
12026         * gst/gststructure.c: (gst_structure_get_type),
12027         (gst_structure_copy_conditional):
12028         * gst/gststructure.h:
12029         * gst/gsttaginterface.h:
12030         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12031         (gst_task_init), (gst_task_dispose), (gst_task_create),
12032         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12033         (gst_task_pause):
12034         * gst/gsttask.h:
12035         * gst/gstthread.c:
12036         * gst/gstthread.h:
12037         * gst/gsttypes.h:
12038         * gst/schedulers/Makefile.am:
12039         * gst/schedulers/cothreads_compat.h:
12040         * gst/schedulers/entryscheduler.c:
12041         * gst/schedulers/faircothreads.c:
12042         * gst/schedulers/faircothreads.h:
12043         * gst/schedulers/fairscheduler.c:
12044         * gst/schedulers/gstbasicscheduler.c:
12045         * gst/schedulers/gstoptimalscheduler.c:
12046         * gst/schedulers/gthread-cothreads.h:
12047         * gst/schedulers/threadscheduler.c:
12048         (gst_thread_scheduler_task_get_type),
12049         (gst_thread_scheduler_task_class_init),
12050         (gst_thread_scheduler_task_init),
12051         (gst_thread_scheduler_task_start),
12052         (gst_thread_scheduler_task_stop),
12053         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12054         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12055         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12056         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12057         (plugin_init):
12058         * libs/gst/Makefile.am:
12059         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12060         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12061         (gst_file_pad_parent_set):
12062         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12063         (gst_dp_event_from_packet):
12064         * tests/complexity.c: (main):
12065         * tests/mass_elements.c: (main):
12066         * testsuite/states/locked.c: (message_received), (main):
12067         * testsuite/states/parent.c: (main):
12068         * tools/gst-inspect.c: (print_element_flag_info),
12069         (print_implementation_info), (print_pad_info):
12070         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12071         (main):
12072         * tools/gst-md5sum.c: (event_loop), (main):
12073         * tools/gst-typefind.c: (main):
12074         * tools/gst-xmlinspect.c: (print_element_info):
12075         Next big merge.
12076         Added GstBus for mainloop integration.
12077         Added GstMessage for sending notifications on the bus.
12078         Added GstTask as an abstraction for pipeline entry points.
12079         Removed GstThread.
12080         Removed Schedulers.
12081         Simplified GstQueue for multithreaded core.
12082         Made _link threadsafe, removed old capsnego.
12083         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12084         Added pad blocking functions.
12085         Reworked scheduling functions in GstPad to prepare for
12086         scheduling updates soon.
12087         Moved events out of data stream.
12088         Simplified GstEvent types.
12089         Added return values to push/pull.
12090         Removed clocking from GstElement.
12091         Added prototypes for state change function for next merge.
12092         Removed iterate from bins and state change management.
12093         Fixed some elements, disabled others for now.
12094         Fixed -inspect and -launch.
12095         Added check for GstBus.
12096
12097 2005-03-10  Wim Taymans  <wim@fluendo.com>
12098
12099         * docs/design/part-MT-refcounting.txt:
12100         * docs/design/part-clocks.txt:
12101         * docs/design/part-gstelement.txt:
12102         * docs/design/part-gstobject.txt:
12103         * docs/design/part-standards.txt:
12104         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12105         (gst_bin_remove_func), (gst_bin_remove):
12106         * gst/gstbin.h:
12107         * gst/gstbuffer.c:
12108         * gst/gstcaps.h:
12109         * testsuite/clock/clock1.c: (main):
12110         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12111         (main):
12112         * testsuite/dlopen/loadgst.c: (do_test):
12113         * testsuite/refcounting/bin.c: (add_remove_test1),
12114         (add_remove_test2), (main):
12115         * testsuite/refcounting/element.c: (main):
12116         * testsuite/refcounting/element_pad.c: (main):
12117         * testsuite/refcounting/pad.c: (main):
12118         * tools/gst-launch.c: (sigint_handler_sighandler):
12119         * tools/gst-typefind.c: (main):
12120         Doc updates.
12121         Added doc about clock.
12122         removed gst_bin_iterate_recurse_up(), marked methods
12123         for removal.
12124         Fix more testsuites.
12125
12126 2005-03-09  Wim Taymans  <wim@fluendo.com>
12127
12128         * gst/gstpad.c: (gst_pad_get_direction),
12129         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12130         (gst_pad_collect_valist):
12131         * testsuite/bins/interface.c: (main):
12132         * testsuite/caps/audioscale.c: (test_caps):
12133         * testsuite/caps/caps.c: (test1), (test2), (test3):
12134         * testsuite/caps/deserialize.c: (main):
12135         * testsuite/caps/enumcaps.c: (main):
12136         * testsuite/caps/filtercaps.c: (main):
12137         * testsuite/caps/intersect2.c: (main):
12138         * testsuite/caps/random.c: (main):
12139         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12140         * testsuite/caps/sets.c: (check_caps):
12141         * testsuite/caps/simplify.c: (check_caps), (main):
12142         * testsuite/caps/subtract.c: (check_caps):
12143         Fix _pad_get_direction wrt ghostpads.
12144         Fix caps testsuite.
12145
12146 2005-03-09  Wim Taymans  <wim@fluendo.com>
12147
12148         * check/Makefile.am:
12149         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12150         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12151         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12152         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12153         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12154         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12155         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12156         (bin_element_is_sink), (gst_bin_iterate_sinks),
12157         (gst_bin_iterate_all_by_interface):
12158         * gst/gstbin.h:
12159         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12160         (gst_element_change_state), (gst_element_dispose),
12161         (gst_element_finalize), (gst_element_set_loop_function):
12162         * gst/gstelement.h:
12163         * gst/gstiterator.c: (find_custom_fold_func):
12164         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12165         (gst_pad_collectv), (gst_pad_collect_valist),
12166         (gst_pad_template_new):
12167         * gst/gstpipeline.c: (gst_pipeline_class_init),
12168         (gst_pipeline_dispose), (gst_pipeline_set_property),
12169         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12170         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12171         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12172         * gst/gstutils.h:
12173         * gst/schedulers/entryscheduler.c:
12174         * gst/schedulers/gstbasicscheduler.c:
12175         (gst_basic_scheduler_cothreaded_chain),
12176         (gst_basic_scheduler_chain_add_element):
12177         * testsuite/bins/interface.c: (main):
12178         Added GstBin test.
12179         Added GstSystemClock test.
12180         Implemented clock distribution code in GstBin.
12181         Implemented iterate sinks method for future use.
12182         Rearranged gstelement.h
12183         Fix GstIterator comparison bug.
12184         Moved some code to GstPipeline, mostly clocking related.
12185
12186 2005-03-09  Wim Taymans  <wim@fluendo.com>
12187
12188         * configure.ac:
12189         * gst/gst_private.h:
12190         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12191         (gst_bin_remove_func), (gst_bin_remove),
12192         (gst_bin_get_by_name_recurse_up):
12193         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12194         (gst_clock_id_compare_func), (gst_clock_id_wait),
12195         (gst_clock_id_wait_async), (gst_clock_init),
12196         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12197         * gst/gstelement.h:
12198         * gst/gstinfo.c: (_gst_debug_init):
12199         * gst/gstobject.h:
12200         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12201         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12202         * gst/gstpad.h:
12203         Bump version number, we're now 0.9.0
12204         Add future debugging category.
12205         Fix NULL _unref() in _get_by_name_recurse_up
12206         Rearrange gstpad.h.
12207         Update some docs.
12208
12209 2005-03-08  Wim Taymans  <wim@fluendo.com>
12210
12211         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12212         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12213         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12214         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12215         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12216         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12217         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12218         * gst/elements/gstidentity.c: (gst_identity_class_init):
12219         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12220         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12221         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12222         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12223         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12224         (gst_tee_link):
12225         * gst/gstelement.c: (gst_element_class_init),
12226         (gst_element_base_class_init), (gst_element_init),
12227         (gst_element_get_random_pad), (gst_element_wait_state_change),
12228         (gst_element_change_state), (gst_element_dispose),
12229         (gst_element_finalize), (gst_element_set_loop_function):
12230         * gst/gstelement.h:
12231         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12232         * gst/gstthread.c: (gst_thread_class_init),
12233         (gst_thread_release_children_locks), (gst_thread_change_state):
12234         * gst/schedulers/gstbasicscheduler.c:
12235         (gst_basic_scheduler_loopfunc_wrapper),
12236         (gst_basic_scheduler_chain_wrapper),
12237         (gst_basic_scheduler_src_wrapper),
12238         (gst_basic_scheduler_remove_element):
12239         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12240         Remove threadsafe properties. Fix elements because GObject
12241         complains when installing a property before declaring a
12242         set/get_property handler.
12243         Rearrange gstelement.h file, use STATE macros for state locks.
12244         Free mutexes in the finalize method instead of dispose.
12245
12246 2005-03-08  Wim Taymans  <wim@fluendo.com>
12247
12248         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12249         * gst/gstthread.c: (gst_thread_release_children_locks):
12250         Added parentage check.
12251         Fix build og GstThread again.
12252
12253 2005-03-08  Wim Taymans  <wim@fluendo.com>
12254
12255         * docs/design/part-MT-refcounting.txt:
12256         * docs/design/part-conventions.txt:
12257         * docs/design/part-gstobject.txt:
12258         * docs/design/part-relations.txt:
12259         * docs/design/part-standards.txt:
12260         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12261         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12262         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12263         (gst_bin_iterate_all_by_interface):
12264         * gst/gstbuffer.h:
12265         * gst/gstclock.h:
12266         * gst/gstelement.c: (gst_element_class_init),
12267         (gst_element_change_state), (gst_element_set_loop_function):
12268         * gst/gstelement.h:
12269         * gst/gstiterator.c:
12270         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12271         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12272         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12273         (gst_object_set_parent), (gst_object_unparent),
12274         (gst_object_check_uniqueness):
12275         * gst/gstobject.h:
12276         Docs updates, clean up some headers.
12277
12278 2005-03-07  Wim Taymans  <wim@fluendo.com>
12279
12280         * check/.cvsignore:
12281         * check/Makefile.am:
12282         * check/gst-libs/.cvsignore:
12283         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12284         * check/gst/.cvsignore:
12285         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12286         (START_TEST), (gstbus_suite), (main):
12287         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12288         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12289         (gst_data_suite), (main):
12290         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12291         (add_fold_func), (gstiterator_suite), (main):
12292         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12293         (thread_name_object), (thread_name_object_default),
12294         (gst_object_name_compare), (gst_object_suite), (main):
12295         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12296         (gst_pad_suite), (main):
12297         * check/gstcheck.c: (gst_check_log_message_func),
12298         (gst_check_log_critical_func), (gst_check_init):
12299         * check/gstcheck.h:
12300         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12301         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12302         Added checks.
12303
12304 2005-03-07  Wim Taymans  <wim@fluendo.com>
12305
12306         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12307         (gst_list_iterator_next), (gst_list_iterator_resync),
12308         (gst_list_iterator_free), (gst_iterator_new_list),
12309         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12310         (gst_iterator_free), (gst_iterator_push), (filter_next),
12311         (filter_resync), (filter_uninit), (filter_free),
12312         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12313         (gst_iterator_foreach), (find_custom_fold_func),
12314         (gst_iterator_find_custom):
12315         * gst/gstiterator.h:
12316         Added missing files.
12317
12318 2005-03-07  Wim Taymans  <wim@fluendo.com>
12319
12320         * Makefile.am:
12321         * configure.ac:
12322         * docs/design/part-MT-refcounting.txt:
12323         * docs/design/part-conventions.txt:
12324         * docs/design/part-gstobject.txt:
12325         * docs/design/part-relations.txt:
12326         * examples/mixer/mixer.c: (main):
12327         * examples/thread/thread.c: (eos), (main):
12328         * gst/Makefile.am:
12329         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12330         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12331         (gst_spider_plug_from_srcpad):
12332         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12333         (gst_spider_identity_change_state),
12334         (gst_spider_identity_sink_loop_type_finding):
12335         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12336         * gst/elements/gstidentity.c: (gst_identity_init):
12337         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12338         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12339         * gst/elements/gsttypefindelement.c: (free_entry):
12340         * gst/gst.c:
12341         * gst/gst.h:
12342         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12343         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12344         (gst_bin_set_index), (gst_bin_set_element_sched),
12345         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12346         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12347         (gst_bin_iterate_elements), (iterate_child_recurse),
12348         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12349         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12350         (compare_interface), (gst_bin_get_by_interface),
12351         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12352         * gst/gstbin.h:
12353         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12354         (gst_buffer_default_free), (gst_buffer_default_copy),
12355         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12356         (gst_buffer_create_sub):
12357         * gst/gstbuffer.h:
12358         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12359         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12360         (gst_caps_unref), (gst_static_caps_get),
12361         (gst_caps_remove_and_get_structure), (gst_caps_append),
12362         (gst_caps_append_structure), (gst_caps_remove_structure),
12363         (gst_caps_copy_nth), (gst_caps_set_simple),
12364         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12365         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12366         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12367         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12368         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12369         (gst_caps_structure_figure_out_union),
12370         (gst_caps_switch_structures), (gst_caps_do_simplify),
12371         (gst_caps_replace), (gst_caps_from_string),
12372         (gst_caps_copy_conditional):
12373         * gst/gstcaps.h:
12374         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12375         (_gst_clock_id_free), (gst_clock_id_unref),
12376         (gst_clock_id_compare_func), (gst_clock_id_wait),
12377         (gst_clock_id_wait_async), (gst_clock_class_init),
12378         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12379         (gst_clock_get_time), (gst_clock_set_time_adjust),
12380         (gst_clock_set_property), (gst_clock_get_property):
12381         * gst/gstclock.h:
12382         * gst/gstcompat.h:
12383         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12384         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12385         * gst/gstdata.h:
12386         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12387         (gst_element_requires_clock), (gst_element_provides_clock),
12388         (gst_element_set_clock), (gst_element_clock_wait),
12389         (gst_element_wait), (gst_element_set_time_delay),
12390         (gst_element_is_indexable), (gst_element_add_pad),
12391         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12392         (pad_compare_name), (gst_element_get_static_pad),
12393         (gst_element_request_pad), (gst_element_get_request_pad),
12394         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12395         (gst_element_class_get_pad_template_list),
12396         (gst_element_class_get_pad_template), (gst_element_error_func),
12397         (gst_element_get_random_pad), (gst_element_get_event_masks),
12398         (gst_element_send_event), (gst_element_seek),
12399         (gst_element_get_query_types), (gst_element_query),
12400         (gst_element_get_formats), (gst_element_convert),
12401         (gst_element_is_locked_state), (gst_element_set_locked_state),
12402         (gst_element_sync_state_with_parent), (gst_element_change_state),
12403         (gst_element_finalize), (gst_element_yield),
12404         (gst_element_interrupt), (gst_element_set_scheduler),
12405         (gst_element_get_scheduler), (gst_element_set_loop_function):
12406         * gst/gstelement.h:
12407         * gst/gstevent.h:
12408         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12409         (gst_format_get_by_nick), (gst_format_get_details),
12410         (gst_format_iterate_definitions):
12411         * gst/gstformat.h:
12412         * gst/gstindex.c: (gst_index_gtype_resolver):
12413         * gst/gstinfo.c:
12414         * gst/gstinfo.h:
12415         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12416         (gst_mem_chunk_free):
12417         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12418         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12419         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12420         (gst_object_dispatch_properties_changed),
12421         (gst_object_set_name_default), (gst_object_set_name),
12422         (gst_object_get_name), (gst_object_set_name_prefix),
12423         (gst_object_get_name_prefix), (gst_object_set_parent),
12424         (gst_object_get_parent), (gst_object_unparent),
12425         (gst_object_check_uniqueness), (gst_object_save_thyself),
12426         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12427         (gst_object_set_property), (gst_object_get_property),
12428         (gst_object_get_path_string):
12429         * gst/gstobject.h:
12430         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12431         (gst_real_pad_init), (gst_real_pad_get_property),
12432         (gst_pad_custom_new), (gst_pad_get_direction),
12433         (gst_pad_set_active), (gst_pad_is_active),
12434         (gst_pad_set_event_function), (gst_pad_is_linked),
12435         (gst_pad_link_free), (gst_pad_link_intersect),
12436         (gst_pad_link_fixate), (gst_pad_set_caps),
12437         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12438         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12439         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12440         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12441         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12442         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12443         (gst_pad_realize), (gst_pad_get_allowed_caps),
12444         (gst_real_pad_dispose), (gst_real_pad_finalize),
12445         (gst_pad_collectv), (gst_pad_collect_valist),
12446         (gst_pad_template_dispose), (gst_pad_template_new),
12447         (gst_pad_get_internal_links):
12448         * gst/gstpad.h:
12449         * gst/gstpipeline.c: (gst_pipeline_dispose),
12450         (gst_pipeline_change_state):
12451         * gst/gstpipeline.h:
12452         * gst/gstplugin.c:
12453         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12454         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12455         * gst/gstpluginfeature.h:
12456         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12457         * gst/gstquery.c: (_gst_query_type_initialize),
12458         (gst_query_type_register), (gst_query_type_get_by_nick),
12459         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12460         * gst/gstquery.h:
12461         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12462         * gst/gstscheduler.c: (gst_scheduler_add_element),
12463         (gst_scheduler_factory_create):
12464         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12465         (gst_structure_free), (gst_structure_set_name),
12466         (gst_structure_id_set_value), (gst_structure_set_value),
12467         (gst_structure_set_valist), (gst_structure_remove_field),
12468         (gst_structure_remove_fields),
12469         (gst_structure_remove_fields_valist),
12470         (gst_structure_remove_all_fields), (gst_structure_foreach),
12471         (gst_structure_map_in_place),
12472         (gst_caps_structure_fixate_field_nearest_int),
12473         (gst_caps_structure_fixate_field_nearest_double):
12474         * gst/gststructure.h:
12475         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12476         (gst_system_clock_init), (gst_system_clock_dispose),
12477         (gst_system_clock_async_thread),
12478         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12479         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12480         * gst/gstsystemclock.h:
12481         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12482         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12483         * gst/gsttaginterface.c:
12484         * gst/gstthread.c: (gst_thread_dispose),
12485         (gst_thread_release_children_locks), (gst_thread_change_state),
12486         (gst_thread_main_loop):
12487         * gst/gsttrashstack.h:
12488         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12489         * gst/gsttypes.h:
12490         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12491         (gst_element_request_pad), (gst_element_get_pad_from_template),
12492         (gst_element_request_compatible_pad),
12493         (gst_element_get_compatible_pad_filtered),
12494         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12495         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12496         (gst_element_link_many), (gst_element_link),
12497         (gst_element_link_pads), (gst_element_unlink_pads),
12498         (gst_element_unlink_many), (gst_element_unlink),
12499         (gst_pad_can_link_filtered), (gst_pad_can_link),
12500         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12501         (gst_object_default_error), (gst_bin_add_many),
12502         (gst_bin_remove_many), (gst_element_populate_std_props),
12503         (gst_element_class_install_std_props), (gst_buffer_merge),
12504         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12505         (link_fold_func), (gst_pad_proxy_setcaps):
12506         * gst/gstutils.h:
12507         * gst/gstvalue.c: (gst_value_deserialize_string):
12508         * gst/parse/grammar.y:
12509         * gst/schedulers/gstbasicscheduler.c:
12510         (gst_basic_scheduler_cothreaded_chain),
12511         (gst_basic_scheduler_chain_recursive_add),
12512         (gst_basic_scheduler_pad_link):
12513         * gst/schedulers/gstoptimalscheduler.c:
12514         (get_group_schedule_function),
12515         (gst_opt_scheduler_state_transition),
12516         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12517         * libs/gst/bytestream/bytestream.c:
12518         * libs/gst/dataprotocol/dataprotocol.c:
12519         (gst_dp_header_from_buffer):
12520         * po/nb.po:
12521         * po/ru.po:
12522         * tests/threadstate/threadstate2.c: (eos):
12523         * tools/gst-compprep.c: (main):
12524         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12525         (print_pad_info), (print_children_info):
12526         * tools/gst-launch.c: (idle_func), (main):
12527         * tools/gst-md5sum.c: (idle_func), (main):
12528         * tools/gst-xmlinspect.c: (print_element_info):
12529         First THREADED backport attempt, focusing on adding locks and
12530         making sure the API is threadsafe. Needs more work. More docs
12531         follow this week.
12532
12533 2005-02-24  Andy Wingo  <wingo@pobox.com>
12534
12535         * tests/bench-complexity.scm:
12536         * tests/complexity.gnuplot: New files, good for running complexity
12537         benchmarks.
12538
12539         * tests/Makefile.am:
12540         * tests/complexity.c: New test, sets up N elements, at each level
12541         teeing into M streams per element. Eeeenteresting.
12542
12543         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12544         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12545         running bench-mass_elements.scm.
12546
12547         * tests/bench-mass_elements.scm: New script, runs mass_elements
12548         for various numbers of identities, outputting the results to a
12549         file. Requires guile 1.6. Just for testing.
12550
12551 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12552
12553         * gst/schedulers/fairscheduler.c:
12554           compile with debug disabled
12555
12556 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12557
12558         * configure.ac:
12559           hunting season on 0.9 is now OPEN