gst/gstplugin.c: everything causing a plugin not to load should be at least a WARNING
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * gst/gstplugin.c: (gst_plugin_register_func):
4           everything causing a plugin not to load should be at least a WARNING
5
6 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
7
8         * docs/random/ensonic/dparams.txt:
9           some TODOs for the next dev cycle
10         * libs/gst/controller/gstcontroller.c:
11         (gst_controlled_property_set_interpolation_mode),
12         (gst_controlled_property_new):
13         * libs/gst/controller/gstcontroller.h:
14           use base type to assign acccessor functions
15
16 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17
18         * check/Makefile.am:
19         Oops, that should have been top_srcdir
20
21 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
22
23         * check/Makefile.am:
24         * check/elements/fdsrc.c: (GST_START_TEST):
25         Use a cmdline define to specify the location of a file to use for
26         testing, to avoid breaking distcheck.
27
28 2005-11-28  Andy Wingo  <wingo@pobox.com>
29
30         * gst/gstpad.c (fixate_value): Use array functions for arrays.
31
32 2005-11-28  Edward Hervey  <edward@fluendo.com>
33
34         * tools/gst-launch.c: (main):
35         Clarify the output strings, makes it easier to translate.
36         Fixes #322626
37
38 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
39
40         * gst/Makefile.am:
41           don't try and build net if we don't even have <sys/socket.h>
42
43 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
44
45         * check/Makefile.am:
46         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
47         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
48           Add tests for fdsrc seekability
49
50         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
51         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
52         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
53         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
54         * gst/elements/gstfdsrc.h:
55           fdsrc should not be a 'live' source.
56           Implement seeking on seekable fd's.
57
58         * gst/gstquery.c: (gst_query_new_seeking),
59         (gst_query_parse_seeking):
60         * gst/gstquery.h:
61           Implement SEEKING query functions: 
62             *_new_seeking and *_parse_seeking
63
64 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
65
66         * gst/gstelement.c: (gst_element_dispose):
67           don't loop forever
68
69         * gst/gstiterator.c:
70         * gst/gststructure.c:
71           doc fixes
72
73         * libs/gst/controller/gstcontroller.c:
74         (gst_controlled_property_set_interpolation_mode):
75         * libs/gst/controller/gstcontroller.h:
76         * libs/gst/controller/gstinterpolation.c:
77         (interpolate_none_get_enum_value_array):
78           support controlling enums
79
80 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
81
82         * gst/gstvalue.c:
83           Improve documentation for gst_value_union().
84
85         * gst/gstvalue.h:
86           Change return value for union, intersect and subtract functions
87           from gint to gboolean.
88
89 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
90
91         * gst/gstvalue.c: (gst_value_serialize_any_list),
92         (gst_value_transform_any_list_string),
93         (gst_value_deserialize_list), (gst_value_deserialize_array),
94         (gst_value_set_int_range), (gst_value_deserialize_int_range),
95         (gst_value_set_double_range), (gst_value_deserialize_double_range),
96         (gst_value_set_fraction_range_full),
97         (gst_value_deserialize_fraction_range),
98         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
99         (gst_value_deserialize_boolean),
100         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
101         (gst_value_serialize_float), (gst_value_deserialize_float),
102         (gst_string_wrap), (gst_value_deserialize_string),
103         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
104         (gst_value_union_int_range_int_range),
105         (gst_value_intersect_int_range_int_range),
106         (gst_value_intersect_double_range_double_range),
107         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
108         (gst_value_subtract_int_range_int_range),
109         (gst_value_subtract_double_double_range),
110         (gst_value_subtract_double_range_double_range),
111         (gst_value_deserialize_fraction):
112         * gst/gstvalue.h:
113           Use gint, gdouble and gchar in our API instead of int, double and
114           char (and make usage in gstvalue.c more consistent).
115
116 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
117
118         * check/Makefile.am:
119         * libs/gst/controller/Makefile.am:
120         * libs/gst/dataprotocol/Makefile.am:
121           fix up Makefile.am and remove GST_ENABLE_NEW
122
123 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
124
125         * configure.ac:
126         * gst/Makefile.am:
127         * gst/base/Makefile.am:
128         * gst/check/Makefile.am:
129         * gst/elements/Makefile.am:
130         * gst/net/Makefile.am:
131           update LDFLAGS use some more
132
133 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
134
135         * common/m4/gst-doc.m4:
136           Fixes #312589
137
138 2005-11-26  Edward Hervey  <edward@fluendo.com>
139
140         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
141         This shouldn't issue a g_warning since it returns NULL if it
142         couldn't find the plugin, and all functions using this behave
143         properly on a NULL return. Switching to a GST_WARNING.
144
145 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
146
147         * gst/gstbin.c: (gst_bin_handle_message_func):
148         Don't leak clock messages.
149
150 2005-11-25  Wim Taymans  <wim@fluendo.com>
151
152         * gst/gstutils.c: (gst_util_uint64_scale_int64),
153         (gst_util_uint64_scale_int):
154         Optimisations, remove unneeded vars.
155
156 2005-11-25  Wim Taymans  <wim@fluendo.com>
157
158         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
159         Added more checks for the high precision uint64 cases.
160
161         * gst/gstutils.c: (gst_util_uint64_scale_int64),
162         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
163         Implement high precission (guint64 * guint64) / guint64.
164
165 2005-11-24  Wim Taymans  <wim@fluendo.com>
166
167         * gst/base/gstbasesrc.c: (gst_base_src_query):
168         Fix wrong percentage query.
169
170         * gst/gstutils.c: (gst_util_uint64_scale),
171         (gst_util_uint64_scale_int):
172         Add some more common cases that can be handled 
173         efficiently to _scale.
174
175 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
176
177         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
178         (gst_mini_object_suite):
179           don't use check calls from threads; check probably isn't
180           threadsafe and using a lock to make it threadsafe would
181           defeat the purpose of this check
182         * gst/check/gstcheck.c:
183         * gst/check/gstcheck.h:
184           use GST_DEBUG some more
185
186 2005-11-24  Wim Taymans  <wim@fluendo.com>
187
188         * gst/gstutils.c: (gst_util_uint64_scale),
189         (gst_util_uint64_scale_int):
190         Chain trivial case to _scale_int.
191
192 2005-11-24  Wim Taymans  <wim@fluendo.com>
193
194         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
195         Added test for scaling.
196
197         * gst/gstclock.h:
198         Small doc fix.
199
200         * gst/gstutils.c: (gst_util_uint64_scale_int):
201         Implemented high precision scaling code.
202
203 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
204
205         * gst/gstinfo.h:
206           do not crash on pad==NULL
207
208 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
209
210         Patch by: Stefan Kost
211
212         * common/gtk-doc.mak:
213         * docs/gst/Makefile.am:
214         * docs/libs/Makefile.am:
215           Fix distcheck issues for the libraries docs build
216           Closes #319599.
217
218 2005-11-24  Michael Smith <msmith@fluendo.com>
219
220         * docs/manual/basics-helloworld.xml:
221           Fix bug #315027: memory leak in example code in docs.
222
223 2005-11-24  Michael Smith <msmith@fluendo.com>
224
225         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
226           Unlock the PREROLL_LOCK in a failure case.
227
228 2005-11-24  Wim Taymans  <wim@fluendo.com>
229
230         * docs/gst/gstreamer-sections.txt:
231         * gst/base/gstadapter.h:
232         * gst/base/gstbasesink.h:
233         * gst/base/gstbasesrc.h:
234         * gst/base/gstbasetransform.h:
235         * gst/base/gstpushsrc.h:
236         * gst/elements/gstfakesink.h:
237         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
238         * gst/elements/gstfakesrc.h:
239         * gst/elements/gstfilesink.h:
240         * gst/elements/gstfilesrc.h:
241         * gst/gst.c:
242         * gst/gstbin.c:
243         * gst/gstbuffer.c: (_gst_buffer_copy):
244         * gst/gstbus.h:
245         * gst/gstcaps.c:
246         * gst/gstchildproxy.c:
247         * gst/gstclock.c:
248         * gst/gstelement.c:
249         * gst/gstelementfactory.c:
250         * gst/gstelementfactory.h:
251         * gst/gstevent.c:
252         * gst/gstghostpad.h:
253         * gst/gstindex.h:
254         * gst/gstinterface.h:
255         * gst/gstminiobject.c:
256         * gst/gstminiobject.h:
257         * gst/gstpad.c:
258         * gst/gstpad.h:
259         * gst/gstpadtemplate.h:
260         * gst/gstpipeline.h:
261         * gst/gstpluginfeature.h:
262         * gst/gstquery.h:
263         * gst/gstqueue.h:
264         * gst/gsttaglist.c:
265         * gst/gsttaglist.h:
266         * gst/gsttagsetter.c:
267         * gst/gsttagsetter.h:
268         * gst/gsttrace.c:
269         * gst/gsttrace.h:
270         * gst/gsttypefind.h:
271         * gst/gsturi.h:
272         * gst/gstvalue.c:
273         * gst/net/gstnetclientclock.c:
274         * gst/net/gstnetclientclock.h:
275         * gst/net/gstnettimepacket.c:
276         * gst/net/gstnettimeprovider.c:
277         * gst/net/gstnettimeprovider.h:
278         Doc fixes.
279
280 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
281
282         * configure.ac: back to HEAD
283
284 === release 0.9.6 ===
285
286 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
287
288         * configure.ac:
289           releasing 0.9.6, "Always On Time"
290
291 2005-11-23  Wim Taymans  <wim@fluendo.com>
292
293         * docs/gst/gstreamer-sections.txt:
294         * gst/glib-compat.c:
295         * gst/gsttagsetter.c:
296         * gst/gstvalue.c:
297         * gst/net/gstnetclientclock.c:
298         * gst/net/gstnettimepacket.h:
299         Doc updates.
300
301 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
302
303         * docs/faq/using.xml:
304         * docs/libs/tmpl/gstcontrol.sgml:
305         * docs/manual/advanced-dparams.xml:
306         * docs/manual/appendix-checklist.xml:
307         * docs/manual/basics-elements.xml:
308         * docs/pwg/other-source.xml:
309         * docs/random/moving-plugins:
310         * gst/gstpad.c:
311         * tools/gst-launch.1.in:
312           remove mentions of sinesrc
313
314 2005-11-23  Michael Smith <msmith@fluendo.com>
315
316         * docs/gst/gstreamer-sections.txt:
317           Update for new API and API changes.
318         * gst/gstobject.h:
319           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
320         * gst/gstvalue.c:
321           Documentation typo fix.
322         * gst/net/gstnettimepacket.c:
323           Documentation fixes for arguments.
324
325 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
326
327         * gst/gststructure.c: (gst_structure_get_fraction),
328         (gst_structure_parse_value),
329         (gst_structure_fixate_field_nearest_fraction):
330         * gst/gststructure.h:
331         * gst/gstutils.c: (gst_util_uint64_scale_int):
332         * gst/gstutils.h:
333         * scripts/update-funcnames:
334         API Changes. 
335         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
336         Make gst_structure_fixate_field_nearest_fraction take a numerator
337         and denominator argument instead of a GValue
338         add gst_structure_get_fraction helper function.
339
340 2005-11-23  Wim Taymans  <wim@fluendo.com>
341
342         * docs/design/part-TODO.txt:
343         Update TODO.
344
345         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
346         * gst/net/gstnetclientclock.h:
347         Use parent fields for timeout and window_size.
348
349 2005-11-23  Andy Wingo  <wingo@pobox.com>
350
351         * check/net/gstnetclientclock.c (test_functioning): Adjust to
352         rate_num/rate_denom change.
353
354         * gst/net/gstnetclientclock.c
355         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
356         OBJECT_LOCK. Don't call add_observation with the lock.
357
358         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
359         fraction.
360         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
361         rate fraction.
362         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
363         deal with rate as a fraction whose numerator and denominator are
364         GstClockTime values.
365         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
366         master; the other fields are protected by the SLAVE_LOCK.
367         (do_linear_regression): Note that this must be called with the
368         SLAVE_LOCK.
369         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
370         OBJECT_LOCK. Call set_calibration instead of touching the
371         variables directly.
372         (gst_clock_set_property, gst_clock_get_property): Protect
373         master/slave parameters with the SLAVE_LOCK.
374
375         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
376         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
377         note that all of the instance variables that add_observation and
378         the set_master functions use are protected by that lock and not
379         the OBJECT_LOCK.
380         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
381
382         * gst/gstclock.c (gst_clock_add_observation): No longer requires
383         the caller to take the object lock.
384
385 2005-11-23  Wim Taymans  <wim@fluendo.com>
386
387         * gst/gsterror.c: (_gst_core_errors_init):
388         * gst/gsterror.h:
389         Add error for clock stuff.
390
391         * gst/gstpipeline.c: (gst_pipeline_change_state),
392         (gst_pipeline_set_clock):
393         Post clock error when clock cannot be used in a pipeline.
394
395 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
396
397         * docs/gst/gstreamer-sections.txt:
398           make two symbols from gstinfo private for the docs
399         * gst/base/gstcollectpads.h:
400         * gst/gstutils.c:
401           fix doc typos, update docs
402
403 2005-11-22  Wim Taymans  <wim@fluendo.com>
404
405         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
406         (gst_base_sink_wait), (gst_base_sink_do_sync),
407         (gst_base_sink_handle_event):
408         * gst/base/gstbasesink.h:
409         No need to store the clock, the parent element class already
410         has it.
411
412         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
413         Updates for clock_set returning a gboolean
414
415         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
416         (gst_clock_id_wait_async), (gst_clock_class_init),
417         (gst_clock_init), (gst_clock_finalize),
418         (gst_clock_get_internal_time), (gst_clock_get_time),
419         (gst_clock_slave_callback), (gst_clock_set_master),
420         (gst_clock_get_master), (do_linear_regression),
421         (gst_clock_add_observation), (gst_clock_set_property),
422         (gst_clock_get_property):
423         * gst/gstclock.h:
424         Implement master/slave. When setting a clock as a slave, a
425         periodic timeout is scheduled to sample master and slave times.
426         Then the slave clock is recalibrated to match offset and rate
427         of the master clock.
428         Update logging a bit.
429         Add flag so that a clock can state that is cannot be slaved to
430         another clock.
431
432         * gst/gstelement.c: (gst_element_set_clock):
433         * gst/gstelement.h:
434         The set clock returns a gboolean for when an element cannot
435         deal with the selected clock in the pipeline. 
436
437         * gst/gstpipeline.c: (gst_pipeline_change_state),
438         (gst_pipeline_set_clock):
439         * gst/gstpipeline.h:
440         Handle the case where the selected clock cannot be set on
441         the pipeline.
442
443         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
444         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
445         (gst_net_client_clock_set_property),
446         (gst_net_client_clock_get_property),
447         (gst_net_client_clock_observe_times):
448         * gst/net/gstnetclientclock.h:
449         Use regression code in GstClock parent, remove duplicated
450         functionality.
451
452 2005-11-22  Michael Smith <msmith@fluendo.com>
453
454         * gst/gstutils.c: (gst_util_clock_time_scale):
455         * gst/gstutils.h:
456         * docs/gst/gstreamer-sections.txt:
457           Rename method to have extra underscore.
458
459 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
460
461         * gst/elements/Makefile.am:
462         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
463         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
464         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
465         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
466         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
467         * gst/elements/gstfakesrc.h:
468         * gst/gstqueue.c: (queue_leaky_get_type):
469           correctly fix GEnumValues so that nick is the short lowercase
470           dashed tag
471         * tools/gst-inspect.c: (print_element_properties_info):
472           also show the nick, since it's useful to use from parse_launch
473           syntax
474           Fixes #322139
475
476 2005-11-22  Michael Smith <msmith@fluendo.com>
477
478         * gst/gstutils.c: (gst_util_clocktime_scale):
479         * gst/gstutils.h:
480         * docs/gst/gstreamer-sections.txt:
481           Add util method for scaling a clocktime by a fraction. Useful 
482           implementation is left as an exercise for the reader.
483
484 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
485
486         * gst/gstvalue.c: (gst_value_collect_fraction_range):
487         If needed, allocate storage in the destination value during
488         collection.
489
490 2005-11-22  Edward Hervey  <edward@fluendo.com>
491
492         * docs/gst/gstreamer-sections.txt:
493         * gst/Makefile.am:
494         * gst/gst.h:
495         * gst/gsturitype.c:
496         * gst/gsturitype.h:
497         * gst/gstutils.c: (gst_util_set_object_arg):
498         * tools/gst-compprep.c: (main):
499         * tools/gst-inspect.c: (print_element_properties_info):
500         Removed GstURI, closes bug #321061
501
502 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
503
504         * check/gst/gststructure.c: (GST_START_TEST):
505         * gst/gststructure.c: (gst_structure_parse_value):
506           Oops, broke automatic string type parsing.
507           Add a test to catch it in future.
508
509 2005-11-22  Andy Wingo  <wingo@pobox.com>
510
511         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
512         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
513         Actually rename the function implementations. Grr.
514
515 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
516
517         * check/gst/capslist.h:
518           Comment test cases
519         * check/gst/gststructure.c: (GST_START_TEST),
520         (gst_structure_suite):
521           Test automatic value type detection in gst_structure_from_string.
522         * gst/gststructure.c: (gst_structure_parse_value):
523           Add fraction as a type we try and guess automatically in
524           caps/structure strings.
525
526 2005-11-22  Andy Wingo  <wingo@pobox.com>
527
528         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
529
530         * gst/gsttagsetter.h:
531         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
532         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
533         (gst_tag_setter_add_tag_valist)
534         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
535         _add_values, _add_valist, and _add_valist_values. Since this is an
536         interface the function suffixes should be more explicit so
537         language binding don't end up with element.add_valist ->
538         gst_tag_setter_add_valist, for example. Fixes #322069.
539
540 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
541
542         * check/gst/gstcaps.c: (GST_START_TEST):
543           Extend caps string tests to check that a caps to string
544           conversion is reversible and produces the same caps.
545
546         * gst/gststructure.c: (gst_structure_value_get_generic_type):
547           Output "fraction" as the generic type fraction range, so caps
548           serialisation and deserialisation works.
549         * check/gst/capslist.h:
550         * gst/gstvalue.c: (gst_value_deserialize_fraction):
551           Support 'MIN' and 'MAX' for deserialising fractions.
552
553 2005-11-22  Andy Wingo  <wingo@pobox.com>
554
555         * gst/gstevent.h (gst_event_new_new_segment)
556         (gst_event_parse_new_segment, gst_event_new_buffer_size)
557         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
558         Renamed from *_newsegment, *_buffersize, *_notarget.
559
560         * scripts/update-funcnames: New script, performs the changes
561         listed above.
562
563 2005-11-22  Wim Taymans  <wim@fluendo.com>
564
565         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
566         Make sure the GstFlowReturn is returned.
567
568         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
569         (gst_bus_add_signal_watch):
570         * gst/gstbus.h:
571         add gst_bus_add_signal_watch_full.
572
573         * gst/gstplugin.c: (gst_plugin_load_file):
574         Small style cleanup.
575
576 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
577
578         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
579           Block the fakesrc srcpad when we send an event, to avoid
580           contention on the stream_lock causing random test failures.
581
582 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
583
584         * check/gst/gstvalue.c: (GST_START_TEST):
585         * gst/gstvalue.c: (gst_value_fraction_subtract):
586           Fix subtraction.
587
588 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
589
590         * gst/gst.h:
591           include "gstchildproxy.h"
592         * gst/gstchildproxy.h:
593         * libs/gst/controller/gstcontroller.h:
594           use G_GNUC_NULL_TERMINATED
595
596 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
597
598         * check/gst/capslist.h:
599         * check/gst/gstcaps.c: (GST_START_TEST):
600         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
601         * gst/gststructure.c: (gst_structure_parse_range),
602         (gst_structure_fixate_field_nearest_fraction):
603         * gst/gststructure.h:
604         * gst/gstvalue.c: (gst_value_init_fraction_range),
605         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
606         (gst_value_collect_fraction_range),
607         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
608         (gst_value_set_fraction_range_full),
609         (gst_value_get_fraction_range_min),
610         (gst_value_get_fraction_range_max),
611         (gst_value_serialize_fraction_range),
612         (gst_value_transform_fraction_range_string),
613         (gst_value_compare_fraction_range),
614         (gst_value_deserialize_fraction_range),
615         (gst_value_intersect_fraction_fraction_range),
616         (gst_value_intersect_fraction_range_fraction_range),
617         (gst_value_subtract_fraction_fraction_range),
618         (gst_value_subtract_fraction_range_fraction),
619         (gst_value_subtract_fraction_range_fraction_range),
620         (gst_value_collect_fraction), (gst_value_fraction_multiply),
621         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
622         (gst_value_transform_string_fraction), (_gst_value_initialize):
623         * gst/gstvalue.h:
624           Implement fraction ranges and extend GstFraction to support
625           arithmetic subtraction, as well as deserialization from integer
626           strings such as "100"
627           Add a testsuite as for int and double range set operations
628
629 2005-11-21  Andy Wingo  <wingo@pobox.com>
630
631         * gst/gsttaglist.h: 
632         * gst/gstcaps.h: 
633         * gst/gststructure.h: Add glib-compat.h.
634
635 2005-11-21  Wim Taymans  <wim@fluendo.com>
636
637         * gst/gstbin.c: (gst_bin_change_state_func):
638         Fix for #321595
639
640 2005-11-21  Wim Taymans  <wim@fluendo.com>
641
642         * gst/gstsegment.h:
643         And add a nice define too.
644
645 2005-11-21  Wim Taymans  <wim@fluendo.com>
646
647         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
648         (gst_segment_new), (gst_segment_free), (gst_segment_init),
649         (gst_segment_set_duration), (gst_segment_set_last_stop),
650         (gst_segment_set_seek), (gst_segment_set_newsegment),
651         (gst_segment_to_stream_time), (gst_segment_to_running_time),
652         (gst_segment_clip):
653         * gst/gstsegment.h:
654         Make binding friendly.
655
656 2005-11-21  Andy Wingo  <wingo@pobox.com>
657
658         * gst/gsttagsetter.h: 
659         * gst/gsttaglist.h: 
660         * gst/gststructure.h: 
661         * gst/gstcaps.h: 
662         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
663         #319940.
664
665         * gst/gsterror.c (_gst_core_errors_init):
666         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
667         category.
668
669         * gst/Makefile.am (gst_headers): Add glib-compat.h.
670         (noinst_HEADERS): noinst the -private.
671
672 2005-11-21  Michael Smith <msmith@fluendo.com>
673
674         * gst/gstplugin.h:
675         * gst/gstregistry.h:
676           Remove unimplemented declarations for which we can see no sensible
677           use.
678
679 2005-11-21  Andy Wingo  <wingo@pobox.com>
680
681         * gst/gst.h: Include glib-compat.h.
682
683         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
684
685         * gst/glib-compat.c: Include the public and the private header.
686
687         * gst/glib-compat-private.h: Copied here from glib-compat.h.
688
689         * gst/gstvalue.c: 
690         * gst/gstpad.c: 
691         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
692
693         * check/gst/gstevent.c (create_custom_events): Check that
694         FLUSH_STOP is serialized.
695
696         * check/elements/identity.c (event_func): 
697         * check/elements/fakesrc.c (event_func): No stream lock, the core
698         takes it.
699
700         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
701         stream lock taking, yay.
702
703         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
704         ensure that core takes the stream lock.
705
706         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
707         lock name change.
708
709         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
710         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
711         it already. For the flush start we do take it though so we get the
712         right preroll state change messages.
713
714         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
715         the stream lock here, the core does it for us.
716
717         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
718         GST_STREAM_GET_LOCK.
719         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
720         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
721         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
722         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
723         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
724         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
725
726         * gst/gstpad.c: Update for stream lock name change.
727
728         * gst/base/gstbasesink.c: Update for preroll lock name change.
729
730 2005-11-21  Wim Taymans  <wim@fluendo.com>
731
732         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
733         (gst_clock_get_master):
734         * gst/gstclock.h:
735         * gst/gstsystemclock.c: (gst_system_clock_init):
736         Convert Clock flags to object flags.
737         Added methods to manage master/slave clocks.
738
739 2005-11-21  Wim Taymans  <wim@fluendo.com>
740
741         * check/gst/gstsegment.c: (GST_START_TEST):
742         * docs/design/part-TODO.txt:
743         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
744         (gst_base_sink_event), (gst_base_sink_do_sync),
745         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
746         (gst_base_sink_query), (gst_base_sink_change_state):
747         * gst/base/gstbasesink.h:
748         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
749         (gst_base_src_default_newsegment),
750         (gst_base_src_configure_segment), (gst_base_src_do_seek),
751         (gst_base_src_get_range), (gst_base_src_loop),
752         (gst_base_src_change_state):
753         * gst/base/gstbasesrc.h:
754         * gst/base/gstbasetransform.c:
755         (gst_base_transform_prepare_output_buf),
756         (gst_base_transform_event), (gst_base_transform_change_state):
757         * gst/base/gstbasetransform.h:
758         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
759         (gst_collect_pads_event):
760         * gst/base/gstcollectpads.h:
761         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
762         (gst_fake_src_create):
763         * gst/elements/gstfakesrc.h:
764         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
765         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
766         (gst_segment_set_last_stop), (gst_segment_set_seek),
767         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
768         (gst_segment_to_running_time), (gst_segment_clip):
769         * gst/gstsegment.h:
770         More segment updates, replace code in plugins with segment
771         helper functions.
772
773 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
774
775         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
776         Don't ignore sscanf results
777
778 2005-11-21  Andy Wingo  <wingo@pobox.com>
779
780         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
781
782         * *.h:
783         * *.c: Ran scripts/update-macros. Oh yes.
784
785         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
786         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
787         GST_GET_LOCK, etc.
788
789         * scripts/update-macros: New script. Run it on your files to
790         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
791         well.
792
793 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
794
795         * docs/gst/Makefile.am:
796         * docs/gst/gstreamer-docs.sgml:
797         * docs/gst/gstreamer-sections.txt:
798         * docs/gst/gstreamer.types:
799         * gst/gstinfo.h:
800           more docs fixes, add new api to the docs
801
802 2005-11-21  Andy Wingo  <wingo@pobox.com>
803
804         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
805         state_broadcast call.
806
807         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
808
809 2005-11-21  Julien MOUTTE  <julien@moutte.net>
810
811         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
812         function calls for arrays.
813
814 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
815
816         * docs/random/ensonic/media-device-daemon.txt:
817           wild idea, can this be done?
818         * docs/gst/gstreamer-sections.txt:
819         * gst/gsterror.h:
820         * gst/gstfilter.c:
821         * gst/gstfilter.h:
822         * gst/gstplugin.h:
823         * gst/gstpluginfeature.c:
824         * gst/gsttrace.c:
825         * gst/gstvalue.c:
826         * gst/gstvalue.h:
827           doc fixes and additions
828
829 2005-11-21  Andy Wingo  <wingo@pobox.com>
830
831         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
832         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
833         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
834         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
835         private to the basesrc implementation.
836
837         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
838         behalf of event function if necessary. It should no longer be
839         necessary to take the stream lock in pad's event functions. Fixes
840         #320299.
841
842 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
843         * docs/gst/gstreamer-sections.txt:
844         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
845         (gst_structure_fixate_field_nearest_double),
846         (gst_structure_fixate_field_boolean):
847         * gst/gststructure.h:
848         * win32/common/libgstreamer.def:
849         * win32/gstreamer.def:
850
851         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
852         (#322027)
853
854 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
855
856         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
857         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
858         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
859         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
860         (gst_fdsrc_uri_handler_init):
861         * gst/elements/gstfdsrc.h:
862           Port fd:// URI handler from 0.8 to fdsrc
863
864 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
865
866         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
867         (gst_value_serialize_fourcc):
868         * gst/gstvalue.h:
869           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
870           consistent with our other format defines (#320324).
871
872 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
873
874         * gst/gstvalue.c: (gst_value_is_fixed):
875           Revert previous commit. Value lists are by definition
876           not fixed, as they are a list of possible values.
877
878 2005-11-21  Andy Wingo  <wingo@pobox.com>
879
880         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
881         during the stable series if we need it. Fixes #319178.
882
883         * gst/gstevent.c (gst_event_new_filler): Removed.
884
885         * check/gst/gstevent.c: Update comment about filler events.
886
887 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
888
889         * gst/gstvalue.c: (gst_value_is_fixed):
890           Should handle both value arrays and value lists.
891
892 2005-11-21  Andy Wingo  <wingo@pobox.com>
893
894         patch by: Alessandro Dessina <alessandro nnva org>
895
896         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
897         functions to access arrays. Fixes #321962.
898
899 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
900
901         * docs/gst/gstreamer.types:
902           gst_collectpads_get_type => gst_collect_pads_get_type.
903           
904         * gst/base/gstbasetransform.c:
905           Remove unused SIGNAL_HANDOFF enum.
906
907 2005-11-21  Andy Wingo  <wingo@pobox.com>
908
909         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
910         the event type (upstream, downstream, serialized). Renamed
911         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
912         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
913         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
914
915         * gst/gstevent.c: Update for new CUSTOM event names.
916
917         * check/gst/gstevent.c: Update check for new CUSTOM event names.
918
919         * gst/gstevent.h:
920         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
921         bug #319392.
922
923 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
924
925         * docs/gst/gstreamer-sections.txt:
926         * win32/common/libgstbase.def:
927         * win32/libgstbase.def:
928         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
929         (gst_collect_pads_class_init), (gst_collect_pads_init),
930         (gst_collect_pads_finalize), (gst_collect_pads_new),
931         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
932         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
933         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
934         (gst_collect_pads_start), (gst_collect_pads_stop),
935         (gst_collect_pads_peek), (gst_collect_pads_pop),
936         (gst_collect_pads_available), (gst_collect_pads_read),
937         (gst_collect_pads_flush), (gst_collect_pads_event),
938         (gst_collect_pads_chain):
939         * gst/base/gstcollectpads.h:
940           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
941           unimplemented functions as unimplemented. Add padding to
942           GstCollectData. (#320766, #320423)
943
944 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
945
946         * gst/gstmessage.c:
947           Improve docs for DURATION message (usage of duration parameter)
948           (#320113)
949
950 2005-11-20  Wim Taymans  <wim@fluendo.com>
951
952         * check/Makefile.am:
953         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
954         (main):
955         * gst/Makefile.am:
956         * gst/gst.h:
957         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
958         (gst_segment_set_seek), (gst_segment_set_newsegment),
959         (gst_segment_to_stream_time), (gst_segment_to_running_time),
960         (gst_segment_clip):
961         * gst/gstsegment.h:
962         Added segment helper structure and methods. Not fully implemented
963         yet.
964         Added segment check.
965
966 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
967
968         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
969           Add a deserialisation test for fractions
970         * examples/metadata/read-metadata.c: (message_loop),
971         (make_pipeline), (main):
972           Fix up metadata reading sample.
973         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
974           Debug format fix
975         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
976           Don't try and fixate empty caps
977         * gst/gst_private.h:
978           Wrap in G_BEGIN_DECLS/G_END_DECLS
979         * gst/gstvalue.c: (gst_value_collect_fraction),
980         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
981         (gst_value_transform_string_fraction),
982         (gst_value_compare_fraction):
983           Add some extra guards to ensure that we don't end up 
984           with an invalid denominator of 0 in a gstfraction and
985           that fractions always get reduced.
986
987 2005-11-20  Wim Taymans  <wim@fluendo.com>
988
989         * docs/gst/gstreamer-sections.txt:
990         * gst/gstbuffer.h:
991         * gst/gstelement.c:
992         * gst/gstformat.c:
993         * gst/gstformat.h:
994         * gst/gstindex.h:
995         * gst/gstquery.c:
996         * gst/gstquery.h:
997         * gst/gstvalue.c:
998         Doc fixes.
999
1000 2005-11-20  Wim Taymans  <wim@fluendo.com>
1001
1002         * docs/design/part-TODO.txt:
1003         * gst/gstcaps.h:
1004         Make a proper enum of the flag.
1005
1006 2005-11-19  Wim Taymans  <wim@fluendo.com>
1007
1008         * docs/design/part-TODO.txt:
1009         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1010         (gst_format_to_quark), (gst_format_register):
1011         * gst/gstformat.h:
1012         * gst/gstquery.c: (_gst_query_initialize),
1013         (gst_query_type_get_name), (gst_query_type_to_quark),
1014         (gst_query_type_register):
1015         * gst/gstquery.h:
1016         Add type to quark and type to string conversions.
1017
1018 2005-11-19  Andy Wingo  <wingo@pobox.com>
1019
1020         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1021         #320097.
1022
1023 2005-11-19  Wim Taymans  <wim@fluendo.com>
1024
1025         * docs/design/part-TODO.txt:
1026         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1027         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1028         (gst_bin_handle_message_func):
1029         * gst/gstbin.h:
1030         Make message handling overridable.
1031
1032 2005-11-19  Andy Wingo  <wingo@pobox.com>
1033
1034         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1035
1036         * gst/gstclock.h:
1037         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1038         be a GstClockTime.
1039         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1040         is a GstClockTime. Fixes #321710.
1041
1042         * gst/gstclock.h (GstClock): Remove offset property. Add
1043         internal_calibration and external_calibration. Fix padding. Pad
1044         also by GstClockTime so we don't run into problems.
1045
1046         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1047         (gst_clock_get_rate_offset): Remove.
1048         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1049
1050         * gst/gstutils.h:
1051         * gst/gstutils.c (g_static_rec_cond_wait)
1052         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1053
1054         * gst/gstbin.c: Remove terrible continue_state prototype.
1055
1056         * gst/gstelement.h (gst_element_continue_state): Make public.
1057
1058         * gst/gstelement.h:
1059         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1060         by continue_state. Fixes #319389.
1061
1062         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1063         Really fixes #168438. However I don't see anywhere where the
1064         filter function is called... stupid GStreamer...
1065         
1066         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1067         don't have a dispose function, so it won't get called when the
1068         object is unreffed, but oh well!
1069
1070         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1071         allows a destroy function to be set so user_data can be freed.
1072         Fixes #168438.
1073         (gst_index_set_filter): Call gst_index_set_filter_full.
1074
1075         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1076
1077         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1078         string should produce an error, given the lack of a way to
1079         represent NULL strings. Fixes #165650.
1080         
1081         * gst/gstvalue.h: 
1082         * gst/gstvalue.c (gst_value_array_append_value) 
1083         (gst_value_array_prepend_value, gst_value_array_get_size) 
1084         (gst_value_array_get_value): New API, copied from
1085         gst_value_list_*, only operates on arrays.
1086         (gst_value_list_append_value, gst_value_list_prepend_value) 
1087         (gst_value_list_concat, gst_value_list_get_size) 
1088         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1089
1090         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1091         init_list, because it works on both.
1092         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1093         (gst_value_copy_list_or_array): Renamed from copy_list.
1094         (gst_value_free_list_or_array): Renamed from free_list.
1095         (gst_value_collect_list_or_array): Renamed from collect_list.
1096         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1097         (gst_value_list_or_array_peek_pointer): Renamed from
1098         list_peek_pointer.
1099         (_gst_value_array_value_table, _gst_value_list_value_table):
1100         Update value table functions.
1101         (gst_value_compare_list_or_array): Renamed from compare_list.
1102
1103         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1104         some constness.
1105
1106         * gst/gsttaglist.c:
1107         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1108         GstTagList*. Fixes #143472.
1109
1110         * gst/gststructure.h: Clarify what the foreach/map functions can
1111         or can't do to their arguments.
1112
1113 2005-11-18  Wim Taymans  <wim@fluendo.com>
1114
1115         * gst/gstclock.c: (gst_clock_set_calibration),
1116         (gst_clock_get_calibration):
1117         Doc and API fixes.
1118         Calibration can be set with internal time equal to current
1119         internal time too.
1120
1121 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1122
1123         * gst/gsterror.c:
1124         * gst/gsterror.h:
1125           document
1126
1127 2005-11-18  Andy Wingo  <wingo@pobox.com>
1128
1129         * configure.ac: 
1130         * pkgconfig/gstreamer-net.pc.in:
1131         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1132         * pkgconfig/Makefile.am: Add net pkgconfig files.
1133
1134 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1135
1136         * gst/gstcaps.c:
1137         * gst/gstghostpad.c:
1138         * gst/gsttrace.c:
1139         * gst/gstvalue.c:
1140         * gst/gstvalue.h:
1141           docs fixes
1142
1143 2005-11-18  Andy Wingo  <wingo@pobox.com>
1144
1145         * gst/net/gstnetclientclock.c: Turn off debugging.
1146
1147         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1148         times connverge somewhat. Can't make a real test.
1149
1150         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1151         integer arithmetic. Return the minimum of the domain, which can be
1152         set as "internal" for gst_clock_set_calibration.
1153         (gst_net_client_clock_observe_times): Call _set_calibration.
1154         (gst_net_client_clock_new): Call _set_calibration instead of
1155         rate_offset.
1156
1157         * check/net/gstnetclientclock.c (test_functioning): Use the right
1158         adjustment api.
1159
1160         * gst/gstclock.h:
1161         * gst/gstclock.c (gst_clock_get_calibration) 
1162         (gst_clock_set_calibration): New functions, obsolete the ones I
1163         added yesterday. Doh. Precision issues mean we have to extrapolate
1164         from a point in the more recent past than 1970.
1165         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1166         obsolete.
1167         (gst_clock_adjust_unlocked): Use the right calibration data.
1168
1169 2005-11-18  Edward Hervey  <edward@fluendo.com>
1170
1171         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1172         Also reset the ->current_* values in READY->PAUSED
1173
1174 2005-11-18  Andy Wingo  <wingo@pobox.com>
1175
1176         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1177         Whoops, check the right fd. Also add some debugging.
1178         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1179         (do_linear_regression): Add a crapload of debugging. Subtract off
1180         the minimum values from the input series to discard unneeded bits.
1181         Use only int arithmetic. There is still double arithmetic when
1182         calculating the intercept that needs fixing. Return boolean to
1183         indicate success; FALSE would mean the domain or range is too
1184         great. Still needs fixes.
1185
1186 2005-11-18  Wim Taymans  <wim@fluendo.com>
1187
1188         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1189         For the current position in stream time, we need to subtract
1190         accumulated time.
1191         
1192         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1193         Release lock before calling the callback function of async
1194         entries.
1195
1196 2005-11-18  Andy Wingo  <wingo@pobox.com>
1197
1198         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1199         Port goes all the way to MAXUINT16.
1200
1201         * gst/net/gstnettimeprovider.c: Make the port range the same as
1202         for the kernel: 0 assigns, otherwise ports are less than
1203         MAXUINT16.
1204
1205         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1206         port change.
1207
1208         * check/net/gstnetclientclock.c (test_functioning): Add the start
1209         of another test. 
1210
1211 2005-11-18  Wim Taymans  <wim@fluendo.com>
1212
1213         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1214         (gst_bin_remove_func), (bin_bus_handler):
1215         * gst/gstbin.h:
1216         Removing a clock provider from a bin, triggers a clock lost message
1217         so that a new clock will be selected.
1218         Adding a clock to a bin triggers a clock provider message.
1219         Make sure we reselect a clock when we received a clock lost message.
1220         Keep a reference to the element that provided the clock.
1221
1222 2005-11-18  Andy Wingo  <wingo@pobox.com>
1223
1224         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1225         the clock initially so it produces values around the base time.
1226         (gst_net_client_clock_class_init): Typo fix.
1227         (gst_net_client_clock_thread): Add note on when the socket gets
1228         closed.
1229
1230 2005-11-17  Wim Taymans  <wim@fluendo.com>
1231
1232         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1233         Free remote and local time arrays.
1234
1235 2005-11-17  Wim Taymans  <wim@fluendo.com>
1236
1237         * gst/net/gstnetclientclock.c: (do_linear_regression),
1238         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1239         Fix compilation, uninitialized vars and a forgotten continue.
1240
1241 2005-11-17  Andy Wingo  <wingo@pobox.com>
1242
1243         * check/Makefile.am (check_PROGRAMS): 
1244         * check/net/gstnetclientclock.c: Add a most minimal test for the
1245         net client clock. More to come later.
1246
1247         * gst/net/gstnet.h: 
1248         * gst/net/Makefile.am: Add netclientclock.
1249
1250         * gst/net/gstnetclientclock.h:
1251         * gst/net/gstnetclientclock.c: New files, implement an untested
1252         GstClock that takes its time from a network time provider.
1253         Implements the algorithm in network-clock.scm.
1254
1255         * tests/network-clock.scm (*window-size*): Rename from
1256         *queue-length*.
1257         * tests/network-clock.scm (network-time): 
1258         * tests/network-clock-utils.scm (q-push): Update callers.
1259
1260 2005-11-17  Wim Taymans  <wim@fluendo.com>
1261
1262         * gst/gstbin.c: (gst_bin_provide_clock_func),
1263         (gst_bin_sort_iterator_new):
1264         And unref the child too..
1265
1266 2005-11-17  Wim Taymans  <wim@fluendo.com>
1267
1268         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1269         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1270         Refactor the sort iterator so it can be used while holding the
1271         LOCK too.
1272         Make clock selection select a clock closest to the source.
1273
1274 2005-11-17  Michael Smith <msmith@fluendo.com>
1275
1276         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1277         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1278         * gst/gstclock.h:
1279           Anonymous structs are a gcc (and some other compilers) extension, so
1280           don't use them. Since this is only for ABI-compatibility, and our
1281           API/ABI freeze is over in a few days, this whole thing will only
1282           last a few days, so don't bother trying to think up a meaningful
1283           name for the struct.
1284
1285 2005-11-17  Andy Wingo  <wingo@pobox.com>
1286
1287         * gst/gstclock.h (GstClock): Add rate and offset properties,
1288         preserving ABI stability. Add rate/offset accessors. Will file bug
1289         for the freeze break.
1290
1291         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1292         and offset, trying to keep precision and avoiding
1293         underflow/overflow.
1294         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1295         functions. Make gst_clock_set_time_adjust obsolete.
1296         (gst_clock_set_time_adjust): Note that this function is obsolete.
1297         Will file bug soon.
1298
1299         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1300         greppable by using GST_PADDING-1+1.
1301
1302 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1303
1304         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1305
1306         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1307           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1308
1309         * gst/gstpadtemplate.h:
1310         * gst/gstpluginfeature.h:
1311           Don't use c++ style comments in headers (#321638).
1312
1313 2005-11-16  Andy Wingo  <wingo@pobox.com>
1314
1315         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1316         buffer.
1317
1318         * check/net/gstnettimeprovider.c: Check to see that the time
1319         provider actually provides times. Works, yo!
1320
1321 2005-11-16  Wim Taymans  <wim@fluendo.com>
1322
1323         * check/Makefile.am:
1324         Enable more tests.
1325
1326         * check/elements/fakesrc.c: (GST_START_TEST):
1327         Set element to NULL before disposing it.
1328
1329 2005-11-16  Andy Wingo  <wingo@pobox.com>
1330
1331         * gst/net/Makefile.am:
1332         * gst/net/gstnet.h:
1333         * gst/net/gstnettimeprovider.c: 
1334         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1335         provider, include it from gstnet.h, and add it to the build.
1336
1337         * gst/net/gstnettimepacket.h: 
1338         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1339         sending and receiving.
1340
1341 2005-11-16  Wim Taymans  <wim@fluendo.com>
1342
1343         * check/Makefile.am:
1344         Enable valgrind check.
1345
1346         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1347         (gst_fake_src_alloc_buffer):
1348         Fix memleak.
1349
1350 2005-11-16  Wim Taymans  <wim@fluendo.com>
1351
1352         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1353         Call parent finalize too.
1354
1355 2005-11-16  Wim Taymans  <wim@fluendo.com>
1356
1357         * check/Makefile.am:
1358         Enable valgrind check that should work fine now.
1359
1360         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1361         * gst/gstqueue.c: (gst_queue_init):
1362         Fix memleaks in pad allocation.
1363
1364 2005-11-16  Andy Wingo  <wingo@pobox.com>
1365
1366         * gst/net/Makefile.am:
1367         * gst/net/gstnet.h: New part of core to hold network elements and
1368         objects. Put in core because it exposes API that applications want
1369         to use. The library is named libgstnet-tempname right now because
1370         of the existing libgstnet in gst-plugins-base. Solution is
1371         probably to rename the one in plugins-base; will file a bug for
1372         the freeze break.
1373
1374         * gst/net/gstnettimeprovider.c: 
1375         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1376         get_time call over the network.
1377
1378         * configure.ac: 
1379         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1380
1381         * check/Makefile.am:
1382         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1383         get additions shortly.
1384
1385 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1386
1387         * gst/gstpad.c: (gst_pad_new_from_static_template):
1388         * gst/gstpad.h:
1389           add gst_pad_new_from_static_template functions
1390         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1391         (gst_check_setup_sink_pad):
1392         * gst/elements/gsttee.c: (gst_tee_init):
1393           and use them
1394
1395 2005-11-16  Wim Taymans  <wim@fluendo.com>
1396
1397         * gst/gstpad.c: (gst_pad_pause_task):
1398         Removed warning, it's not really an error either.
1399
1400 2005-11-16  Wim Taymans  <wim@fluendo.com>
1401
1402         * gst/base/gstbasetransform.c:
1403         (gst_base_transform_prepare_output_buf),
1404         (gst_base_transform_event):
1405         Check if the caps are NULL, this can happen if the element
1406         is shutting down and the pad caps are set to NULL.
1407
1408 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1409
1410         * gst/elements/gsttee.c: (gst_tee_init):
1411           fix pad template leak in tee
1412
1413 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1414
1415         * gst/glib-compat.c: (g_value_dup_gst_object):
1416         * gst/glib-compat.h:
1417         * gst/gstpad.c: (gst_pad_set_property):
1418           use gst_object_ref when setting the pad template; this will
1419           trigger the pad template leaks on GLib 2.6 and the slaves
1420
1421 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1422
1423         * gst/glib-compat.c: (gst_flags_get_first_value):
1424         * gst/glib-compat.h:
1425         * gst/gstregistryxml.c:
1426           remove functions copied from GLib 2.6
1427
1428 2005-11-16  Michael Smith <msmith@fluendo.com>
1429
1430         * gst/Makefile.am:
1431           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1432           do, but only breaks with newer valgrind versions. We're not a
1433           valgrind tool, we have no link-time dependencies on libcoregrind.
1434
1435 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1436
1437         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1438           some debug changes
1439         * gst/gstmessage.h:
1440           typo fixes
1441
1442 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1443
1444         * gst/base/gstbasesrc.c: (gst_base_src_init):
1445         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1446         * gst/gstqueue.c: (gst_queue_init):
1447         * gst/gstregistryxml.c: (load_feature):
1448           Revert all these unrefs, they don't even pass make check !
1449
1450 2005-11-15  Johan Dahlin  <johan@gnome.org>
1451
1452         * gst/base/gstbasesrc.c: (gst_base_src_init):
1453         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1454         * gst/gstqueue.c: (gst_queue_init): 
1455         Free pad templates, fixes a couple of leaks.
1456
1457 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1458
1459         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1460
1461         * gst/gstpad.c: (gst_pad_get_property):
1462           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1463           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1464           (#321452)
1465
1466 2005-11-15  Wim Taymans  <wim@fluendo.com>
1467
1468         * gst/gstevent.c:
1469         Small doc update.
1470
1471 2005-11-15  Andy Wingo  <wingo@pobox.com>
1472
1473         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1474
1475         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1476         using GST_CLOCK_TIME_NONE to disable base time management.
1477         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1478         time if it was NONE before.
1479         (gst_pipeline_change_state): Only munge the base time if
1480         stream_time != GST_CLOCK_TIME_NONE.
1481
1482         * check/gst/gstpipeline.c (test_base_time): Punt around the
1483         problem of the probe not being called, because that's not the
1484         issue I'm looking at. Add a check that setting stream_time to NONE
1485         disables base time management.
1486         
1487 2005-11-15  Wim Taymans  <wim@fluendo.com>
1488
1489         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1490         segment_stop == -1 at startup.
1491
1492         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1493         (gst_base_transform_change_state):
1494         Init segment values at start.
1495
1496 2005-11-15  Wim Taymans  <wim@fluendo.com>
1497
1498         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1499         0 segment values are 0 in any format.
1500
1501         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1502         * gst/base/gstbasetransform.h:
1503         Parse newsegment correctly in basetransform
1504
1505         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1506         Sync to clock using updated segment values.
1507
1508 2005-11-15  Andy Wingo  <wingo@pobox.com>
1509
1510         * check/gst/gstpipeline.c (test_base_time): Add check that the
1511         base time and stream time are reset correctly.
1512
1513 2005-11-15  Wim Taymans  <wim@fluendo.com>
1514
1515         * docs/design/part-TODO.txt:
1516         Some more TODO items.
1517
1518 2005-11-15  Andy Wingo  <wingo@pobox.com>
1519
1520         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1521         error if the user selected "no clock" as the clocking method.
1522
1523         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1524         timestamps with live capture.
1525
1526         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1527         is 0 but we are a live source, timestamp the buffers using the
1528         element's clock.
1529
1530 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1531
1532         * docs/gst/gstreamer-sections.txt:
1533         * gst/gsterror.c:
1534         * gst/gstghostpad.c:
1535         * gst/gstobject.h:
1536         * gst/gstxml.c:
1537           more section docs
1538
1539 2005-11-14  Wim Taymans  <wim@fluendo.com>
1540
1541         * common/gst.supp:
1542           add suppressions from Wim's Debian machine
1543
1544 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1545
1546         * common/gst.supp:
1547           add suppressions from Andy's AMD64 Ubuntu machine
1548
1549 2005-11-14  Andy Wingo  <wingo@pobox.com>
1550
1551         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1552         STATE_LOCK not necessary. Fixes #311489.
1553
1554         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1555         #305291.
1556
1557         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1558         this function is not implemented.
1559
1560 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1561
1562         * gst/base/gstbasetransform.c:
1563         (gst_base_transform_prepare_output_buf):
1564         Ref the source pad caps while we need them.
1565         Fixes (#321386)
1566
1567 2005-11-11  Wim Taymans  <wim@fluendo.com>
1568
1569         * docs/gst/gstreamer-sections.txt:
1570         Added some docs for GstCollectData.
1571
1572         * gst/base/gstadapter.c:
1573         Some small code example fix.
1574
1575         * gst/base/gstcollectpads.c:
1576         * gst/base/gstcollectpads.h:
1577         Document some more.
1578
1579 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1580
1581         * configure.ac: back to HEAD
1582
1583 === release 0.9.5 ===
1584
1585 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1586
1587         * configure.ac:
1588           releasing 0.9.5, "Bike Lunch Day"
1589
1590 2005-11-11  Wim Taymans  <wim@fluendo.com>
1591
1592         * gst/gstbuffer.c: (_gst_buffer_copy):
1593         Copy more flags.
1594
1595         * gst/gstcaps.c: (gst_caps_is_equal):
1596         Fix some docs.
1597         Make _is_equal fast in the trivial cases.
1598
1599         * gst/gstminiobject.c:
1600         * gst/gstminiobject.h:
1601         More docs. Spifify .h file.
1602
1603         * gst/gstutils.c:
1604         Small doc update.
1605
1606 2005-11-11  Wim Taymans  <wim@fluendo.com>
1607
1608         * gst/base/gstbasetransform.c:
1609         (gst_base_transform_prepare_output_buf),
1610         (gst_base_transform_handle_buffer):
1611         Small cleanups.
1612         If we're processing a buffer and need to allocate an output
1613         buffer, we cannot accept a format change. If we did get a 
1614         format change, we have to alloc a buffer ourselves of the 
1615         right size.
1616
1617 2005-11-11  Wim Taymans  <wim@fluendo.com>
1618
1619         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1620         While checking the flag for reentrancy in the gstcaps function
1621         is nice to detect recursive invocations, it also makes it 
1622         impossible to call getcaps from multiple threads, which must be
1623         possible. So, checking for recursive calls has to go.
1624
1625 2005-11-11  Michael Smith <msmith@fluendo.com>
1626
1627         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1628           Don't sync on buffers that fall partially outside our current
1629           segment. Prevents an assertion failure/abort playing some files.
1630
1631 2005-11-10  Andy Wingo  <wingo@pobox.com>
1632
1633         * check/gst/gstbin.c (test_message_state_changed_children): Style
1634         fix..
1635
1636         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1637         gst_bus_poll with the signal watch. Ensures that poll and a signal
1638         watch see the same messages.
1639
1640         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1641         a poll and a watch at the same time get the same messages.
1642
1643 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1644
1645         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1646         * gst/gstcaps.c: (gst_caps_intersect):
1647           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1648           and it's not needed.
1649
1650 2005-11-10  Wim Taymans  <wim@fluendo.com>
1651
1652         * docs/design/part-TODO.txt:
1653         Updated todo.
1654
1655 2005-11-10  Wim Taymans  <wim@fluendo.com>
1656
1657         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1658         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1659         (gst_base_src_do_sync), (gst_base_src_get_range):
1660         Implement clock sync in base class.
1661
1662 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1663
1664         patch by: Tim-Philipp Müller <tim at centricular dot net>
1665
1666         * gst/gststructure.c: (gst_structure_parse_field),
1667         (gst_structure_from_string):
1668           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1669           so that gst_parse_launch() can deal with spaces in filtered link
1670           caps (fixes #164479)
1671         * check/gst/capslist.h:
1672         * check/gst/gststructure.c: (GST_START_TEST):
1673           add unit tests for this change
1674
1675 2005-11-10  Wim Taymans  <wim@fluendo.com>
1676
1677         * docs/gst/gstreamer-sections.txt:
1678         * gst/gstelement.c:
1679         * gst/gstelement.h:
1680         Fix docs, move some STATE macros to private.
1681
1682 2005-11-10  Wim Taymans  <wim@fluendo.com>
1683
1684         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1685         Added check for bug #317341
1686
1687         * gst/gstbuffer.c:
1688         * gst/gstbuffer.h:
1689         Some more spiffifying.
1690
1691         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1692         Call peer linkfunction if we are a source pad. Totally fixes
1693         #317341
1694
1695         * gst/gstpad.c:
1696         Update docs, source pads should call the peer linkfunction
1697         so they can atomically perform the pad link.
1698
1699 2005-11-09  Wim Taymans  <wim@fluendo.com>
1700
1701         * gst/gstbuffer.c:
1702         * gst/gstbuffer.h:
1703         Uber-spiffy-spiffify some more.
1704
1705 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1706
1707         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1708         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1709         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1710         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1711         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1712         * gst/gstpad.c: (gst_pad_init):
1713           Use GST_DEBUG_FUNCPTR() more extensively.
1714
1715 2005-11-09  Wim Taymans  <wim@fluendo.com>
1716
1717         * gst/gstobject.c: (gst_object_class_init):
1718         * gst/gstobject.h:
1719         Documentation fixes.
1720
1721 2005-11-09  Edward Hervey  <edward@fluendo.com>
1722
1723         * gst/gsttypefindfactory.c:
1724         Fix docs.
1725         
1726 2005-11-09  Edward Hervey  <edward@fluendo.com>
1727
1728         * gst/base/gsttypefindhelper.c:
1729         * gst/gsttypefind.c:
1730         * gst/gsttypefind.h:
1731         Fix docs.
1732
1733 2005-11-09  Wim Taymans  <wim@fluendo.com>
1734
1735         * gst/gstiterator.c:
1736         Fix revision data.
1737
1738         * gst/gsttask.c:
1739         * gst/gsttask.h:
1740         Fix docs.
1741
1742 2005-11-09  Wim Taymans  <wim@fluendo.com>
1743
1744         * gst/gstevent.h:
1745         * gst/gsturi.h:
1746         Fix docs.
1747
1748 2005-11-09  Wim Taymans  <wim@fluendo.com>
1749
1750         * docs/gst/gstreamer-sections.txt:
1751         Moved the message async delivery private lock and cond
1752         to the private section.
1753
1754         * gst/gstmessage.c:
1755         * gst/gstmessage.h:
1756         Fixed docs.
1757
1758 2005-11-09  Edward Hervey  <edward@fluendo.com>
1759
1760         * docs/gst/gstreamer-sections.txt:
1761         * gst/gsturi.c:
1762         * gst/gsturi.h:
1763         Document GstURIHandler
1764
1765 2005-11-09  Wim Taymans  <wim@fluendo.com>
1766
1767         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1768         (gst_iterator_find_custom):
1769         * gst/gstiterator.h:
1770         Fix iterator docs.
1771
1772 2005-11-09  Wim Taymans  <wim@fluendo.com>
1773
1774         * gst/gstbin.h:
1775         Document another field.
1776
1777         * gst/gststructure.c:
1778         * gst/gststructure.h:
1779         Document.
1780
1781 2005-11-09  Wim Taymans  <wim@fluendo.com>
1782
1783         * gst/gstbin.h:
1784         Documented structs.
1785
1786 2005-11-09  Wim Taymans  <wim@fluendo.com>
1787
1788         * docs/gst/gstreamer-sections.txt:
1789         Added some new macros.
1790
1791         * gst/gstclock.c:
1792         * gst/gstclock.h:
1793         * gst/gstobject.h:
1794         Docs updates.
1795
1796 2005-11-09  Wim Taymans  <wim@fluendo.com>
1797
1798         * docs/design/part-TODO.txt:
1799         Some more items for the TODO
1800
1801         * gst/gstcaps.c:
1802         * gst/gstcaps.h:
1803         Document GstCaps.
1804
1805 2005-11-09  Andy Wingo  <wingo@pobox.com>
1806
1807         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1808         to work on something else now tho...
1809
1810         * gst/base/gstadapter.c: More adapter docs.
1811
1812         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1813         (gst_file_sink_stop): New functions, replace the state change
1814         handler.
1815         (gst_file_sink_class_init): Hook up the start and stop functions.
1816         (gst_file_sink_base_init): Don't set the state change handler any
1817         more. It was a bit ugly too, being set from here...
1818         (gst_file_sink_get_property, gst_file_sink_set_property):
1819         Cleanups...
1820         (gst_file_sink_set_location): More robust check that doesn't call
1821         GST_STATE. Ugggggg.
1822
1823 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1824
1825         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1826           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1827
1828 2005-11-08  Wim Taymans  <wim@fluendo.com>
1829
1830         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1831         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1832         (gst_base_sink_chain), (gst_base_sink_change_state):
1833         * gst/base/gstbasesink.h:
1834         * gst/base/gstbasesrc.h:
1835         * gst/gstelement.h:
1836         * gst/gstevent.h:
1837         Avoid excessive typechecking in macros.
1838
1839         * gst/gstminiobject.c: (gst_mini_object_get_type),
1840         (gst_mini_object_init), (gst_mini_object_new),
1841         (gst_mini_object_free):
1842         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1843         (gst_object_finalize):
1844         Remove cruft code, optimize alloc_trace.
1845
1846 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1847
1848         * docs/faq/gst-uninstalled:
1849           fix up PS1 for systems that try to reset it
1850
1851 2005-11-07  Wim Taymans  <wim@fluendo.com>
1852
1853         * gst/base/gstbasesrc.c: (gst_base_src_init),
1854         (gst_base_src_get_range):
1855         Set the segment_end to -1 initially. Fixed typefind.
1856
1857 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1858
1859         * gst/base/gstadapter.c:
1860           Debug category should be 'adapter', not 'GstAdapter'.
1861           
1862         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1863         (gst_collectpads_class_init), (gst_collectpads_init),
1864         (gst_collectpads_peek), (gst_collectpads_pop),
1865         (gst_collectpads_event), (gst_collectpads_chain):
1866           Add debug category and some debugging output. Use boilerplate
1867           macros. Remove some extraneous words from docs.
1868
1869 2005-11-05  Andy Wingo  <wingo@pobox.com>
1870
1871         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1872         macro.
1873
1874 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1875
1876         * docs/gst/gstreamer-sections.txt:
1877         * gst/gstcaps.h:
1878         * gst/gstinfo.c:
1879         * gst/gstminiobject.h:
1880         * gst/gstobject.h:
1881         * gst/gstutils.h:
1882           more docs added
1883
1884 2005-11-04  Wim Taymans  <wim@fluendo.com>
1885
1886         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1887         Small update to stop at the configured segment_end
1888         position.
1889
1890 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1891
1892         * gst/gstregistry.c:
1893         * gst/gstregistry.h:
1894           added missing docs
1895
1896 2005-11-04  Edward Hervey  <edward@fluendo.com>
1897
1898         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1899         Check if we are doing a segment seek and have arrived at the
1900         end of that segment.
1901
1902 2005-11-04  Wim Taymans  <wim@fluendo.com>
1903
1904         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1905         Don't leak a mutex unlock in case of an error.
1906
1907         * gst/gstbus.h:
1908         Doc fixes.
1909
1910 2005-11-04  Wim Taymans  <wim@fluendo.com>
1911
1912         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1913         (gst_bus_post):
1914         Get the context to wake up only once.
1915
1916 2005-11-03  Wim Taymans  <wim@fluendo.com>
1917
1918         * check/states/sinks.c: (GST_START_TEST):
1919         Uncomment fixed check.
1920
1921         * docs/design/part-TODO.txt:
1922         Updated TODO.
1923
1924         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1925         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1926         (gst_base_sink_get_position):
1927         If we are going to PLAYING, post the right pending state
1928         when we post the intermediate paused message.
1929
1930         * gst/gstelement.c: (gst_element_continue_state),
1931         (gst_element_set_state_func), (gst_element_change_state):
1932         Don't post state changes that were between the same state
1933         and were not ASYNC.
1934
1935 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1936
1937         * docs/gst/gstreamer-sections.txt:
1938         * gst/gstcaps.h:
1939         * gst/gstinfo.c:
1940         * gst/gstminiobject.h:
1941         * gst/gstobject.h:
1942         * gst/gstutils.h:
1943           more docs and doc style fixes
1944
1945 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1946
1947         * docs/gst/gstreamer-sections.txt:
1948         * gst/gstelement.c:
1949         * gst/gstminiobject.c:
1950         doc fixes
1951
1952 2005-11-03  Andy Wingo  <wingo@pobox.com>
1953
1954         * check/states/sinks.c (test_livesrc_sink): Add checks that the
1955         state-changed messages actually have the right order and the right
1956         values.
1957
1958 2005-11-03  Wim Taymans  <wim@fluendo.com>
1959
1960         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1961         Added some more checks. Specifically the case where NO_PREROLL
1962         elements are in the pipeline.
1963
1964         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1965         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1966         (gst_base_sink_get_position):
1967         Post READY->PAUSED state change messages too.
1968         Fix bug where VOID was posted as pending state...
1969
1970         * gst/gstbin.c: (gst_bin_recalc_state):
1971         use _element_continue_state() to continue the state change.
1972
1973         * gst/gstelement.c: (gst_element_continue_state),
1974         (gst_element_commit_state), (gst_element_set_state_func),
1975         (gst_element_change_state), (gst_element_change_state_func):
1976         Lots of state change cleanups, assign the STATE_RETURN in
1977         a new continue_state() function that also propagates the
1978         last return value from a state change to the app.
1979         Update some debug statements with proper category.
1980
1981 2005-11-03  Wim Taymans  <wim@fluendo.com>
1982
1983         * docs/design/part-events.txt:
1984         * docs/design/part-gstpipeline.txt:
1985         * docs/design/part-messages.txt:
1986         * docs/design/part-overview.txt:
1987         * docs/design/part-seeking.txt:
1988         * docs/design/part-states.txt:
1989         * docs/design/part-trickmodes.txt:
1990         * docs/manual/advanced-position.xml:
1991         Small docs updates.
1992
1993         * gst/gstobject.h:
1994         People think !! is ugly, this looks better.
1995
1996         * gst/gstpad.c: (gst_pad_set_blocked_async):
1997         Remove !! since it's fixed elsewhere now.
1998
1999 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2000
2001         * gst/gstminiobject.h:
2002         * gst/gstobject.h:
2003           Add !! to _FLAG_IS_SET macros to make the result boolean.
2004
2005 2005-11-03  Edward Hervey  <edward@fluendo.com>
2006
2007         * gst/gstpad.c: (gst_pad_set_blocked_async):
2008         comparing a flag and a gboolean rarely returns coherent results...
2009         Added two characters (!!) to make that work correctly.
2010         
2011 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2012
2013         * gst/gstbus.c: (gst_bus_class_init):
2014           Fix some typos.
2015           
2016         * gst/gstqueue.c: (gst_queue_loop):
2017           Don't assume a miniobject that isn't a buffer is an
2018           event (it could be that there is a refcounting
2019           problem somewhere and the pointer is stale and
2020           refers to an already destroyed miniobject).
2021
2022 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2023
2024         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2025
2026 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2027
2028         * docs/manual/advanced-position.xml:
2029           Update seek example and explanations to current 0.9 API.
2030
2031         * gst/elements/gsttypefindelement.c:
2032         (gst_type_find_element_activate):
2033           Remove FIXME comment now that the found caps
2034           are unreffed.
2035
2036 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2037
2038         * gst/gstregistryxml.c: (load_feature):
2039           Add another GST_STR_NULL instance
2040
2041 2005-11-02  Edward Hervey  <edward@fluendo.com>
2042
2043         * gst/gstpad.c: (handle_pad_block):
2044         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2045         
2046 2005-11-02  Wim Taymans  <wim@fluendo.com>
2047
2048         * gst/gstbin.c:
2049         Fix typo in docs.
2050
2051         * gst/gstelement.c: (gst_element_commit_state):
2052         Remove unused value.
2053
2054         * gst/gstiterator.c:
2055         Mention that the returned element is reffed in the docs.
2056
2057 2005-11-02  Wim Taymans  <wim@fluendo.com>
2058
2059         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2060         (gst_pad_push), (gst_pad_push_event):
2061         Unlock blocked pads when they are flushed.
2062
2063 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2064
2065         * docs/README:
2066         * docs/gst/gstreamer-sections.txt:
2067         * gst/gstbin.c:
2068           doc updates
2069         * gst/gstregistry.c: (gst_registry_scan_path_level):
2070           fix for a nasty little missed situation where an installed plug-in
2071           which was in the cache did not get overridden by an uninstalled one
2072           which was earlier in the plugin path because the newly created plugin
2073           for the uninstalled one (not in the registry) didn't get its
2074           ->registered set to TRUE
2075
2076 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2077
2078         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2079         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2080         (gst_collectpads_is_active), (gst_collectpads_collect),
2081         (gst_collectpads_collect_range), (gst_collectpads_start),
2082         (gst_collectpads_stop), (gst_collectpads_peek),
2083         (gst_collectpads_pop), (gst_collectpads_available),
2084         (gst_collectpads_read), (gst_collectpads_flush):
2085           Guard public API with assertions.
2086         
2087         * gst/gstpad.c:
2088           Fix docs for gst_pad_set_link_function().
2089
2090 2005-11-02  Johan Dahlin  <johan@gnome.org>
2091
2092         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2093         Unref found_caps after we used it.
2094
2095 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2096
2097         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2098           Don't try to ref NULL.
2099
2100 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2101
2102         * win32/common/config.h.in:
2103           provide a GST_FUNCTION that just gives a string for now
2104
2105 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2106
2107         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2108         (gst_object_flags_get_type), (register_gst_bin_flags),
2109         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2110         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2111         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2112         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2113         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2114         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2115         (gst_clock_flags_get_type), (register_gst_state),
2116         (gst_state_get_type), (register_gst_state_change_return),
2117         (gst_state_change_return_get_type), (register_gst_state_change),
2118         (gst_state_change_get_type), (register_gst_element_flags),
2119         (gst_element_flags_get_type), (register_gst_core_error),
2120         (gst_core_error_get_type), (register_gst_library_error),
2121         (gst_library_error_get_type), (register_gst_resource_error),
2122         (gst_resource_error_get_type), (register_gst_stream_error),
2123         (gst_stream_error_get_type), (register_gst_event_type),
2124         (gst_event_type_get_type), (register_gst_seek_type),
2125         (gst_seek_type_get_type), (register_gst_seek_flags),
2126         (gst_seek_flags_get_type), (register_gst_format),
2127         (gst_format_get_type), (register_gst_index_certainty),
2128         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2129         (gst_index_entry_type_get_type),
2130         (register_gst_index_lookup_method),
2131         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2132         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2133         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2134         (gst_index_flags_get_type), (register_gst_debug_level),
2135         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2136         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2137         (gst_iterator_result_get_type), (register_gst_iterator_item),
2138         (gst_iterator_item_get_type), (register_gst_message_type),
2139         (gst_message_type_get_type), (register_gst_mini_object_flags),
2140         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2141         (gst_pad_link_return_get_type), (register_gst_flow_return),
2142         (gst_flow_return_get_type), (register_gst_activate_mode),
2143         (gst_activate_mode_get_type), (register_gst_pad_direction),
2144         (gst_pad_direction_get_type), (register_gst_pad_flags),
2145         (gst_pad_flags_get_type), (register_gst_pad_presence),
2146         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2147         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2148         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2149         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2150         (gst_plugin_flags_get_type), (register_gst_rank),
2151         (gst_rank_get_type), (register_gst_query_type),
2152         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2153         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2154         (gst_tag_flag_get_type), (register_gst_task_state),
2155         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2156         (gst_alloc_trace_flags_get_type),
2157         (register_gst_type_find_probability),
2158         (gst_type_find_probability_get_type), (register_gst_uri_type),
2159         (gst_uri_type_get_type), (register_gst_parse_error),
2160         (gst_parse_error_get_type):
2161         * win32/common/gstversion.h:
2162           update win32 copies
2163
2164 2005-11-01  Luca Ognibene  <luogni@tin.it>
2165
2166         * gst/gst.c:
2167           fix docs. popt is dead, long live GOption.
2168
2169 2005-10-31  Wim Taymans  <wim@fluendo.com>
2170
2171         * gst/gstbuffer.h:
2172         Small doc fix.
2173
2174 2005-10-31  Andy Wingo  <wingo@pobox.com>
2175
2176         * Boo!
2177
2178         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2179
2180         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2181         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2182         the possibility of deadlocks here if code calling notify() or
2183         set() has a lock that can be taken in another notify handler (ABBA
2184         with class lock and e.g. python GIL state lock).
2185
2186 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2187
2188         * gst/gstbus.c: Doc updates.
2189
2190 2005-10-28  Wim Taymans  <wim@fluendo.com>
2191
2192         * docs/design/part-TODO.txt:
2193         * gst/gstiterator.c:
2194         * gst/gstsystemclock.c:
2195         * gst/gstsystemclock.h:
2196         Doc updates.
2197
2198 2005-10-28  Edward Hervey  <edward@fluendo.com>
2199
2200         * docs/gst/gstreamer-docs.sgml:
2201         * docs/gst/gstreamer-sections.txt:
2202         the GstURIType documentation page is private, it only defines GstURIType
2203         which should be defined in the GstURIHandler page
2204         
2205 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2206
2207         * gst/gstbin.c: (gst_bin_class_init):
2208         * gst/gstbin.h:
2209         * gst/gstutils.c:
2210         Documentation updates.
2211
2212 2005-10-28  Wim Taymans  <wim@fluendo.com>
2213
2214         * docs/gst/gstreamer-sections.txt:
2215         * gst/gstclock.c:
2216         * gst/gstclock.h:
2217         Documented the clocks.
2218
2219 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2220
2221         * docs/gst/gstreamer-sections.txt:
2222           move some macros to private sections
2223         * gst/gstminiobject.c:
2224         * gst/gstminiobject.h:
2225           add descriptions provided by ds and some more
2226         * gst/gstpad.h:
2227           mark macro as to be removed
2228
2229 2005-10-28  Wim Taymans  <wim@fluendo.com>
2230
2231         * docs/design/part-TODO.txt:
2232         Add an item to TODO.
2233
2234         * gst/gstiterator.c: (gst_iterator_fold),
2235         (gst_iterator_find_custom):
2236         * gst/gstiterator.h:
2237         Add iterator docs.
2238
2239 2005-10-28  Wim Taymans  <wim@fluendo.com>
2240
2241         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2242         (gst_base_transform_init):
2243         Don't leak class.
2244
2245         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2246         An EOS event marks the queue as completely filled.
2247
2248 2005-10-27  Wim Taymans  <wim@fluendo.com>
2249
2250         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2251         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2252         Some more debugging.
2253
2254         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2255         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2256         (gst_base_transform_event), (gst_base_transform_getrange),
2257         (gst_base_transform_chain):
2258         * gst/base/gstbasetransform.h:
2259         Fix debugging,
2260         Protect transform and concurrent buffer alloc with a new lock.
2261         Try not to break ABI/API.
2262
2263 2005-10-27  Wim Taymans  <wim@fluendo.com>
2264
2265         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2266         (gst_base_src_init), (gst_base_src_query),
2267         (gst_base_src_default_newsegment),
2268         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2269         (gst_base_src_send_event), (gst_base_src_event_handler),
2270         (gst_base_src_pad_get_range), (gst_base_src_loop),
2271         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2272         (gst_base_src_start), (gst_base_src_deactivate),
2273         (gst_base_src_activate_push), (gst_base_src_change_state):
2274         Move some stuff around and cleanup things.
2275
2276 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2277
2278         * gst/base/gstbasesrc.c: (gst_base_src_query):
2279           Add missing break statements.
2280
2281 2005-10-27  Wim Taymans  <wim@fluendo.com>
2282
2283         * check/gst/gstbin.c: (GST_START_TEST):
2284         An extra refcount is taken in basesrc.
2285
2286         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2287         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2288         (gst_base_src_loop):
2289         Small cleanups, check for flushing after being unlocked from the 
2290         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2291         Don't send out EOS when going to READY.
2292
2293 2005-10-27  Wim Taymans  <wim@fluendo.com>
2294
2295         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2296         (gst_base_sink_get_position):
2297         Some more debug.
2298
2299         * gst/gstbin.c: (message_check), (bin_replace_message),
2300         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2301         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2302         (bin_query_duration_init), (bin_query_duration_fold),
2303         (bin_query_duration_done), (bin_query_generic_fold),
2304         (gst_bin_query):
2305         * tools/gst-launch.c: (main):
2306         Remove old option.
2307
2308 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2309
2310         * examples/controller/audio-example.c: (main):
2311         * examples/queue/queue.c: (event_loop):
2312         * gst/base/gstbasetransform.h:
2313         * gst/gstelement.c: (gst_element_send_event):
2314         * gst/gstevent.h:
2315         * gst/gstpad.c: (gst_pad_send_event):
2316           fixing examples
2317           fixing docs typos
2318           changing log priority in error situations
2319
2320 2005-10-25  Wim Taymans  <wim@fluendo.com>
2321
2322         * gst/gstbin.c: (message_check), (bin_replace_message),
2323         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2324         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2325         (bin_query_duration_init), (bin_query_duration_fold),
2326         (bin_query_duration_done), (bin_query_generic_fold),
2327         (gst_bin_query):
2328         Some doc and debug updates.
2329         Cache previously requested query DURATION for speed. invalidate
2330         cached duration if element posts a DURATION message.
2331
2332 2005-10-25  Wim Taymans  <wim@fluendo.com>
2333
2334         * docs/design/part-TODO.txt:
2335         Update TODO.
2336
2337         * gst/gstbin.c: (message_check), (bin_replace_message),
2338         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2339         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2340         (bin_query_duration_init), (bin_query_duration_fold),
2341         (bin_query_duration_done), (bin_query_generic_fold),
2342         (gst_bin_query):
2343         Handle SEGMENT_START/DONE messages correctly.
2344         More evolved query algorithm that handles duration queries
2345         correctly.
2346
2347         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2348         (gst_element_get_state_func), (gst_element_abort_state),
2349         (gst_element_commit_state), (gst_element_lost_state):
2350         Some more debugging.
2351
2352         * gst/gstmessage.h:
2353         Added doc.
2354
2355 2005-10-25  Wim Taymans  <wim@fluendo.com>
2356
2357         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2358         Don't use invalid stream_time.
2359
2360         * gst/gstevent.c: (gst_event_new_newsegment):
2361         stream_time in newsegment cannot be undefined.
2362
2363 2005-10-24  Wim Taymans  <wim@fluendo.com>
2364
2365         * gst/gstbus.c:
2366         Doc fix.
2367
2368         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2369         (gst_queue_loop):
2370         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2371
2372 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2373
2374         * docs/libs/tmpl/gstdparam.sgml:
2375         * docs/libs/tmpl/gstdplinint.sgml:
2376         * docs/libs/tmpl/gstdpman.sgml:
2377         * docs/libs/tmpl/gstdpsmooth.sgml:
2378         * docs/libs/tmpl/gstunitconvert.sgml:
2379           these are obsolete
2380
2381 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2382
2383         * configure.ac:
2384           back to HEAD
2385
2386 === release 0.9.4 ===
2387
2388 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2389
2390         * configure.ac:
2391           releasing 0.9.4, "Tyrannosaurus Rex"
2392
2393 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2394
2395         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2396         (gst_file_sink_get_current_offset):
2397           Use fseeko() and ftello() if available. When falling back on
2398           lseek() to get the current offset, fflush() first to make sure
2399           everything is up-to-date and we get the right offset.
2400
2401 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2402
2403         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2404         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2405         * gst/gsterror.c: (_gst_stream_errors_init):
2406         * gst/gsterror.h:
2407         * gst/gstqueue.c: (gst_queue_loop):
2408         * po/POTFILES.in:
2409           remove prematurely added error category and clean up the instances
2410
2411 2005-10-21  Wim Taymans  <wim@fluendo.com>
2412
2413         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2414         (gst_base_sink_get_position), (gst_base_sink_query),
2415         (gst_base_sink_change_state):
2416         Simply set the right flag when going to playing, that's all
2417         we need to do instead of calling a function inside the object
2418         lock (that could take the lock as well and deadlock)
2419
2420 2005-10-21  Wim Taymans  <wim@fluendo.com>
2421
2422         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2423         (gst_base_src_loop):
2424         Don't warn, the peer element knows what to do best when
2425         the seek failed, it might try something else.
2426
2427 2005-10-21  Wim Taymans  <wim@fluendo.com>
2428
2429         * gst/base/gstbasesrc.c: (gst_base_src_init),
2430         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2431         Fix seeking.
2432
2433 2005-10-21  Wim Taymans  <wim@fluendo.com>
2434
2435         * docs/design/part-segments.txt:
2436         More docs.
2437
2438         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2439         Correctly set caps, even on the subbufer.
2440
2441 2005-10-21  Wim Taymans  <wim@fluendo.com>
2442
2443         * docs/gst/gstreamer-docs.sgml:
2444         * docs/gst/gstreamer-sections.txt:
2445         * gst/gstelement.h:
2446         * gst/gstevent.c:
2447         * gst/gstevent.h:
2448         * gst/gstmessage.h:
2449         * gst/gstpad.h:
2450         * gst/gstparse.h:
2451         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2452         * gst/gsttask.h:
2453         * gst/gstutils.c:
2454         * gst/gstutils.h:
2455         And 2% more doc coverage.
2456
2457 2005-10-21  Andy Wingo  <wingo@pobox.com>
2458
2459         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2460         position reporting.
2461
2462 2005-10-20  Wim Taymans  <wim@fluendo.com>
2463
2464         * gst/gsterror.c: (gst_error_get_message):
2465         * gst/gstparse.h:
2466         * gst/gstquery.h:
2467         * gst/gststructure.c:
2468         * gst/gsttrace.c:
2469         * gst/gstutils.c:
2470         More docs.
2471
2472 2005-10-20  Wim Taymans  <wim@fluendo.com>
2473
2474         * gst/gstbuffer.h:
2475         * gst/gstpad.c:
2476         * gst/gstparse.c:
2477         Another 1% more coverage.
2478
2479 2005-10-20  Wim Taymans  <wim@fluendo.com>
2480
2481         * docs/gst/gstreamer-sections.txt:
2482         * gst/gstelement.c: (gst_element_get_state_func),
2483         (gst_element_abort_state), (gst_element_commit_state),
2484         (gst_element_lost_state):
2485         * gst/gstevent.h:
2486         * gst/gstquery.c: (gst_query_set_position),
2487         (gst_query_parse_position), (gst_query_set_duration),
2488         (gst_query_parse_duration), (gst_query_new_convert):
2489         * gst/gstutils.c:
2490         Yay! 1% more docs coverage.
2491
2492 2005-10-20  Wim Taymans  <wim@fluendo.com>
2493
2494         * gst/gstpad.h:
2495         * gst/gstquery.c: (gst_query_set_position),
2496         (gst_query_parse_position), (gst_query_set_duration),
2497         (gst_query_parse_duration), (gst_query_new_convert):
2498         * gst/gstquery.h:
2499         * gst/gstutils.c: (gst_element_query_convert):
2500         * gst/gstutils.h:
2501         Docs and consistency fixes.
2502
2503 2005-10-20  Wim Taymans  <wim@fluendo.com>
2504
2505         * gst/gsttask.c:
2506         * gst/gsttask.h:
2507         More docs.
2508
2509 2005-10-20  Wim Taymans  <wim@fluendo.com>
2510
2511         * gst/gstbin.c: (message_check), (bin_replace_message),
2512         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2513         (update_degree), (gst_bin_sort_iterator_next),
2514         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2515         Reworked the message handling a bit, cache the messages instead of
2516         only the senders. alows us to do more in the future.
2517
2518 2005-10-20  Wim Taymans  <wim@fluendo.com>
2519
2520         * docs/design/part-TODO.txt:
2521         Update TODO
2522
2523         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2524         (gst_base_sink_query):
2525         Don't use clock time to report position when in EOS.
2526
2527 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2528
2529         * tools/gst-inspect.c: (print_interfaces),
2530         (print_element_properties_info), (print_element_info):
2531           Fix interface output with gst-inspect -a; don't print
2532           newlines after double/float properties.
2533
2534 2005-10-20  Wim Taymans  <wim@fluendo.com>
2535
2536         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2537         (gst_base_sink_query):
2538         Speed up current position calculation.
2539
2540         * gst/base/gstbasesrc.c: (gst_base_src_query),
2541         (gst_base_src_default_newsegment):
2542         Correctly set stream position in newsegment.
2543
2544         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2545         (update_degree), (gst_bin_sort_iterator_next),
2546         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2547         * gst/gstmessage.c: (gst_message_new_custom):
2548         Clean up debugging info
2549
2550         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2551         (gst_queue_loop), (gst_queue_handle_src_query):
2552         Pause task faster.
2553
2554 2005-10-19  Wim Taymans  <wim@fluendo.com>
2555
2556         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2557         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2558         Fix query handling again.
2559
2560 2005-10-19  Wim Taymans  <wim@fluendo.com>
2561
2562         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2563         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2564         * gst/base/gstbasesrc.c: (gst_base_src_query):
2565         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2566         * gst/elements/gsttypefindelement.c:
2567         (gst_type_find_handle_src_query), (find_element_get_length),
2568         (gst_type_find_element_activate):
2569         API change fix.
2570
2571         * gst/gstquery.c: (gst_query_new_position),
2572         (gst_query_set_position), (gst_query_parse_position),
2573         (gst_query_new_duration), (gst_query_set_duration),
2574         (gst_query_parse_duration), (gst_query_set_segment),
2575         (gst_query_parse_segment):
2576         * gst/gstquery.h:
2577         Bundling query position/duration is not a good idea since duration
2578         does not change much and we don't want to recalculate it for every
2579         position query, so they are separated again..
2580         Base value in segment query is not needed.
2581
2582         * gst/gstqueue.c: (gst_queue_handle_src_query):
2583         * gst/gstutils.c: (gst_element_query_position),
2584         (gst_element_query_duration), (gst_pad_query_position),
2585         (gst_pad_query_duration):
2586         * gst/gstutils.h:
2587         Updates for query API change.
2588         Added some docs here and there.
2589
2590 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2591
2592         * check/gst/gstbin.c: (GST_START_TEST):
2593         * check/gst/gstghostpad.c: (GST_START_TEST):
2594         * check/pipelines/cleanup.c: (GST_START_TEST):
2595           wait on thread to die so we can check refcount correctly
2596
2597 2005-10-18  Wim Taymans  <wim@fluendo.com>
2598
2599         * check/pipelines/stress.c: (GST_START_TEST):
2600         Make check a little more time consuming.
2601
2602 2005-10-18  Wim Taymans  <wim@fluendo.com>
2603
2604         * check/Makefile.am:
2605         * check/pipelines/stress.c: (GST_START_TEST),
2606         (simple_launch_lines_suite), (main):
2607         Small state change torture test.
2608
2609         * docs/design/part-states.txt:
2610         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2611         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2612         (gst_base_sink_change_state):
2613         Never take state lock from streaming thread, clean up ugly
2614         hacks. Unfortunatly core does not yet support nice ways to
2615         async commit state.
2616         
2617         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2618         (bin_bus_handler):
2619         Start state recalc if a STATE_DIRTY message is posted, but only
2620         on the toplevel bin.
2621
2622         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2623         (gst_element_get_state_func), (gst_element_abort_state),
2624         (gst_element_commit_state), (gst_element_lost_state),
2625         (gst_element_set_state_func), (gst_element_change_state):
2626         * gst/gstelement.h:
2627         State variables are now protected with the LOCK, the state
2628         lock is only used to serialize _set_state().
2629
2630 2005-10-18  Wim Taymans  <wim@fluendo.com>
2631
2632         * check/gst/gstbin.c: (GST_START_TEST):
2633         * check/gst/gstmessage.c: (GST_START_TEST):
2634         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2635         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2636         (bin_bus_handler):
2637         * gst/gstelement.c: (gst_element_abort_state),
2638         (gst_element_commit_state), (gst_element_lost_state):
2639         * gst/gstmessage.c: (gst_message_new_state_changed),
2640         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2641         (gst_message_new_segment_done), (gst_message_new_duration),
2642         (gst_message_parse_state_changed),
2643         (gst_message_parse_segment_start),
2644         (gst_message_parse_segment_done), (gst_message_parse_duration):
2645         * gst/gstmessage.h:
2646         * tools/gst-launch.c: (event_loop):
2647         Seriously, this is better than a previous commit as we only need
2648         to notify the fact that an element changed state in a streaming
2649         thread, marking the state of the parents dirty, hence the 
2650         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2651         message.
2652
2653 2005-10-18  Wim Taymans  <wim@fluendo.com>
2654
2655         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2656         (gst_bin_recalc_func):
2657         * gst/gstelement.c: (gst_element_set_clock),
2658         (gst_element_abort_state), (gst_element_lost_state):
2659         Cleanups, prepare for state change fixes.
2660
2661 2005-10-18  Wim Taymans  <wim@fluendo.com>
2662
2663         * gst/gstbin.h:
2664         * gst/gstelement.c: (gst_element_class_init),
2665         (gst_element_set_state), (gst_element_set_state_func):
2666         * gst/gstelement.h:
2667         Pending ABI changes.
2668         GThreadPool in GstBinClass to monitor async state changes.
2669         state_cookie in GstElement to detect concurrent gst/set state.
2670         set_state is now virtual too in case a very complicated element
2671         has to be constructed.
2672
2673 2005-10-18  Wim Taymans  <wim@fluendo.com>
2674
2675         * check/gst/gstbin.c: (GST_START_TEST):
2676         * check/gst/gstmessage.c: (GST_START_TEST):
2677         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2678         * gst/gstbin.c: (bin_bus_handler):
2679         * gst/gstelement.c: (gst_element_commit_state),
2680         (gst_element_lost_state):
2681         * gst/gstmessage.c: (gst_message_new_state_changed),
2682         (gst_message_new_segment_start), (gst_message_new_segment_done),
2683         (gst_message_new_duration), (gst_message_parse_state_changed),
2684         (gst_message_parse_segment_start),
2685         (gst_message_parse_segment_done), (gst_message_parse_duration):
2686         * gst/gstmessage.h:
2687         * tools/gst-launch.c: (event_loop):
2688         Make messages future proof.
2689         state-change gets a flag if it was a message comming from the
2690         streaming thread.
2691         segment-start/stop can also be specified in other formats.
2692         A message to notify an app that a pipeline changed playback 
2693         duration.
2694         Also fix a GstMessage leak in -launch
2695
2696 2005-10-18  Andy Wingo  <wingo@pobox.com>
2697
2698         * gst/gstelement.c (gst_element_dispose): More helpful message.
2699
2700 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2701
2702         reviewed by: <delete if not using a buddy>
2703
2704         * common/gtk-doc.mak:
2705
2706 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2707
2708         * gst/gstregistry.c: (gst_registry_scan_path_level):
2709           unref a plug-in we get that was already initialized
2710
2711 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2712
2713         * docs/gst/gstreamer-sections.txt:
2714         * docs/libs/gstreamer-libs-sections.txt:
2715         * gst/gstelement.h:
2716           add new api entries
2717           hide internal macro
2718
2719 2005-10-17  Andy Wingo  <wingo@pobox.com>
2720
2721         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2722         cleanup.
2723
2724         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2725
2726         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2727
2728         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2729         (gst_element_get_state_func): Better debug message.
2730         (gst_element_commit_state): s/INFO/DEBUG/.
2731         (gst_element_lost_state, gst_element_change_state): 
2732
2733         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2734         (gst_message_new_custom): s/INFO/LOG/.
2735
2736 2005-10-17  Michael Smith <msmith@fluendo.com>
2737
2738         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2739           Check if end time is valid using end time, not start time.
2740
2741 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2742
2743         * check/gst-libs/controller.c: (GST_START_TEST),
2744         (gst_controller_suite):
2745         * libs/gst/controller/gstcontroller.c:
2746         (gst_controlled_property_set_interpolation_mode):
2747         * libs/gst/controller/gstcontroller.h:
2748         * libs/gst/controller/gstinterpolation.c:
2749         * testsuite/controller/.cvsignore:
2750         * testsuite/controller/Makefile.am:
2751         * testsuite/controller/interpolator.c:
2752           merge controller testsuites
2753           fix broken tests
2754           remove mem-chunk from docs
2755
2756 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2757
2758         * gst/gstmemchunk.c:
2759         * gst/gstmemchunk.h:
2760         * gst/gsttrashstack.c:
2761         * gst/gsttrashstack.h:
2762           out.  get out.  you're fired.  to the Attic !
2763
2764 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2765
2766         * gst/gstcaps.c: (gst_caps_intersect):
2767           fix signedness issues in a (hopefully) correct way
2768         * gst/gstelement.c: (gst_element_pads_activate):
2769           some debugging
2770         * gst/gstobject.c: (gst_object_set_parent):
2771           some debugging
2772
2773 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2774
2775         * gst/gstvalue.h: Fix prototypes.
2776
2777 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2778
2779         * docs/gst/gstreamer-sections.txt:
2780         * gst/gst.c: (gst_version_string):
2781         * gst/gst.h:
2782         * gst/gstversion.h.in:
2783         * win32/common/libgstreamer.def:
2784           add gst_version_string ()
2785
2786 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2787
2788         * configure.ac:
2789           clean up further
2790         * gst/gst.c: (init_post):
2791         * win32/common/config.h.in:
2792           it's PLUGINDIR now
2793         * gst/gstcaps.c: (gst_caps_intersect):
2794           use gint64, the range could be bigger than a guint
2795
2796 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2797
2798         * gst/gstclock.h:
2799           document potential problem in 2038
2800
2801 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2802
2803         * gst/gstcaps.c: (gst_caps_intersect):
2804           Fix guint j diving under 0
2805
2806 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2807
2808         * configure.ac:
2809         * win32/common/config.h:
2810         * win32/common/config.h.in:
2811           check for process.h, declares getpid() on Windows
2812         * gst/gstinfo.c:
2813           include process.h if we have it
2814         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2815         * gst/gstmemchunk.h:
2816           fix signedness issues
2817         * win32/common/libgstreamer.def:
2818           fix get_type's
2819
2820 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2821
2822         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2823         fix. Because of unsigned ints, caps intersection was going nuts and
2824         trying to access structures with G_MAXUINT index. That fixes
2825         videotestsrc ! ffmpegcolorspace ! fakesink
2826         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2827         consistency.
2828
2829 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2830
2831         * configure.ac:
2832           use the gettext macro
2833         * gst/elements/gstelements.c:
2834         * gst/gst.c:
2835         * gst/indexers/gstindexers.c:
2836           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2837         * win32/common/config.h:
2838           updated config.h
2839         * win32/common/config.h.in:
2840           add the template to generate config.h
2841         * win32/common/gstenumtypes.c:
2842         * win32/common/gstversion.h:
2843           updated copies
2844
2845 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2846
2847         * gst/gst.c: (gst_version):
2848         * gst/gstversion.h.in:
2849           add the nano
2850
2851 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2852
2853         * gst/gstevent.h:
2854           Oops, add missing closing bracket.
2855
2856 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2857
2858         * configure.ac:
2859           use common m4's for argument checking
2860
2861 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2862
2863         * docs/gst/gstreamer-sections.txt:
2864         * gst/gstevent.h:
2865           Add GST_EVENT_TYPE_NAME() macro.
2866
2867 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2868
2869         * gst/gstinfo.c:
2870         * gst/gstpluginfeature.c:
2871         * gst/gsttask.c:
2872           privatize more symbols
2873
2874 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2875
2876         * configure.ac:
2877           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2878           everything that uses GStreamer API should have the includes
2879
2880 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2881
2882         * docs/gst/gstreamer-sections.txt:
2883         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2884         * gst/gstvalue.h:
2885           give each value a _get_type, removes the DATA exports
2886
2887 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2888
2889         * gst/gst.c:
2890         * gst/gst.h:
2891           remove _gst_registry_auto_load, not used anymore
2892         * gst/gstbin.c: (gst_bin_get_type):
2893         * gst/gstbin.h:
2894         * gst/gstelement.c: (gst_element_get_type):
2895         * gst/gstelement.h:
2896         * gst/gstobject.c: (gst_object_get_type):
2897         * gst/gstobject.h:
2898         * gst/gstpad.c: (gst_pad_get_type):
2899         * gst/gstpad.h:
2900           make _get_type functions similar, fixes data export from library
2901
2902 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2903
2904         * configure.ac:
2905           correctly make conditionals
2906         * gst/elements/Makefile.am:
2907         * gst/elements/gstelements.c:
2908           fix typo causing fdsrc not to build
2909
2910 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2911
2912         * testsuite/Makefile.am:
2913         * testsuite/bytestream/.cvsignore:
2914         * testsuite/bytestream/Makefile.am:
2915         * testsuite/bytestream/filepadsink.c:
2916         * testsuite/bytestream/gstbstest.c:
2917         * testsuite/bytestream/test1.c:
2918         * testsuite/bytestream/testfile1:
2919         * testsuite/caps/normalisation.c:
2920         * testsuite/caps/random.c: (main):
2921         * testsuite/cleanup/.cvsignore:
2922         * testsuite/cleanup/Makefile.am:
2923         * testsuite/cleanup/cleanup1.c:
2924         * testsuite/cleanup/cleanup2.c:
2925         * testsuite/cleanup/cleanup3.c:
2926         * testsuite/cleanup/cleanup4.c:
2927         * testsuite/cleanup/cleanup5.c:
2928         * testsuite/controller/interpolator.c:
2929         * testsuite/debug/printf_extension.c: (main):
2930         * testsuite/elements/tee.c:
2931         * testsuite/negotiation/.cvsignore:
2932         * testsuite/negotiation/Makefile.am:
2933         * testsuite/negotiation/pad_link.c:
2934         * testsuite/pad/Makefile.am:
2935         * testsuite/pad/chainnopull.c:
2936         * testsuite/pad/getnopush.c:
2937         * testsuite/pad/link.c:
2938         * testsuite/refcounting/sched.c: (create_pipeline):
2939         * testsuite/registry/Makefile.am:
2940         * testsuite/registry/gst-print-formats.c:
2941         * testsuite/schedulers/.cvsignore:
2942         * testsuite/schedulers/142183-2.c:
2943         * testsuite/schedulers/142183.c:
2944         * testsuite/schedulers/143777-2.c:
2945         * testsuite/schedulers/143777.c:
2946         * testsuite/schedulers/147713.c:
2947         * testsuite/schedulers/147819.c:
2948         * testsuite/schedulers/147894-2.c:
2949         * testsuite/schedulers/147894.c:
2950         * testsuite/schedulers/Makefile.am:
2951         * testsuite/schedulers/group_link.c:
2952         * testsuite/schedulers/queue_link.c:
2953         * testsuite/schedulers/relink.c:
2954         * testsuite/schedulers/unlink.c:
2955         * testsuite/schedulers/unref.c:
2956         * testsuite/schedulers/useless_iteration.c:
2957         * testsuite/states/bin.c:
2958           clean out/remove some stuff from the testsuite directories
2959
2960 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2961
2962         * configure.ac:
2963           check for some headers
2964         * gst/elements/Makefile.am:
2965         * gst/elements/gstelements.c:
2966           don't compile fdsrc without sys/socket.h
2967         * gst/indexers/Makefile.am:
2968         * gst/indexers/gstindexers.c: (plugin_init):
2969           don't compile fileindex without mmap
2970
2971 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2972
2973         * configure.ac:
2974           reorganize
2975           clean up
2976           document more
2977           remove cruft
2978         * check/Makefile.am:
2979         * docs/gst/Makefile.am:
2980         * examples/helloworld/Makefile.am:
2981         * gst/Makefile.am:
2982         * gst/base/Makefile.am:
2983         * gst/check/Makefile.am:
2984         * gst/elements/Makefile.am:
2985         * gst/indexers/Makefile.am:
2986         * gst/parse/Makefile.am:
2987         * libs/gst/controller/Makefile.am:
2988         * libs/gst/dataprotocol/Makefile.am:
2989         * examples/helloworld/helloworld.c: (event_loop):
2990           compile fixes, though it's not being compiled currently
2991
2992 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2993
2994         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
2995           Add some simple tests for the new taglist date API.
2996
2997 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2998
2999         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3000         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3001           Beautify 'last-message' output: print 'none' for buffer timestamps
3002           and durations if none is set; improve alignment with next messages.
3003
3004 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3005
3006         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3007         * gst/gstpluginfeature.h:
3008         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3009         * gst/gstregistry.h:
3010         * docs/gst/gstreamer-sections.txt:
3011           Add new API to check plugin feature version requirements.
3012
3013         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3014           Some basic tests for the above.         
3015
3016 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3017
3018         * gst/gststructure.c: (gst_structure_to_string):
3019           guard against NULL printf - happens when for example
3020           a message structure with GstClock gets serialized
3021
3022 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3023
3024         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3025           Fix presumable copy'n'pasto.
3026
3027 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3028
3029         * gst/elements/gstfakesrc.h:
3030         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3031         * gst/elements/gsttypefindelement.c:
3032           fix some signedness
3033         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3034           I wonder if this could actually write +2GB files before
3035
3036 2005-10-13  Andy Wingo  <wingo@pobox.com>
3037
3038         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3039         Fix Timmeke Waymans bug.
3040         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3041         string of the proper length to gst_caps_from_string. There's a
3042         potential for, before this fix, that this could cause someone
3043         connecting over the network to cause a segfault if the payload is
3044         not NUL-terminated.
3045
3046 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3047
3048         * docs/design/draft-push-pull.txt:
3049         * docs/design/part-overview.txt:
3050         * docs/random/TODO-pre-0.9:
3051         * docs/random/old/ChangeLog.gstreamer:
3052         * gst/base/gstpushsrc.c:
3053         * gst/gstclock.c:
3054           fixed typos
3055
3056 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3057
3058         * gst/glib-compat.c: (gst_flags_get_first_value):
3059         * gst/glib-compat.h:
3060         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3061         (gst_value_compare_double), (gst_value_serialize_flags):
3062           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3063           infinite loop
3064
3065 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3066
3067         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3068         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3069           fix up debugging
3070         * tools/gst-launch.c: (event_loop):
3071           print out clock nicely
3072
3073 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3074
3075         * docs/gst/gstreamer-sections.txt:
3076         * gst/gsttaglist.h:
3077         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3078         (gst_tag_list_get_date_index):
3079           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3080           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3081
3082 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3083
3084         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3085         (gst_collectpads_chain):
3086         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3087         in CollectData.
3088
3089 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3090
3091         * docs/gst/gstreamer-sections.txt:
3092         * gst/gst.c:
3093         * gst/gsterror.h:
3094         * tools/gst-inspect.c: (main):
3095         * tools/gst-launch.c: (main):
3096         * tools/gst-run.c: (main):
3097         * tools/gst-xmlinspect.c: (main):
3098           fix GOption context leaks
3099           doc fixes
3100
3101 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3102
3103         * gst/gstbus.c:
3104           use HAVE_UNISTD_H
3105         * win32/common/config.h:
3106           update config
3107         * win32/vs6/grammar.dsp:
3108         * win32/vs6/libgstelements.dsp:
3109         * win32/vs6/libgstreamer.dsp:
3110           update vs6 files
3111
3112 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3113
3114         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3115         * gst/base/gstbasesrc.c: (gst_base_src_query):
3116           fix more guint64<->gdouble conversions
3117
3118 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3119
3120         * Makefile.am:
3121           add win32-update target
3122         * win32/common/gstconfig.h:
3123         * win32/common/gstenumtypes.c:
3124         * win32/common/gstenumtypes.h:
3125         * win32/common/gstversion.h:
3126           add files that visual studio can't generate
3127
3128 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3129
3130         * Makefile.am:
3131           add a win32-update target
3132         * configure.ac:
3133
3134 2005-10-12  Wim Taymans  <wim@fluendo.com>
3135
3136         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3137         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3138         * gst/gstelement.c: (gst_element_commit_state),
3139         (gst_element_set_state):
3140         Protect flags with proper lock.
3141         unref provided cached clock in dispose.
3142
3143 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3144
3145         * gst/gst.c:
3146         * gst/gstminiobject.h:
3147         * gst/gstpad.h:
3148         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3149           removed unused flags from miniobject
3150           doc fixes
3151
3152 2005-10-12  Wim Taymans  <wim@fluendo.com>
3153
3154         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3155         (gst_file_sink_event), (gst_file_sink_render):
3156         Flush before seeking.
3157
3158 2005-10-12  Andy Wingo  <wingo@pobox.com>
3159
3160         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3161         always been the case.
3162
3163 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3164
3165         * check/gst/gstbin.c: (GST_START_TEST):
3166         * docs/gst/gstreamer-sections.txt:
3167         * gst/base/gstbasesink.c: (gst_base_sink_init):
3168         * gst/base/gstbasesrc.c: (gst_base_src_init),
3169         (gst_base_src_get_range), (gst_base_src_check_get_range),
3170         (gst_base_src_start), (gst_base_src_stop):
3171         * gst/base/gstbasesrc.h:
3172         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3173         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3174         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3175         (bin_bus_handler):
3176         * gst/gstbin.h:
3177         * gst/gstbuffer.h:
3178         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3179         * gst/gstbus.h:
3180         * gst/gstelement.c: (gst_element_is_locked_state),
3181         (gst_element_set_locked_state), (gst_element_commit_state),
3182         (gst_element_set_state):
3183         * gst/gstelement.h:
3184         * gst/gstindex.c: (gst_index_init):
3185         * gst/gstindex.h:
3186         * gst/gstminiobject.h:
3187         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3188         (gst_object_set_parent):
3189         * gst/gstobject.h:
3190         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3191         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3192         * gst/gstpad.h:
3193         * gst/gstpadtemplate.h:
3194         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3195         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3196         * gst/gstpipeline.h:
3197         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3198         (gst_file_index_commit):
3199         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3200         * testsuite/pad/link.c: (gst_test_src_init),
3201         (gst_test_filter_init), (gst_test_sink_init):
3202         * testsuite/states/locked.c: (main):
3203           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3204           moved bitshift from macro to enum definition
3205
3206 2005-10-12  Wim Taymans  <wim@fluendo.com>
3207
3208         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3209         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3210         (gst_file_sink_render):
3211         Some more debugging info.
3212
3213 2005-10-12  Wim Taymans  <wim@fluendo.com>
3214
3215         * docs/design/part-states.txt:
3216         * tools/gst-launch.c: (main):
3217         Some doc updates.
3218         Revert non-intentional change.
3219
3220 2005-10-12  Wim Taymans  <wim@fluendo.com>
3221
3222         * check/gst/gstbin.c: (GST_START_TEST):
3223         * check/gst/gstelement.c: (GST_START_TEST):
3224         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3225         * check/gst/gstghostpad.c: (GST_START_TEST):
3226         * check/gst/gstpipeline.c: (GST_START_TEST):
3227         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3228         * check/states/sinks.c: (GST_START_TEST):
3229         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3230         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3231         (gst_bin_remove_func), (gst_bin_get_state_func),
3232         (gst_bin_recalc_state), (gst_bin_change_state_func),
3233         (bin_bus_handler):
3234         * gst/gstelement.c: (gst_element_get_state_func),
3235         (gst_element_get_state), (gst_element_abort_state),
3236         (gst_element_commit_state), (gst_element_set_state),
3237         (gst_element_change_state), (gst_element_change_state_func):
3238         * gst/gstelement.h:
3239         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3240         (gst_pipeline_provide_clock_func):
3241         * gst/gstutils.c: (gst_element_link_pads_filtered):
3242         * tools/gst-launch.c: (main):
3243         * tools/gst-typefind.c: (main):
3244         Use GstClockTime in _get_state() instead of GTimeVal.
3245         Remove old code in gstutils.c
3246
3247 2005-10-12  Andy Wingo  <wingo@pobox.com>
3248
3249         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3250         removed.
3251
3252         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3253         there is no task. Shouldn't affect any code, as nothing in our
3254         plugins checks this return value.
3255         (gst_pad_stop_task): Also take the stream lock if the pad has no
3256         task. Docs updated.
3257
3258 2005-10-12  Wim Taymans  <wim@fluendo.com>
3259
3260         * gst/gstpad.c: (pre_activate), (post_activate),
3261         (gst_pad_activate_pull), (gst_pad_activate_push):
3262         Cleanup activation code. Reset old state if
3263         activation failed.
3264
3265 2005-10-12  Wim Taymans  <wim@fluendo.com>
3266
3267         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3268         (gst_base_sink_change_state):
3269         No need to prerol after receiving EOS.
3270
3271         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3272         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3273         * gst/elements/gstidentity.c: (gst_identity_event):
3274         Print events more verbosely.
3275
3276 2005-10-12  Wim Taymans  <wim@fluendo.com>
3277
3278         * check/Makefile.am:
3279         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3280         * check/states/sinks2.c:
3281         Moved sinks2 testcode in sinks check.
3282
3283         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3284         (gst_bin_remove_func), (gst_bin_recalc_state),
3285         (gst_bin_change_state_func), (bin_bus_handler):
3286         Fix potential race condition when _get_state() iterated over an
3287         ASYNC element right before it posted a state completion.
3288
3289         * gst/gstclock.h:
3290         Do proper cast here.
3291
3292         * gst/gstevent.c: (gst_event_new_newsegment),
3293         (gst_event_parse_newsegment):
3294         A playback rate of 0.0 is not allowed.
3295
3296 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3297
3298         * win32/common/config.h:
3299         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3300         (_trewinddir), (_ttelldir), (_tseekdir):
3301         * win32/common/dirent.h:
3302         * win32/common/gtchar.h:
3303         * win32/common/libgstbase.def:
3304         * win32/common/libgstreamer.def:
3305         * win32/vs6/grammar.dsp:
3306         * win32/vs6/gst_inspect.dsp:
3307         * win32/vs6/gst_launch.dsp:
3308         * win32/vs6/gstreamer.dsw:
3309         * win32/vs6/libgstbase.dsp:
3310         * win32/vs6/libgstelements.dsp:
3311         * win32/vs6/libgstreamer.dsp:
3312           Visual Studio 6 project files, and a new common directory.
3313           Phear.
3314
3315 2005-10-11  Wim Taymans  <wim@fluendo.com>
3316
3317         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3318         (gst_base_sink_do_sync), (gst_base_sink_query),
3319         (gst_base_sink_change_state):
3320         * gst/base/gstbasesink.h:
3321         Correctly parse newsegment info.
3322
3323 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3324
3325         * gst/gst.c: (init_post):
3326           split plugin paths correctly
3327
3328 2005-10-11  Wim Taymans  <wim@fluendo.com>
3329
3330         * check/gst/gstevent.c: (GST_START_TEST):
3331         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3332         (gst_base_sink_change_state):
3333         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3334         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3335         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3336         * gst/gstevent.c: (gst_event_new_newsegment),
3337         (gst_event_parse_newsegment):
3338         * gst/gstevent.h:
3339         Added extra flag to newsegment for future API freeze.
3340         Updated check and base elements.
3341
3342 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3343
3344         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3345         (gst_collectpads_add_pad), (gst_collectpads_pop),
3346         (gst_collectpads_event), (gst_collectpads_chain):
3347         * gst/base/gstcollectpads.h: Handle EOS correctly.
3348
3349 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3350
3351         * tools/gst-launch.c: (main):
3352           more null protecting
3353
3354 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3355
3356         * gst/gst-i18n-lib.h:
3357           check for ENABLE_NLS, not GETTEXT_PACKAGE
3358         * gst/gstregistry.c: (gst_registry_add_plugin),
3359         (gst_registry_scan_path_level),
3360         (_gst_registry_remove_cache_plugins):
3361           protect possibly NULL strings
3362         * gst/parse/types.h:
3363           config.h already included before
3364         * tools/gst-inspect.c: (main):
3365           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3366           check for ENABLE_NLS, not GETTEXT_PACKAGE
3367         * tools/gst-launch.c: (main):
3368           check for ENABLE_NLS, not GETTEXT_PACKAGE
3369
3370 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3371
3372         * configure.ac:
3373           if we don't have glib, fail before testing 2.8
3374         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3375           fix a leak, should fix plugins-base testsuite
3376
3377 2005-10-11  Andy Wingo  <wingo@pobox.com>
3378
3379         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3380         take the mode we're going to as an arg. Go head and set the mode
3381         and flushing flags now, so that if the activate function starts a
3382         thread all the flags will be in the right state.
3383         (post_activate): Renamed also. Just handle making sure streaming
3384         finishes for the deactivation case, and setting the deactivated
3385         mode.
3386         (gst_pad_set_active): Complain loudly if deactivation fails.
3387         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3388         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3389         remove the terrible hack.
3390
3391 2005-10-11  Wim Taymans  <wim@fluendo.com>
3392
3393         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3394         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3395         (gst_bin_recalc_state), (gst_bin_change_state_func),
3396         (gst_bin_dispose), (bin_bus_handler):
3397         * gst/gstbin.h:
3398         Prepare to make current EOS message queue more generic.
3399         Fix some typos.
3400
3401         * gst/gstevent.c: (gst_event_new_newsegment),
3402         (gst_event_parse_newsegment):
3403         * gst/gstevent.h:
3404         Rename base to stream_time.
3405
3406         * gst/gstmessage.h:
3407         Fix typo in docs.
3408
3409 2005-10-11  Wim Taymans  <wim@fluendo.com>
3410
3411         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3412         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3413         (gst_bin_change_state_func), (bin_bus_handler):
3414         * gst/gstbin.h:
3415         Work on proper clock selection.
3416
3417 2005-10-11  Edward Hervey  <edward@fluendo.com>
3418
3419         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3420         * libs/gst/controller/gstcontroller.h:
3421         Added GList* version of _remove_properties() in order to be able to wrap
3422         it in bindings.
3423
3424 2005-10-11  Wim Taymans  <wim@fluendo.com>
3425
3426         * docs/design/part-states.txt:
3427         Some more docs.
3428
3429         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3430         (gst_bin_change_state_func), (bin_bus_handler):
3431         Doc updates. Don't distribute the same clock over and over again.
3432
3433         * gst/gstclock.c:
3434         * gst/gstclock.h:
3435         Doc updates.
3436
3437         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3438         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3439         (gst_pad_send_event):
3440         * gst/gstpad.h:
3441         Make probe emission threadsafe again.
3442         Register quarks and move _get_name() from utils.
3443         Doc updates.
3444
3445         * gst/gstpipeline.c: (gst_pipeline_class_init),
3446         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3447         Only redistribute the clock of it changed.
3448
3449         * gst/gstsystemclock.h:
3450         Doc updates. 
3451
3452         * gst/gstutils.c:
3453         * gst/gstutils.h:
3454         Moved the _flow_get_name() to GstPad.
3455
3456 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3457
3458         * check/gst-libs/gdp.c: (GST_START_TEST):
3459         * check/gst/gstcaps.c: (GST_START_TEST):
3460         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3461         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3462         (gst_dp_packet_from_caps):
3463           fix more valgrind warnings before turning up the heat
3464
3465 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3466
3467         * gst/parse/grammar.y:
3468           some cleanup before the hacking
3469
3470 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3471
3472         * gst/base/gstbasesrc.c: (gst_base_src_query):
3473           use conversions
3474         * gst/gstutils.c: (gst_guint64_to_gdouble),
3475         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3476         * gst/gstutils.h:
3477           externalize, basesrc uses it
3478           obviously the implementation needs testing
3479
3480 2005-10-10  Wim Taymans  <wim@fluendo.com>
3481
3482         * tests/sched/Makefile.am:
3483         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3484         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3485
3486 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3487
3488         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3489           apparently converting from guint64 to double is not implemented
3490           on MSVC
3491
3492 2005-10-10  Wim Taymans  <wim@fluendo.com>
3493
3494         * check/Makefile.am:
3495         * check/generic/states.c: (GST_START_TEST):
3496         * check/gst/gstbin.c: (GST_START_TEST):
3497         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3498         * check/states/sinks.c: (GST_START_TEST):
3499         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3500         (main):
3501         Check fixes, use API as stated in design docs, remove hacks.
3502
3503         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3504         (gst_base_sink_change_state):
3505         Catch stopping our task while we're shutting down.
3506
3507         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3508         (gst_bin_remove_func), (gst_bin_get_state_func),
3509         (gst_bin_recalc_state), (gst_bin_change_state_func),
3510         (bin_bus_handler):
3511         * gst/gstbin.h:
3512         * gst/gstelement.c: (gst_element_init),
3513         (gst_element_get_state_func), (gst_element_abort_state),
3514         (gst_element_commit_state), (gst_element_lost_state),
3515         (gst_element_set_state), (gst_element_change_state),
3516         (gst_element_change_state_func):
3517         * gst/gstelement.h:
3518         New state change algorithm (see #318116)
3519
3520         * gst/gstpipeline.c: (gst_pipeline_class_init),
3521         (gst_pipeline_init), (gst_pipeline_set_property),
3522         (gst_pipeline_get_property), (do_pipeline_seek),
3523         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3524         * gst/gstpipeline.h:
3525         Remove crude state change hacks.
3526
3527         * gst/gstutils.h:
3528         Remove crude hacks.
3529
3530         * tools/gst-launch.c: (main):
3531         Fixes for state change. Needs some more work to fully use the
3532         new stuff.
3533
3534 2005-10-10  Andy Wingo  <wingo@pobox.com>
3535
3536         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3537
3538         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3539         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3540         issue.
3541
3542 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3543
3544         * gst/gstiterator.c: (gst_iterator_new):
3545           Fix my previous commit: GTypes passed to gst_iterator_new()
3546           can be fundamental types.
3547
3548 2005-10-10  Wim Taymans  <wim@fluendo.com>
3549
3550         * gst/gstelement.c: (gst_element_iterate_pad_list),
3551         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3552         (gst_element_iterate_sink_pads):
3553         Use src/sink pads lists for the respective iterators instead
3554         of filtering.
3555
3556 2005-10-10  Andy Wingo  <wingo@pobox.com>
3557
3558         Merged in popt removal + GOption addition patch from Ronald, bug
3559         #169772.
3560
3561         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3562         GstElement macros around, remove popt-related symbols, add goption
3563         stuff.
3564
3565         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3566         
3567         * docs/gst/Makefile.am:
3568         * docs/libs/Makefile.am: No POPT_CFLAGS.
3569         
3570         * examples/manual/Makefile.am:
3571         * docs/manual/basics-init.xml: Doc updates with an example.
3572         
3573         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3574         (gst_init), (parse_one_option), (parse_goption_arg):
3575         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3576         bit of hand merging and debugging to get the GOption stuff working
3577         tho.
3578         
3579         * tests/Makefile.am:
3580         * tools/Makefile.am:
3581         * tools/gst-inspect.c: (main):
3582         * tools/gst-launch.c: (main):
3583         * tools/gst-run.c: (main):
3584         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3585
3586 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3587
3588         * gst/gstiterator.c: (gst_iterator_new):
3589           Add assertions to make sure passed GType is likely to really
3590           be a GType (as the compiler won't catch it if the size and
3591           GType arguments get mixed up, see #318447).
3592
3593 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3594
3595         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3596
3597         * gst/gstbin.c: (gst_bin_iterate_sorted):
3598           Pass GType and size arguments to gst_iterator_new() in the right
3599           order (maybe we should make _new() take the GType as first argument
3600           just like _new_list()?) (#318447).
3601           
3602
3603 2005-10-10  Wim Taymans  <wim@fluendo.com>
3604
3605         * gst/gstelement.c: (gst_element_finalize):
3606         And free the GStaticRecMutex too
3607
3608 2005-10-10  Andy Wingo  <wingo@pobox.com>
3609
3610         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3611         Allocate and free the mutex properly.
3612
3613         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3614         New macros.
3615         (GstElement): The state_lock is now recursive. Rebuild your
3616         plugins, suckers. Old macros adapted.
3617
3618         * docs/gst/gstreamer-sections.txt: Doc updates.
3619
3620         * gst/gstutils.h:
3621         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3622         (g_static_rec_cond_wait): Ported from state changes patch, while
3623         we wait on bug #317802 to be solved in a well-distributed GLib.
3624
3625         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3626         gst_element_change_state, variable name changes.
3627         (gst_element_change_state): Split out of gst_element_set_state in
3628         preparation for the state change merge. Doesn't pay attention to
3629         the 'transition' argument.
3630         (gst_element_set_state): Updates, hopefully purely cosmetic.
3631         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3632         state change patch.
3633         (gst_element_get_state_func): Renamed from get_state, cosmetic
3634         changes.
3635
3636 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3637
3638         * gst/elements/gstelements.c:
3639         * win32/GStreamer.vcproj:
3640         * win32/config.h:
3641         * win32/dirent.c: (_tseekdir):
3642         * win32/gst-inspect.vcproj:
3643         * win32/gst-launch.vcproj:
3644         * win32/gstconfig.h:
3645         * win32/gstelements.vcproj:
3646         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3647         * win32/gstreamer.def:
3648         * win32/msvc71.sln:
3649           updates for the win32 build (patch from Sebastien Moutte)
3650
3651 2005-10-10  Andy Wingo  <wingo@pobox.com>
3652
3653         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3654         gst_bin_get_state, cleaned up (but no logic changes).
3655         (bin_element_is_sink): Comment updates.
3656         (sink_iterator_filter): Remove needless cast.
3657         (gst_bin_iterate_sinks): Doc update.
3658         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3659         cleaned up (but no logic changes).
3660
3661         * check/states/sinks.c (test_src_sink): Cleanups from the state
3662         change patch.
3663         (test_livesrc_sink): Sync on the state.
3664
3665         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3666         the state change patch.
3667
3668         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3669         change patch.
3670
3671         * check/gst/gstbin.c: Merge in some style fixes and additional
3672         checks from Wim's state change patch.
3673
3674 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3675
3676         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3677         (gst_type_find_helper):
3678           Check whether we have the requested data already in our list of
3679           cached buffers before pulling a new buffer; also make the buffer
3680           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3681
3682 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3683
3684         * gst/gstcaps.c:
3685         * gst/gstevent.c:
3686           doc updates
3687         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3688           don't use long long, it's not portable.  Replacing with
3689           gint64 seems to work; let's hope no skeletons fall out of the closet.
3690
3691 2005-10-10  Andy Wingo  <wingo@pobox.com>
3692
3693         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3694
3695 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3696
3697         * docs/gst/gstreamer-sections.txt:
3698         * gst/gstevent.c:
3699         * gst/gstevent.h:
3700         * gst/gstinfo.c:
3701         * gst/gstinfo.h:
3702         * gst/gstmessage.c: (gst_message_parse_state_changed):
3703         * gst/gstpad.c:
3704         * gst/gstpad.h:
3705           more docs, fix compilation
3706
3707 2005-10-09  Philippe Khalaf <burger@speedy.org>
3708         * gst/gstmessage.c:
3709           Fixed a few forgotten variables on previous commit
3710
3711 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3712
3713         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3714           Fix evil typefind crasher: getrange() might return a short
3715           buffer at the end of a file, but gst_type_find_peek() must
3716           either return the full data as requested or NULL, but
3717           never a short buffer.
3718
3719 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3720
3721         * gst/gstmessage.c: (gst_message_new_state_changed),
3722         (gst_message_parse_state_changed):
3723         * gst/gstmessage.h:
3724           don't use "new", it's a C++ keyword
3725
3726 2005-10-08  Wim Taymans  <wim@fluendo.com>
3727
3728         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3729         * gst/gstelement.c: (gst_element_post_message):
3730         * gst/gstpipeline.c: (gst_pipeline_change_state):
3731         Small docs and debug updates.
3732
3733 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3734
3735         * docs/gst/gstreamer-sections.txt:
3736         * gst/gstelementfactory.c:
3737         * gst/gstevent.c:
3738         * gst/gsttaglist.c:
3739           more docs
3740
3741 2005-10-08  Wim Taymans  <wim@fluendo.com>
3742
3743         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3744         (gst_bin_dispose), (bin_bus_handler):
3745         Fix typos, add comments.
3746         Clear EOS list when going to PAUSED from any direction and do it
3747         in a threadsafe way.
3748         Get base time in a threadsafe way too.
3749         Fix confusing debug in the change_state function.
3750         Various other small cleanups.
3751         
3752         * gst/gstelement.c: (gst_element_post_message):
3753         Fix very verbose bus posting code.
3754
3755         * gst/gstpipeline.c: (gst_pipeline_class_init),
3756         (gst_pipeline_set_property), (gst_pipeline_get_property),
3757         (gst_pipeline_change_state):
3758         Small ARG_ -> PROP_ cleanup
3759
3760 2005-10-08  Wim Taymans  <wim@fluendo.com>
3761
3762         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3763         Do a less CPU demanding EOS check because we can.
3764
3765 2005-10-08  Wim Taymans  <wim@fluendo.com>
3766
3767         * libs/gst/dataprotocol/dataprotocol.c:
3768         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3769         (gst_dp_packet_from_event):
3770         * libs/gst/dataprotocol/dataprotocol.h:
3771         * libs/gst/dataprotocol/dp-private.h:
3772         It's about time we bump the version number.
3773         Since event types don't fit in the guint8 anymore describing
3774         the payload type, make payload type 16 bits wide.
3775
3776 2005-10-08  Wim Taymans  <wim@fluendo.com>
3777
3778         * docs/design/part-TODO.txt:
3779         * docs/design/part-clocks.txt:
3780         * docs/design/part-events.txt:
3781         * docs/design/part-gstbin.txt:
3782         * docs/design/part-gstelement.txt:
3783         * docs/design/part-gstpipeline.txt:
3784         * docs/design/part-live-source.txt:
3785         * docs/design/part-messages.txt:
3786         * docs/design/part-overview.txt:
3787         * docs/design/part-states.txt:
3788         Many doc updates.
3789
3790 2005-10-08  Wim Taymans  <wim@fluendo.com>
3791
3792         * gst/gstevent.c:
3793         * gst/gstevent.h:
3794         Fix event quark registration.
3795         Add some space between events so we can insert them in the
3796         right groups.
3797
3798 2005-10-08  Wim Taymans  <wim@fluendo.com>
3799
3800         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3801         (gst_base_sink_handle_buffer):
3802         Better log message.
3803
3804         * gst/gstbus.h:
3805         * gst/gstelement.h:
3806         More docs.
3807
3808         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3809         (gst_queue_set_property), (gst_queue_get_property):
3810         * gst/gstqueue.h:
3811         Remove old unused properties.
3812
3813 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3814         * docs/gst/gstreamer-sections.txt:
3815         * gst/gstmessage.c:
3816         * gst/gstmessage.h:
3817         * gst/gstminiobject.c:
3818         * gst/gstminiobject.h:
3819         * gst/gstobject.h:
3820         * gst/gstpad.h:
3821         * gst/gstutils.h:
3822           lots of new docs and doc fixes
3823
3824 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3825
3826         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3827         * gst/gstplugin.h:
3828         * gst/gstregistry.c: (gst_registry_lookup_locked),
3829         (gst_registry_scan_path_level):
3830         * gst/gstregistryxml.c: (load_plugin):
3831           Only ever load one plugin for a given plugin basename.
3832           This ensures correct overriding of GST_PLUGIN_PATH over
3833           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3834           system installed plugins.
3835
3836 2005-10-08  Wim Taymans  <wim@fluendo.com>
3837
3838         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3839         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3840         Prepare for doing QOS.
3841
3842 2005-10-08  Wim Taymans  <wim@fluendo.com>
3843
3844         * check/gst/gstbin.c: (GST_START_TEST):
3845         * check/pipelines/cleanup.c: (GST_START_TEST):
3846         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3847         Allow new clock message too.
3848
3849 2005-10-08  Wim Taymans  <wim@fluendo.com>
3850
3851         * gst/gstmessage.c: (gst_message_new_error),
3852         (gst_message_new_warning), (gst_message_new_tag),
3853         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3854         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3855         (gst_message_new_segment_start), (gst_message_new_segment_done),
3856         (gst_message_parse_state_changed),
3857         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3858         (gst_message_parse_new_clock):
3859         * gst/gstmessage.h:
3860         Also carry the clock in question.
3861
3862 2005-10-08  Wim Taymans  <wim@fluendo.com>
3863
3864         * gst/gstmessage.c: (gst_message_new_custom),
3865         (gst_message_new_eos), (gst_message_new_error),
3866         (gst_message_new_warning), (gst_message_new_tag),
3867         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3868         (gst_message_new_new_clock), (gst_message_new_segment_start),
3869         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3870         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3871         * gst/gstmessage.h:
3872         Clean up.
3873         Added clock related messages.
3874
3875         * gst/gstpipeline.c: (gst_pipeline_change_state):
3876         Post message when the clock changed.
3877
3878         * tools/gst-launch.c: (event_loop):
3879         Print new clock.
3880
3881 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3882
3883         * tools/gst-inspect.c: (print_element_properties_info):
3884           Can't pass NULL strings to g_print() on windows.
3885
3886 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3887
3888         * docs/Makefile.am:
3889         * docs/gst/Makefile.am:
3890         * docs/gst/gstreamer-docs.sgml:
3891         * docs/gst/running.xml:
3892         * docs/version.entities.in:
3893           add a chapter on running GStreamer.
3894           document GST_DEBUG and GST_PLUGIN* env vars
3895
3896 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3897
3898         * Makefile.am:
3899           remove include dir
3900         * configure.ac:
3901           remove PLUGINS_BUILDDIR stuff
3902         * gst/gst.c: (init_post):
3903           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3904         * idiottest.mak:
3905           remove, it was condescending and not needed
3906
3907 2005-10-08  Wim Taymans  <wim@fluendo.com>
3908
3909         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3910         (gst_base_sink_handle_object), (gst_base_sink_event),
3911         (gst_base_sink_wait), (gst_base_sink_handle_event),
3912         (gst_base_sink_change_state):
3913         * gst/base/gstbasesink.h:
3914         Repost EOS message while going to PLAYING if still EOS.
3915         Make sure that when receiving a FLUSH_START we don't attempt
3916         to sync on the clock anymore.
3917
3918 2005-10-08  Wim Taymans  <wim@fluendo.com>
3919
3920         * tools/gst-launch.c: (event_loop):
3921         Better message printout.
3922
3923 2005-10-08  Wim Taymans  <wim@fluendo.com>
3924
3925         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3926         (gst_bin_child_proxy_get_children_count):
3927         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3928         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3929         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3930         (gst_child_proxy_set_valist):
3931         * gst/parse/grammar.y:
3932         Make ChildProxy threadsafe and fix mem leaks.
3933
3934 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3935
3936         * gst/gst.c: (init_post):
3937           debug the GST_PLUGIN_ env vars
3938
3939 2005-10-08  Wim Taymans  <wim@fluendo.com>
3940
3941         * check/gst/gstbin.c: (GST_START_TEST):
3942         * check/gst/gstmessage.c: (GST_START_TEST):
3943         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3944         * gst/gstelement.c: (gst_element_commit_state),
3945         (gst_element_lost_state):
3946         * gst/gstmessage.c: (gst_message_new_state_changed),
3947         (gst_message_parse_state_changed):
3948         * gst/gstmessage.h:
3949         * tools/gst-launch.c: (event_loop):
3950         Added extra field to STATE_CHANGE message with the pending
3951         state, which will be different from the new state soon.
3952
3953 2005-10-08  Wim Taymans  <wim@fluendo.com>
3954
3955         * gst/gstbus.c: (gst_bus_pop):
3956         * gst/gstclock.c:
3957         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3958         Small cleanups and doc updates.
3959
3960 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3961
3962         * gst/gst.c: (init_pre):
3963         * gst/gstbin.c: (gst_bin_add_func):
3964           log distributing clocks and base time
3965         * gst/gstregistry.c: (gst_registry_add_plugin),
3966         (gst_registry_scan_path_level), (gst_registry_scan_path):
3967           clean up the debugging output a little
3968         * gst/gstutils.c: (gst_element_state_get_name):
3969           warn about a memleak (I've actually seen this be used, though
3970           it was probably a bug)
3971
3972 2005-10-07  Wim Taymans  <wim@fluendo.com>
3973
3974         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3975         (gst_base_src_init), (gst_base_src_default_newsegment),
3976         (gst_base_src_newsegment), (gst_base_src_do_seek),
3977         (gst_base_src_loop), (gst_base_src_start):
3978         * gst/base/gstbasesrc.h:
3979         Make the newsegment event customizable by subclasses.
3980
3981 2005-10-07  Wim Taymans  <wim@fluendo.com>
3982
3983         * gst/gstevent.c: (gst_event_new_buffersize),
3984         (gst_event_parse_buffersize):
3985         * gst/gstevent.h:
3986         New event for future idea.
3987
3988 2005-10-07  Andy Wingo  <wingo@pobox.com>
3989
3990         * gst/gstelement.c (gst_element_post_message): Doc update.
3991
3992         * docs/gst/gstreamer-sections.txt: Update.
3993
3994         * gst/gstmessage.c (gst_message_new_application): Made into a
3995         function like honest API calls.
3996         (gst_message_new_element): New message type.
3997
3998         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
3999
4000         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4001         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4002         times.
4003
4004         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4005         NO_PREROLL from gst_element_change_state to fall through.
4006
4007 2005-10-07  Wim Taymans  <wim@fluendo.com>
4008
4009         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4010         (gst_ghost_pad_do_activate_push):
4011         Activating a ghostpad with no internal pad in push mode
4012         is ok.
4013
4014 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4015
4016         * gst/gstobject.h:
4017           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4018           Fixes compilation on Windows.
4019
4020 2005-10-07  Michael Smith <msmith@fluendo.com>
4021
4022         * tools/gst-inspect.c:
4023           Print out feature and plugin count at the end when printing out
4024           all features.
4025
4026 2005-10-04  Michael Smith <msmith@fluendo.com>
4027
4028         * gst/gsterror.c: (_gst_stream_errors_init):
4029           Add another error string used in a few existing plugins.
4030
4031         * gst/gstplugin.c:
4032         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4033         * tools/gst-inspect.c: (print_element_info):
4034           When a feature disappears from a plugin (and the feature exists in
4035           the cached registry file), things went horribly wrong. This isn't a
4036           complete fix, we should actually be removing the 'missing' features
4037           from the features list when we load the actual plugin. That's not
4038           yet implemented. 
4039
4040 2005-10-04  Johan Dahlin  <johan@gnome.org>
4041
4042         * check/gst/gstiterator.c: (GST_START_TEST):
4043         * gst/gstbin.c: (gst_bin_iterate_elements),
4044         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4045         * gst/gstelement.c: (gst_element_iterate_pads):
4046         * gst/gstformat.c: (gst_format_iterate_definitions):
4047         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4048         (gst_iterator_new_list), (gst_iterator_filter):
4049         * gst/gstiterator.h:
4050         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4051         Add a GType to GstIterator, update callsites and tests.
4052
4053 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4054
4055         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4056           give events a chance to be handled by event probes when the pad
4057           is not linked
4058
4059 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4060
4061         * gst/gstevent.c: (gst_event_type_get_name),
4062         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4063         * gst/gstevent.h:
4064           add string representations for event types
4065
4066 2005-10-06  Wim Taymans  <wim@fluendo.com>
4067
4068         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4069         Don't use NULL pointers.
4070
4071 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4072
4073         * gst/gst_private.h:
4074         * gst/gstbus.c:
4075         * gst/gstelement.c:
4076         * gst/gstinfo.c:
4077         * gst/gstpluginfeature.c:
4078           widen the debug category in output to fit the biggest one we have
4079           add a bus category and use it
4080           play with the colors
4081           fix up some categories
4082
4083 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4084
4085         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4086           add push activation of sink ghost pads.
4087           Andye, please verify
4088
4089 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4090
4091         * gst/gstutils.c: (gst_element_link_pads):
4092           fix a bug in the case where neither element has a pad
4093         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4094           add a test for that case
4095
4096 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4097
4098         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4099           emit have-data before checking for peers.  This allows
4100           for probe handlers to connect elements.  This helps autopluggers.
4101         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4102         (gst_pad_suite):
4103           add six checks, linked/unlinked with no/true/false probe
4104
4105 2005-10-04  Wim Taymans  <wim@fluendo.com>
4106
4107         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4108         (gst_fake_sink_event), (gst_fake_sink_preroll),
4109         (gst_fake_sink_render), (gst_fake_sink_change_state):
4110         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4111         (gst_fake_src_get_property), (gst_fake_src_create),
4112         (gst_fake_src_stop):
4113         * gst/elements/gstidentity.c: (gst_identity_stop):
4114         Protect last_message with lock.
4115
4116 2005-10-04  Edward Hervey  <edward@fluendo.com>
4117
4118         * gst/gstformat.h: 
4119         Added precision in the comments for GST_FORMAT_DEFAULT
4120
4121 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4122
4123         * tools/gst-launch.c: (main):
4124           Don't try to run erroneous pipelines.
4125
4126 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4127
4128         * gst/gstbus.c: We don't need this header.
4129
4130 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4131
4132         * configure.ac:
4133           back to development
4134
4135 === release 0.9.3 ===
4136
4137 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4138
4139         * README:
4140         * configure.ac:
4141           Releasing 0.9.3, "Unregistered"
4142
4143 2005-10-03  Andy Wingo  <wingo@pobox.com>
4144
4145         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4146         whereby calling a pad's activatepush() function can start a thread
4147         that starts to push or pull before the pad gets the FLUSHING flag
4148         unset. Hack around it by holding the stream lock until the flag is
4149         set. Need to replace this with a proper solution. Together with
4150         the ghost pad fixes, this fixes mp3 playing/tagreading.
4151
4152         * docs/design/part-gstghostpad.txt: Add a note about activation of
4153         proxy pads outside of ghost pads.
4154
4155         * gst/gstghostpad.c: Implement the ghost pad activation design.
4156
4157 2005-10-02  Andy Wingo  <wingo@pobox.com>
4158
4159         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4160         It is volatile, after all.
4161
4162         * docs/design/part-gstghostpad.txt: Flesh out activation with
4163         ghost pads.
4164
4165         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4166         GST_DEBUG_FUNCPTR.
4167
4168 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4169
4170         * configure.ac:
4171           Fix (unused) AM_CONDITIONAL tests.
4172
4173 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4174
4175         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4176
4177         * gst/gstutils.c: (gst_pad_query_convert):
4178           Add assertion that makes sure src_val is >=0, just like
4179           gst_query_new_convert() has. (#315895)
4180
4181 2005-09-30  Edward Hervey  <edward@fluendo.com>
4182
4183         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4184         Let's not iterate pads we're not interested in, it avoids getting 
4185         sky-high refcounts on sinkpad.
4186
4187 2005-09-30  Wim Taymans  <wim@fluendo.com>
4188
4189         * gst/gstelement.c: (gst_element_set_state),
4190         (gst_element_change_state):
4191         Small tweak, element in ASYNC remains ASYNC.
4192
4193 2005-09-30  Wim Taymans  <wim@fluendo.com>
4194
4195         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4196         Only error is an error.
4197
4198         * gst/gstbin.c: (gst_bin_change_state):
4199         Better debugging.
4200
4201         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4202         Also call pad_block in pad alloc.
4203
4204         * gst/gstutils.c: (gst_flow_get_name):
4205         Better debugging.
4206
4207 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4208
4209         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4210         (gst_base_src_get_range):
4211           Fix documentation typos. Add some more debug info.
4212
4213 2005-09-29  David Schleef  <ds@schleef.org>
4214
4215         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4216           more end-user friendly.
4217         * tools/gst-inspect.c: (main): Check if command-line argument is
4218           a file and attempt to load that file as a plugin.
4219
4220 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4221
4222         * check/gst/gstbin.c:
4223         * check/states/sinks.c:
4224           fix tests for the new warning
4225         * check/gst/gstpipeline.c:
4226           add a test for pipeline and bus interaction
4227         * gst/gstelement.c:
4228           elements should be NULL if they get disposed; add a warning if not
4229
4230 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4231
4232         * gst/gstobject.c:
4233           for 2.6 refcounting, make debug log more correct by printing
4234           the actual refcounts at the time of swap (Wim)
4235
4236 2005-09-29  Andy Wingo  <wingo@pobox.com>
4237
4238         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4239         removes signal watches previously added via
4240         gst_bus_add_signal_watch.
4241         (gst_bus_add_signal_watch): Don't return the source id, just store
4242         it on the bus if there wasn't an id already.
4243
4244         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4245         add_signal_watch and remove_signal_watch.
4246
4247 2005-09-29  Edward Hervey  <edward@fluendo.com>
4248
4249         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4250         Better if we actually iterate the list :)
4251
4252 2005-09-29  Wim Taymans  <wim@fluendo.com>
4253
4254         * check/gst/gstbin.c: (GST_START_TEST):
4255         Change for new bus API.
4256
4257         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4258         (send_messages), (GST_START_TEST), (gstbus_suite):
4259         Change for new bus signal API.
4260
4261         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4262         (gst_bus_source_prepare), (gst_bus_source_check),
4263         (gst_bus_create_watch), (gst_bus_add_watch_full),
4264         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4265         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4266         * gst/gstbus.h:
4267         Remove support for multiple GSources operating on different
4268         message types as it is too complex and unneeded when using
4269         signals.
4270         Added support for receiving signals from the bus.
4271
4272 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4273
4274         * docs/libs/tmpl/gstdataprotocol.sgml:
4275         * docs/manual/advanced-dataaccess.xml:
4276         * gst/elements/gstcapsfilter.c:
4277         * gst/gstutils.c:
4278           rename filter-caps to caps property
4279
4280 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4281
4282         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4283           More robust fraction string parsing.
4284
4285         * docs/pwg/appendix-porting.xml:
4286           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4287
4288 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4289
4290         * gst/gstcaps.c: (gst_caps_do_simplify):
4291           Thou shalt not free a structure and then continue using it
4292           in the next loop iteration.
4293
4294         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4295         (gst_caps_suite):
4296           Add test case for caps simplification.
4297
4298 2005-09-29  Wim Taymans  <wim@fluendo.com>
4299
4300         * check/gst/gstbin.c: (GST_START_TEST):
4301         Oops.
4302
4303 2005-09-29  Wim Taymans  <wim@fluendo.com>
4304
4305         * check/gst/gstbin.c: (GST_START_TEST):
4306         Add bus to bin.
4307
4308         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4309         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4310         (find_element), (gst_bin_sort_iterator_next),
4311         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4312         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4313         (gst_bin_change_state), (gst_bin_dispose):
4314         A bin does not have a bus, it gets the bus from the parent.
4315
4316         * gst/gstelement.c: (gst_element_requires_clock),
4317         (gst_element_provides_clock), (gst_element_is_indexable),
4318         (gst_element_is_locked_state), (gst_element_change_state),
4319         (gst_element_set_bus_func):
4320         Small cleanups.
4321
4322         * gst/gstpipeline.c: (gst_pipeline_class_init),
4323         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4324         The pipeline provides a bus.
4325
4326 2005-09-28  Johan Dahlin  <johan@gnome.org>
4327
4328         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4329         gst_structure_get_enum instead of gst_structure_get_int
4330
4331         * gst/gststructure.c (gst_structure_get_enum): Impl.
4332
4333         * gst/gststructure.h (gst_structure_get_enum): Add
4334
4335         * docs/gst/gstreamer-sections.txt: Ditto
4336
4337         * gst/gstmessage.c (gst_message_new_state_changed): Use
4338         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4339         which does introspection.
4340         Reviewed by Christian Schaller
4341
4342 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4343
4344         * gst/gstinfo.c: (gst_debug_log_default):
4345           don't do dummy g_strdup()s
4346         * libs/gst/controller/gstcontroller.c:
4347         (on_object_controlled_property_changed),
4348         (gst_controlled_property_new), (gst_controller_new_valist),
4349         (gst_controller_new_list),
4350         (gst_controller_remove_properties_valist), (gst_controller_set),
4351         (gst_controller_get), (gst_controller_sync_values),
4352         (gst_controller_get_value_array), (_gst_controller_class_init),
4353         (gst_controller_get_type):
4354         * libs/gst/controller/gstcontroller.h:
4355         * libs/gst/controller/gstinterpolation.c:
4356         (gst_controlled_property_find_timed_value_node):
4357           convert // to /**/ comments
4358
4359 2005-09-28  Wim Taymans  <wim@fluendo.com>
4360
4361         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4362         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4363         (gst_bus_sync_signal_handler):
4364         * gst/gstbus.h:
4365         Added async-message and sync-message signals to the bus.
4366         Added helper BusFunc to emit signals for all posted messages.
4367
4368         * gst/gstmessage.c: (gst_message_type_get_name),
4369         (gst_message_type_to_quark), (gst_message_get_type):
4370         * gst/gstmessage.h:
4371         Register quarks for message names.
4372
4373 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4374
4375         * docs/libs/gstreamer-libs-sections.txt:
4376         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4377         (gst_controller_new_list):
4378         * libs/gst/controller/gstcontroller.h:
4379           added another constructor for language bindings
4380
4381 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4382
4383         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4384           add another check
4385         * gst/gstbus.c:
4386           add some doc
4387         * gst/gstinfo.c: (_gst_debug_init):
4388           slightly more readable color for refcount debugging
4389
4390 2005-09-28  Wim Taymans  <wim@fluendo.com>
4391
4392         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4393         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4394         (find_element), (gst_bin_sort_iterator_next),
4395         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4396         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4397         (gst_bin_change_state), (gst_bin_dispose):
4398         Small doc fixes. get_clock -> provide_clock.
4399
4400         * gst/gstelement.c: (gst_element_class_init),
4401         (gst_element_provides_clock), (gst_element_provide_clock),
4402         (gst_element_get_clock), (gst_element_commit_state),
4403         (gst_element_lost_state):
4404         * gst/gstelement.h:
4405         Make get/set_clock() symetric. Add provide_clock vmethod since
4406         that is actually what this function does.
4407
4408         * gst/gstpipeline.c: (gst_pipeline_class_init),
4409         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4410         (gst_pipeline_get_clock):
4411         get_clock -> provide_clock.
4412
4413 2005-09-28  Andy Wingo  <wingo@pobox.com>
4414
4415         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4416         lieu of real docs...
4417
4418         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4419
4420 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4421
4422         * gst/elements/gstcapsfilter.c:
4423         * gst/elements/gstfakesink.c:
4424         * gst/elements/gstfakesrc.c:
4425         * gst/elements/gstfdsink.c:
4426         * gst/elements/gstfdsrc.c:
4427         * gst/elements/gstfilesink.c:
4428         * gst/elements/gstfilesrc.c:
4429         * gst/elements/gstidentity.c:
4430         * gst/elements/gsttee.c:
4431         * gst/elements/gsttypefindelement.c:
4432           Make element details static.
4433
4434 2005-09-28  Wim Taymans  <wim@fluendo.com>
4435
4436         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4437         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4438         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4439         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4440         (gst_bin_change_state), (gst_bin_dispose):
4441         Some documentation updates.
4442         Clean up dispose handlers.
4443
4444         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4445         * gst/gstpad.c: (gst_pad_dispose):
4446         Clean up dispose handler.
4447
4448         * gst/gstpipeline.c: (gst_pipeline_change_state):
4449         Removed spurious UNLOCK.
4450
4451 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4452
4453         * docs/gst/gstreamer-sections.txt:
4454         * gst/base/gstbasesrc.h:
4455         * gst/gstelement.h:
4456         * gst/gstevent.h:
4457         * gst/gstobject.h:
4458         * gst/gstpad.h:
4459         * gst/gstpipeline.c:
4460         * gst/gstpipeline.h:
4461         * gst/gstutils.h:
4462         * gst/gstxml.h:
4463           added two new functions to the docs
4464                 documents all undocumented GstXXXFlags
4465                 completed some incomplete docs 
4466
4467 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4468
4469         * gst/gstbin.c: (gst_bin_dispose):
4470         * gst/gstelement.c: (gst_element_dispose):
4471           remove now useless and leaky resurrection code in dispose
4472         * gst/base/gstbasesrc.c: (gst_base_src_init):
4473         * gst/gstelementfactory.c: (gst_element_factory_create):
4474         * gst/gstobject.c: (gst_object_set_parent):
4475           add some debugging
4476
4477 2005-09-27  Wim Taymans  <wim@fluendo.com>
4478
4479         * docs/design/part-TODO.txt:
4480         Update TODO.
4481
4482         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4483         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4484         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4485         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4486         (gst_bin_change_state):
4487         * gst/gstelement.h:
4488         Remove element variable, we keep element info in the iterator now.
4489
4490 2005-09-27  Andy Wingo  <wingo@pobox.com>
4491
4492         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4493         values.
4494
4495 2005-09-27  Wim Taymans  <wim@fluendo.com>
4496
4497         * check/gst/gstbin.c: (GST_START_TEST):
4498         Enable check that works now.
4499
4500         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4501         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4502         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4503         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4504         (gst_bin_change_state):
4505         * gst/gstbin.h:
4506         Redid the state change algorithm using a topological sort algo.
4507         Handles all cases correctly.
4508         Exposed iterator for state change order.
4509
4510         * gst/gstelement.h:
4511         Temp storage for state changes. Need to get rid of this soon.
4512
4513 2005-09-27  Wim Taymans  <wim@fluendo.com>
4514
4515         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4516         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4517         (link_fold_func), (gst_pad_proxy_setcaps):
4518         Leak fixes, the fold functions need to unref the passed object and
4519         _get_parent_*() returns ref to parent.
4520
4521 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4522
4523         * check/gst/gstbuffer.c: (test_make_writable):
4524           Plug leak in test case and fix 'make check-valgrind'
4525
4526 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4527
4528         * gst/gstbuffer.c: (gst_subbuffer_init):
4529           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4530           works correctly in all circumstances (we could have just copied
4531           the parent buffer's readonly flag, but conceptually it seems
4532           cleaner to mark all subbuffers as read-only). (based on patch
4533           by Alessandro Decina, #314710).
4534         
4535         * check/gst/gstbuffer.c: (create_read_only_buffer),
4536         (test_make_writable), (test_subbuffer_make_writable),
4537         (gst_test_suite):
4538           Add some tests for gst_buffer_make_writable().
4539
4540 2005-09-27  Wim Taymans  <wim@fluendo.com>
4541
4542         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4543         use gst_object_has_ancestor().
4544
4545         * gst/gstobject.c: (gst_object_has_ancestor):
4546         * gst/gstobject.h:
4547         gst_object_has_ancestor() copied from gstbin.c as it is a
4548         usefull function.
4549
4550         * tests/instantiate/create.c: (create_all_elements):
4551         * tests/lat.c: (handoff_src), (handoff_sink):
4552         * tests/sched/runxml.c: (main):
4553         * tests/seeking/seeking1.c: (main):
4554         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4555         (main):
4556         Fix compilation of some tests.
4557
4558 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4559
4560         * gst/gsterror.h:
4561           Remove comment. GST_TYPE_G_ERROR is here to stay,
4562           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4563           (#316961, #300610).
4564
4565 2005-09-26  Wim Taymans  <wim@fluendo.com>
4566
4567         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4568         Added check that shows error in state change order.
4569
4570 2005-09-26  Wim Taymans  <wim@fluendo.com>
4571
4572         * gst/gstbin.c: (gst_bin_change_state):
4573         Make state change function use 3 queues again, we were
4574         adding elements in the wrong order.
4575
4576         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4577         Some debug info,
4578
4579         * gst/gstpad.c: (gst_pad_dispose):
4580         Added some debug info first.
4581
4582 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4583
4584         * docs/design/draft-push-pull.txt:
4585         * docs/design/part-events.txt:
4586         * docs/design/part-overview.txt:
4587         * docs/design/part-scheduling.txt:
4588           Replace all _pull_region() with _pull_range()
4589           
4590 2005-09-26  Andy Wingo  <wingo@pobox.com>
4591
4592         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4593
4594         * check/gst-libs/controller.c: Update for controller api change.
4595
4596         * configure.ac: 
4597         * tests/Makefile.am:
4598         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4599         over by GLib bug 118439.
4600         
4601         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4602         routines to a function.
4603
4604         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4605
4606         * libs/gst/controller/gsthelper.c:
4607         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4608         (gst_object_sync_values): Renamed from sink_values. Ugh.
4609
4610         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4611
4612         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4613         Renamed from controller_key, as it is exported.
4614
4615         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4616
4617 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4618
4619         * gst/Makefile.am:
4620         * gst/gst.h:
4621         * gst/gstpad.h:
4622         * gst/gstpadtemplate.h:
4623         * gst/gstquery.c:
4624         * gst/gstquery.h:
4625         * gst/gstqueryutils.c:
4626         * gst/gstqueryutils.h:
4627           remove queryutils headers after moving the two used functions
4628           to gstquery.  also fixes build problem for gstsiddec
4629
4630 2005-09-26  Michael Smith <msmith@fluendo.com>
4631
4632         * tools/gst-launch.1.in:
4633         Correct documentation in manpage of debug syntax
4634
4635 2005-09-26  Wim Taymans  <wim@fluendo.com>
4636
4637         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4638         (gst_base_src_is_seekable), (gst_base_src_change_state):
4639         Some more debugging info.
4640
4641 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4642
4643         * docs/gst/gstreamer-sections.txt:
4644         * gst/base/gstbasetransform.h:
4645         * gst/gstindex.h:
4646           added more docs
4647
4648 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4649
4650         * docs/gst/.cvsignore:
4651         * docs/gst/tmpl/.cvsignore:
4652         * docs/gst/tmpl/gstpipeline.sgml:
4653         * docs/gst/tmpl/gstplugin.sgml:
4654         * gst/gstpipeline.c:
4655         * gst/gstplugin.c:
4656         * gst/gstplugin.h:
4657           inlined the last two docs files
4658           removed the tmpl directory from cvs (no more conflicts here!)
4659
4660 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4661
4662         * docs/gst/gstreamer-sections.txt:
4663         * docs/gst/tmpl/.cvsignore:
4664         * docs/gst/tmpl/gstpad.sgml:
4665         * docs/gst/tmpl/gstpadtemplate.sgml:
4666         * gst/Makefile.am:
4667         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4668         (gst_pad_finalize), (gst_pad_set_pad_template):
4669         * gst/gstpad.h:
4670         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4671         (gst_pad_template_class_init), (gst_pad_template_init),
4672         (gst_pad_template_dispose), (name_is_valid),
4673         (gst_static_pad_template_get), (gst_pad_template_new),
4674         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4675         (gst_pad_template_pad_created):
4676         * gst/gstpadtemplate.h:
4677           inlined two more docs
4678           factored gstpadtemplate out of gstpad
4679
4680 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4681
4682         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4683         (test_children_state_change_order_semi_sink):
4684           Fix test case: we can't rely on a fixed state change order when
4685           going from READY => PAUSED because the sink might commit its 
4686           new state first when the first buffer created by the source 
4687           reaches the sink before the source has finished its change state.
4688           (Test case still fails at times, see #316856, comment 5 onwards)
4689
4690 2005-09-24  Wim Taymans  <wim@fluendo.com>
4691
4692         * docs/design/part-events.txt:
4693         * docs/design/part-gstbus.txt:
4694         * docs/design/part-gstpipeline.txt:
4695         * docs/design/part-messages.txt:
4696         * docs/design/part-overview.txt:
4697         * docs/design/part-segments.txt:
4698         * gst/gstbin.c:
4699         * gst/gstbuffer.c:
4700         * gst/gstclock.c:
4701         * gst/gstelement.c:
4702         * gst/gstevent.c:
4703         * gst/gstfilter.c:
4704         * gst/gstiterator.c:
4705         Various documentation updates.
4706
4707 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4708
4709         * gst/gstclock.h:
4710           Well, that's embarassing.  Luckily we weren't using
4711           GST_CLOCK_DIFF anywhere.
4712
4713 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4714
4715         * common/gtk-doc.mak:
4716           don't fail on building XML, FC4 slave shows a bunch of doc
4717           missing bits that I don't get
4718         * gst/gstpad.c:
4719         * gst/gstpipeline.c:
4720         * gst/gststructure.c:
4721           some doc updates
4722
4723 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4724
4725         * docs/design/part-gstbin.txt:
4726         * docs/design/part-gstbus.txt:
4727         * gst/gstbus.c:
4728           Add blurb about how the bus goes into flushing mode and
4729           drops all messages when its bin goes from READY into NULL 
4730           state.
4731
4732 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4733
4734         * docs/gst/gstreamer-sections.txt:
4735         * gst/gststructure.c: (gst_structure_get_clock_time):
4736         * gst/gststructure.h:
4737           add a method to get a GstClockTime out of a structure
4738
4739 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4740
4741         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4742         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4743           Added test to check state change order in bins (can still be made
4744           to fail here under heavy disk load; bails out with 'Push on pad
4745           fakesink:sink0, but it was not activated in push mode').
4746
4747         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4748           Fix state change order when there is only a semi sink (#316856)
4749
4750         * gst/gstbus.c: (gst_bus_class_init):
4751           Use _class_peek_parent(), not _class_ref(); fix docs to say
4752           'default main context' instead of 'mainloop' where that is
4753           what's meant.
4754
4755         * gst/gstelement.c: (gst_element_commit_state),
4756         (gst_element_set_state):
4757           Fix typos in debug messages
4758
4759 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4760
4761         * docs/README:
4762         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4763         * gst/gstpluginfeature.c:
4764         * gst/gstutils.c:
4765           various doc updates
4766         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4767           change an assert into an error until it gets fixed properly
4768
4769 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4770
4771         * docs/gst/gstreamer-sections.txt:
4772         * docs/gst/tmpl/.cvsignore:
4773         * docs/gst/tmpl/gstelement.sgml:
4774         * docs/gst/tmpl/gstinfo.sgml:
4775         * docs/gst/tmpl/gstobject.sgml:
4776         * gst/gstelement.c:
4777         * gst/gstelement.h:
4778         * gst/gstinfo.c:
4779         * gst/gstinfo.h:
4780         * gst/gstobject.c: (gst_object_class_init):
4781         * gst/gstobject.h:
4782           inlined 3 more biiiig doc files and added some missing docs on the fly
4783
4784 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4785
4786         * check/gst/.cvsignore:
4787         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4788         * gst/gstregistryxml.c: (load_plugin),
4789         (gst_registry_xml_save_plugin):
4790           put back source in registry.  add checks for find_plugin.
4791         * testsuite/states/bin.c: (assert_state), (empty_bin),
4792         (test_adding_one_element), (main):
4793         * testsuite/states/locked.c: (main):
4794           some compile/run fixes
4795
4796 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4797
4798         * check/gst/gstvalue.c: (GST_START_TEST):
4799           fix leaks in the test itself
4800
4801 2005-09-22  Wim Taymans  <wim@fluendo.com>
4802
4803         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4804         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4805         (gst_base_sink_query):
4806         Prepare for more accurate position reporting and query
4807         handling.
4808
4809         * gst/gstelement.c: (gst_element_send_event),
4810         (gst_element_set_state):
4811         Add some comment.
4812
4813 2005-09-22  Wim Taymans  <wim@fluendo.com>
4814
4815         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4816         (gst_query_parse_segment):
4817         * gst/gstquery.h:
4818         More documentation.
4819         Add segment query for future use.
4820
4821 2005-09-22  Wim Taymans  <wim@fluendo.com>
4822
4823         * gst/gstbin.c: (gst_bin_add_func):
4824         Some more debug info.
4825
4826         * gst/gstelement.c: (gst_element_send_event):
4827         Simplify send_event
4828
4829         * gst/gstelement.h:
4830         Don't know how flags got broken.
4831
4832         * gst/gstquery.h:
4833         Added new query.
4834
4835 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4836
4837         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4838           Add simplistic test suite for GST_TYPE_DATE serialisation and
4839           deserialisation.
4840
4841 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4842
4843         * docs/gst/gstreamer-sections.txt:
4844         * gst/gststructure.c: (gst_structure_set_valist),
4845         (gst_structure_get_date):
4846         * gst/gststructure.h:
4847         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4848         (gst_date_copy), (gst_value_compare_date),
4849         (gst_value_serialize_date), (gst_value_deserialize_date),
4850         (gst_value_transform_date_string),
4851         (gst_value_transform_string_date), (_gst_value_initialize):
4852         * gst/gstvalue.h:
4853           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4854           bunch of utility functions along with a hack that checks that
4855           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4856           is required. Part of the grand scheme in #170777.
4857
4858 2005-09-22  Andy Wingo  <wingo@pobox.com>
4859
4860         * gst/gstconfig.h.in: Psych out gtk-doc.
4861
4862         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4863
4864         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4865
4866         * tools/gst-inspect.c (print_element_list): Plug some
4867         inconsequential leaks.
4868
4869         * gst/gstregistry.c (gst_registry_get_default): Doc.
4870
4871         * check/gst/gstplugin.c: 
4872         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4873         * gst/gstelementfactory.c (gst_element_factory_create): 
4874         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4875         refcount changes.
4876
4877         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4878         (gst_plugin_feature_load): Doc, don't eat refs.
4879
4880         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4881         (gst_plugin_list_free): Doc.
4882         (gst_plugin_load_file): Doc updates.
4883
4884         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4885         accessors returning refcounted objects, return a ref.
4886
4887         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4888         accessor for caps. IDEMPOTENCE. Oh yes.
4889
4890 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4891
4892         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4893
4894         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4895         (_gst_debug_register_funcptr):
4896           Add mutex to serialise access to the hash table with
4897           the function pointer => function name string mapping;
4898           make that hash table static scope (#316809).
4899
4900         * gst/registries/.cvsignore:
4901           Remove left-over file.
4902
4903 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4904
4905         * docs/pwg/appendix-porting.xml:
4906           And something about newsegment events and caps-on-buffers to
4907           the porting guide (feel free to improve).
4908
4909 2005-09-21  Andy Wingo  <wingo@pobox.com>
4910
4911         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4912         data and event probes on the same pad.
4913         (test_buffer_probe_once): Test that removing probes from within
4914         the probe functions works.
4915
4916 2005-09-21  Andy Wingo  <wingo@pobox.com>
4917
4918         * check/gst/gstutils.c: New file.
4919         (test_buffer_probe_n_times): A simple buffer probe test. More to
4920         come, foolios.
4921
4922         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4923         have-data::buffer, not have-data.
4924         (gst_pad_add_event_probe): Likewise for have-data::event.
4925         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4926         peer' isn't quite right yet though.
4927         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4928         (gst_pad_remove_data_probe): Change to take the guint handler_id
4929         as their arg, not the function+data, which is more glib-like.
4930
4931         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4932         the signal emission to indicate if the data is a buffer or an
4933         event.
4934         (gst_pad_get_type): Initialize buffer and event quarks.
4935         (gst_pad_class_init): have-data is now a detailed signal, yes it
4936         is.
4937
4938 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4939
4940         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4941         * gst/gstutils.c: (gst_util_set_value_from_string),
4942         (gst_util_set_object_arg):
4943           Don't put functional code in g_return_if_fail() or
4944           g_return_val_if_fail() statements, otherwise things will 
4945           break when G_DISABLE_CHECKS is defined during compilation.
4946
4947 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4948
4949         * docs/gst/tmpl/.cvsignore:
4950         * docs/gst/tmpl/gstvalue.sgml:
4951         * gst/gstvalue.c:
4952         * gst/gstvalue.h:
4953           inlied another one and added  some obvious docs
4954
4955 2005-09-21  Wim Taymans  <wim@fluendo.com>
4956
4957         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4958         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
4959         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
4960         (gst_fdsrc_get_property), (gst_fdsrc_create):
4961         * gst/elements/gstfdsrc.h:
4962         Properly implement fdsrc. Removed signal and timeout,
4963         better implemented somewhere else.
4964
4965 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4966
4967         * docs/gst/tmpl/.cvsignore:
4968         * docs/gst/tmpl/gstimplementsinterface.sgml:
4969         * gst/gstinterface.c:
4970           inlined more docs
4971
4972 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4973
4974         * docs/gst/gstreamer-sections.txt:
4975         * docs/gst/tmpl/.cvsignore:
4976         * docs/gst/tmpl/gstenumtypes.sgml:
4977           remove obsolete doc file
4978
4979 2005-09-21  David Schleef  <ds@schleef.org>
4980
4981         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
4982         little beer, fix a little leak.
4983
4984 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4985
4986         * docs/gst/gstreamer-docs.sgml:
4987         * docs/gst/gstreamer-sections.txt:
4988         * docs/gst/tmpl/.cvsignore:
4989         * gst/Makefile.am:
4990         * gst/gst.h:
4991         * gst/gstbin.c:
4992         * gst/gstelement.h:
4993         * gst/gstindex.c: (gst_index_class_init):
4994         * gst/gstindex.h:
4995         * gst/gstindexfactory.c: (gst_index_factory_get_type),
4996         (gst_index_factory_class_init), (gst_index_factory_init),
4997         (gst_index_factory_finalize), (gst_index_factory_new),
4998         (gst_index_factory_destroy), (gst_index_factory_find),
4999         (gst_index_factory_create), (gst_index_factory_make):
5000         * gst/gstindexfactory.h:
5001         * gst/gstpluginfeature.c:
5002         * gst/gstpluginfeature.h:
5003         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5004           more docs inlined, splitted gstindex.{c,h}
5005
5006 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5007
5008         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5009           fix a leak
5010
5011 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5012
5013         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5014           Set sync to FALSE by default.
5015
5016 2005-09-20  Wim Taymans  <wim@fluendo.com>
5017
5018         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5019         (gst_base_sink_init):
5020         Make sync property settable from subclass.
5021
5022         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5023         (gst_fake_sink_change_state):
5024         Set sync to FALSE by default.
5025
5026 2005-09-20  Wim Taymans  <wim@fluendo.com>
5027
5028         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5029         * tools/gst-launch.c: (main):
5030         The timeout handler should have lower priority than the source
5031         so we don't timeout before popping a message with 0 timeout.
5032         Dump error messages after failed state change.
5033
5034 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5035
5036         * tools/gst-inspect.c: (print_element_properties_info):
5037           Fix two typos.
5038
5039 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5040
5041         * check/gst/gstevent.c:
5042         * gst/elements/gstfakesink.c:
5043         * gst/elements/gstfakesink.h:
5044           remove the sync property from fakesink.
5045           has the side effect of setting sync TRUE
5046           for fakesink, which is a change.  Anyone who knows how
5047           to fix this nicely in a GObject-y way, feel free.
5048
5049 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5050
5051         * docs/gst/gstreamer-docs.sgml:
5052           remove probe refsection
5053
5054 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5055
5056         * check/Makefile.am:
5057           disable valgrinding the controller test again
5058         * docs/gst/gstreamer-sections.txt:
5059           update for api-changes
5060
5061 2005-09-20  Wim Taymans  <wim@fluendo.com>
5062
5063         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5064         (gst_base_sink_set_property), (gst_base_sink_get_property),
5065         (gst_base_sink_do_sync):
5066         * gst/base/gstbasesink.h:
5067         Added sync property to basesink to disable clock sync.
5068
5069 2005-09-20  Andy Wingo  <wingo@pobox.com>
5070
5071         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5072         eating the caller's refcount.
5073
5074         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5075         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5076         refcount.
5077
5078         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5079         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5080         of GLib 2.8 public, so we can know which refcount to check in
5081         tests.
5082
5083         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5084         (gst_object_init): Only set the gst refcount if we're going ahead
5085         with the refcount hack.
5086
5087 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5088
5089         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5090         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5091           more leaks plumbed, added more debug-logging
5092         * gst/gstmacros.h:
5093           whitespace fix
5094
5095 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5096
5097         * gst/gstmessage.c:
5098           remove include of gstmemchunk.h
5099
5100 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5101
5102         * gst/gstclock.c: (_gst_clock_id_free):
5103           Commit from the Political Party For More Atomic CVS Commits,
5104           so that people don't waste too much of their day fishing
5105           out obvious leaks out of massive commits.
5106           Oh, and fix a pretty damn obvious leak in the memchunk
5107           removal code.
5108
5109 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5110
5111         * check/Makefile.am:
5112         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5113           plug mem-leak, re-add to valgrindable tests
5114
5115 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5116
5117         * gst/gstplugin.h:
5118           unbreak the build for those who have chronic arthritis
5119           and typing "make check" is just too taxing on the hands
5120
5121 2005-09-20  Andy Wingo  <wingo@pobox.com>
5122
5123         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5124         really want it out, you should fix plugins at the same time.
5125
5126 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5127
5128         * configure.ac:
5129         * docs/gst/gstreamer-sections.txt:
5130         * gst/gstobject.c:
5131           added missing symbols to api docs
5132           disable ref-count hack if we have glib >= 2.8
5133
5134 2005-09-19  David Schleef  <ds@schleef.org>
5135
5136         * docs/gst/Makefile.am: Ignore a few more internal headers
5137         * docs/gst/gstreamer-docs.sgml: Remove old sections
5138         * docs/gst/gstreamer-sections.txt: Remove old sections
5139         * docs/gst/tmpl/gstobject.sgml: update
5140         * docs/gst/tmpl/gstplugin.sgml: update
5141         * docs/gst/tmpl/gstpluginfeature.sgml: update
5142         * docs/random/ds/0.9-suggested-changes: update.
5143         * gst/Makefile.am: remove memchunk and trashstack, since they're
5144           not used.
5145         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5146         * gst/gst.h: don't include some headers
5147         * gst/gstchildproxy.c: add gstmarshal.h
5148         * gst/gstclock.c: Don't use memchunks
5149         * gst/gstminiobject.c: Add some docs
5150         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5151         * gst/gstobject.h: same
5152         * gst/gstplugin.c: include gstmacros.h
5153         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5154         * gst/gstquery.c: don't use memchunks
5155         * gst/gstregistry.c: rename gst_registry_deinit()
5156         * gst/gstregistry.h: same
5157
5158 2005-09-19  David Schleef  <ds@schleef.org>
5159
5160         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5161         * docs/libs/gstreamer-libs-sections.txt:
5162         * docs/libs/tmpl/gstgetbits.sgml:
5163         * docs/libs/tmpl/gstputbits.sgml:
5164
5165 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5166
5167         * win32/gstenumtypes.c:
5168         * win32/gstenumtypes.h:
5169           Update.
5170
5171 2005-09-19  Wim Taymans  <wim@fluendo.com>
5172
5173         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5174         Automatically PAUSE and RESUME a pipeline when a flushing seek
5175         is performed.
5176
5177 2005-09-19  Andy Wingo  <wingo@pobox.com>
5178
5179         * gst/gstregistry.h: Spacing fixen.
5180
5181 2005-09-19  Wim Taymans  <wim@fluendo.com>
5182
5183         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5184         Handle state change failure more correctly.
5185
5186 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5187
5188         * check/Makefile.am:
5189         * check/pipelines/cleanup.c: (run_pipeline):
5190         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5191         (GST_START_TEST):
5192           enable cleanup again after fixing the leak
5193         * docs/README:
5194           some more info on docs
5195
5196 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5197
5198         * check/Makefile.am:
5199           re-enable tests now that leaks are plugged
5200         * check/gst/gst.c:
5201         * check/gst/gstbin.c:
5202         * check/gst/gstpipeline.c:
5203           add some more tests while fixing leaks
5204         * common/check.mak:
5205           make sure binaries are uptodate when valgrinding/gdbing
5206         * gst/gst.c:
5207         * gst/gstelementfactory.c:
5208           remove a ref too many, and add a FIXME for when we get
5209           round to disposing of classes
5210         * gst/gstplugin.c:
5211           fix the refcounting when loading a plugin from a file and
5212           the code pretends that the pointer is the same even though
5213           of course it can change
5214         * gst/gstpluginfeature.c:
5215           unref plugins marked cached (a bit confusing as a name)
5216           as the docs state should be done
5217           various doc additions to explain refcounting
5218         * gst/gstregistry.c:
5219         * gst/gstregistryxml.c:
5220           debugging
5221
5222 2005-09-19  Wim Taymans  <wim@fluendo.com>
5223
5224         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5225         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5226         (send_messages), (GST_START_TEST), (gstbus_suite):
5227         * check/gst/gstpipeline.c: (GST_START_TEST):
5228         * check/pipelines/cleanup.c: (run_pipeline):
5229         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5230         (GST_START_TEST):
5231         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5232         (gst_bus_source_check), (gst_bus_source_dispatch),
5233         (gst_bus_create_watch), (gst_bus_add_watch_full),
5234         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5235         * gst/gstbus.h:
5236         * tools/gst-launch.c: (event_loop):
5237         * tools/gst-md5sum.c: (event_loop):
5238         GstBusHandler -> GstBusFunc, return value has the same meaning as
5239         any other GSource (FALSE == remove source).
5240         _add_watch() and _add_watch_full() now take a MessageType mask to
5241         only handle specific types of messages.
5242         _poll() returns the GstMessage instead of the message type to avoid
5243         race conditions.
5244         _have_pending() takes a MessageType mask now too.
5245         Added testsuite for multiple bus watches.
5246         Fix testsuites and applications for new bus API.
5247
5248 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5249
5250         * check/Makefile.am:
5251           mark a bunch of the tests as to fix until we fix them
5252
5253 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5254
5255         * common/check.mak:
5256           use GST_PLUGIN settings for valgrind tests as well, so we're
5257           valgrinding the correct thing
5258         * gst/gst.c: (init_post):
5259           plug another leak
5260
5261 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5262
5263         * gst/gst.c: (init_post), (gst_deinit):
5264         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5265         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5266         * gst/gstindex.c: (gst_index_factory_class_init),
5267         (gst_index_factory_finalize):
5268         * gst/gstobject.c: (gst_object_dispose):
5269         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5270         (gst_plugin_load_file), (gst_plugin_desc_free):
5271         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5272         (gst_plugin_feature_finalize):
5273         * gst/gstregistry.c: (gst_registry_class_init),
5274         (gst_registry_init), (gst_registry_finalize),
5275         (gst_registry_get_default), (gst_registry_deinit):
5276         * gst/gstregistry.h:
5277         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5278           various cleanups and memleak plugging.  make valgrind is happy now.
5279
5280 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5281
5282         * common/check.mak:
5283           add a check-valgrind target
5284
5285 2005-09-18  David Schleef  <ds@schleef.org>
5286
5287         * tools/gst-inspect.c: Revert the GOption code.
5288
5289 2005-09-17  David Schleef  <ds@schleef.org>
5290
5291         * check/Makefile.am: Fix environment variables.
5292         * check/gst/gstplugin.c: Fix for API changes.
5293         * tools/gst-inspect.c: Fix for API changes.
5294         * tools/gst-xmlinspect.c: Fix for API changes.
5295         * gst/gstelementfactory.c:
5296         * gst/gstplugin.c:
5297         * gst/gstplugin.h:
5298         * gst/gstpluginfeature.c:
5299         * gst/gstpluginfeature.h:
5300         * gst/gstregistry.c:
5301         * gst/gstregistry.h:
5302         * gst/gstregistryxml.c:
5303         * gst/gsttypefind.c:
5304         * gst/gsttypefindfactory.c:
5305         * gst/indexers/gstfileindex.c:
5306         * gst/indexers/gstmemindex.c:
5307         * gst/schedulers/Makefile.am:
5308           Change registry to keep track of both plugins and features,
5309           removing the feature tracking from plugins themselves.
5310
5311 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5312
5313         * check/Makefile.am:
5314         * tools/gst-register.1.in:
5315           remove gst-register
5316
5317 2005-09-15  David Schleef  <ds@schleef.org>
5318
5319         * check/gst/gstplugin.c:
5320         * gst/gstelementfactory.c:
5321         * gst/gstplugin.c:
5322         * gst/gstpluginfeature.c:
5323         * gst/gstregistry.c:
5324           Getting tired of debugging.  Disabled all the unreffing of
5325           plugins and features, which fixes the segfaults, but of
5326           course leaks like crazy.  At least playbin works.
5327
5328 2005-09-15  David Schleef  <ds@schleef.org>
5329
5330         * check/gst/gstplugin.c: (register_check_elements),
5331         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5332         More testing
5333         * gst/elements/gsttypefindelement.c: Fix refcounting.
5334         * gst/gsttypefind.c:
5335         * gst/gsttypefindfactory.c:
5336         * gst/gsttypefindfactory.h:
5337
5338 2005-09-15  David Schleef  <ds@schleef.org>
5339
5340         * gst/gstindex.c: get refcounting correct.
5341         * gst/gstregistry.c: Handle the case where a feature/plugin is
5342           not found.
5343
5344 2005-09-15  David Schleef  <ds@schleef.org>
5345
5346         * check/Makefile.am:
5347         * check/gst/gstplugin.c: Add test
5348         * gst/gstplugin.c: Fix problems noticed by testsuite
5349         * gst/gstplugin.h:
5350         * gst/gstregistry.c: 
5351         * gst/gstregistry.h:
5352
5353 2005-09-15  David Schleef  <ds@schleef.org>
5354
5355         * gst/gstplugin.c: Implement semi-decent recounting and locking
5356           in plugins and plugin features.
5357         * gst/gstplugin.h:
5358         * gst/gstpluginfeature.c:
5359         * gst/gstpluginfeature.h:
5360         * gst/gstregistry.c:
5361
5362 2005-09-15  Michael Smith <msmith@fluendo.com>
5363
5364         * gst/gstregistry.c: (gst_registry_get_feature_list):
5365           Implement this. Makes oggdemux work; decodebin still broken.
5366
5367 2005-09-14  David Schleef  <ds@schleef.org>
5368
5369         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5370           #316076)
5371         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5372         * gst/check/Makefile.am:
5373         * libs/gst/controller/Makefile.am:
5374         * libs/gst/dataprotocol/Makefile.am:
5375
5376 2005-09-14  David Schleef  <ds@schleef.org>
5377
5378         * configure.ac: Remove getbits library.  Nothing uses it, and
5379           it should be in something like liboil if someone did want
5380           to use it.
5381         * libs/gst/Makefile.am:
5382         * libs/gst/getbits/Makefile.am:
5383         * libs/gst/getbits/gbtest.c:
5384         * libs/gst/getbits/getbits.c:
5385         * libs/gst/getbits/getbits.h:
5386         * libs/gst/getbits/gstgetbits_generic.c:
5387         * libs/gst/getbits/gstgetbits_i386.s:
5388         * libs/gst/getbits/gstgetbits_inl.h:
5389
5390 2005-09-14  David Schleef  <ds@schleef.org>
5391
5392         * gst/Makefile.am: Dist glib-compat.h
5393
5394 2005-09-14  David Schleef  <ds@schleef.org>
5395
5396         * configure.ac: Remove gst/registries, since it's no longer used.
5397         * gst/registries/Makefile.am:
5398         * gst/registries/gstlibxmlregistry.c:
5399         * gst/registries/gstlibxmlregistry.h:
5400         * gst/registries/gstxmlregistry.c:
5401         * gst/registries/gstxmlregistry.h:
5402         * gst/registries/registrytest.c:
5403
5404 2005-09-14  David Schleef  <ds@schleef.org>
5405
5406         * gst/glib-compat.h:
5407         * gst/gstregistryxml.c:
5408           Convergence is near.  Seriously.
5409
5410 2005-09-14  David Schleef  <ds@schleef.org>
5411
5412         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5413         * gst/glib-compat.h:
5414           Attempt #4 to appease the buildbots.
5415
5416 2005-09-14  David Schleef  <ds@schleef.org>
5417
5418         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5419           Attempt #3.
5420
5421 2005-09-14  David Schleef  <ds@schleef.org>
5422
5423         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5424         Attempt #2.
5425
5426 2005-09-14  David Schleef  <ds@schleef.org>
5427
5428         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5429           the new functions.
5430
5431 2005-09-14  David Schleef  <ds@schleef.org>
5432
5433         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5434         * gst/glib-compat.h: Add some functions that are in newer versions
5435           of glib than we care to require.
5436         * gst/gstregistryxml.c: Use them.
5437
5438 2005-09-14  David Schleef  <ds@schleef.org>
5439
5440         * po/POTFILES.in: remove gst-register.c
5441
5442 2005-09-14  David Schleef  <ds@schleef.org>
5443
5444         * docs/gst/gstreamer-docs.sgml:
5445         * docs/gst/gstreamer-sections.txt:
5446         * docs/gst/gstreamer.types:
5447         * docs/gst/tmpl/gstelement.sgml:
5448         * docs/gst/tmpl/gstplugin.sgml:
5449         * docs/gst/tmpl/gstpluginfeature.sgml:
5450           Documentation updates for registry changes.
5451
5452 2005-09-14  David Schleef  <ds@schleef.org>
5453
5454         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5455           because we don't require glib-2.8.
5456
5457 2005-09-14  David Schleef  <ds@schleef.org>
5458
5459         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5460           registries directory.
5461
5462 2005-09-14  David Schleef  <ds@schleef.org>
5463
5464         * check/Makefile.am:
5465         * check/generic/states.c:
5466         * gst/Makefile.am:
5467         * gst/gst.c:
5468         * gst/gst.h:
5469         * gst/gst_private.h:
5470         * gst/gstelementfactory.c:
5471         * gst/gstindex.c:
5472         * gst/gstinfo.c:
5473         * gst/gstplugin.c:
5474         * gst/gstplugin.h:
5475         * gst/gstpluginfeature.c:
5476         * gst/gstpluginfeature.h:
5477         * gst/gstregistry.c:
5478         * gst/gstregistry.h:
5479         * gst/gstregistrypool.c: remove
5480         * gst/gstregistrypool.h: remove
5481         * gst/gsttypefind.c:
5482         * gst/gsttypefindfactory.c:
5483         * gst/gsturi.c:
5484         * tools/Makefile.am:
5485         * tools/gst-compprep.c:
5486         * tools/gst-inspect.c:
5487         * tools/gst-register.c: remove
5488         * tools/gst-xmlinspect.c:
5489           Registry rewrite.  Changes registry from being a file created
5490           by a tool into a simple cache file created automatically by 
5491           libgstreamer.  Removed gst-register (because it's no longer
5492           needed).  Remove registry pools, because we only have one
5493           registry implementation (XML).  Fix up other subsystems as
5494           necessary.
5495
5496 2005-09-13  Michael Smith <msmith@fluendo.com>
5497
5498         * gst/gstconfig.h.in:
5499           Don't Use windows linking attributes for MinGW. Fixes #316157
5500
5501 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5502
5503         * gst/gstutils.c: (set_state_async_thread_func),
5504         (gst_element_set_state_async):
5505           Apparently people think it's better if this function doesn't
5506           try to set the state to whatever state was asked for on the first
5507           call to this function for any object.  Seriously.
5508
5509 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5510
5511         * check/gst/gstpipeline.c: (GST_START_TEST):
5512         * docs/gst/gstreamer-sections.txt:
5513         * gst/gstutils.c: (set_state_async_thread_func),
5514         (gst_element_set_state_async):
5515         * gst/gstutils.h:
5516           add a "gst_element_set_state_async" method that
5517           sets the state and starts a thread to make sure the state
5518           change completes as best as it can
5519
5520 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5521
5522         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5523           codify design+behaviour in testsuite after discussion
5524
5525 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5526
5527         * docs/gst/tmpl/gstelement.sgml:
5528         * docs/manual/appendix-quotes.xml:
5529           add a quote
5530         * gst/gstelement.c: (gst_element_set_state):
5531           add some debug
5532
5533 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5534
5535         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5536         (gst_base_transform_prepare_output_buf),
5537         (gst_base_transform_handle_buffer):
5538         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5539         (gst_capsfilter_prepare_buf):
5540           Remove the requirement for sub-classes to call the parent
5541           implementation of prepare_output_buffer with a wrapper function.
5542           
5543         * gst/gsttaglist.h:
5544         * gst/gsttagsetter.h:
5545           Fix #define wrapper
5546
5547 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5548
5549         * docs/gst/gstreamer-sections.txt:
5550           more doc cleanups
5551
5552 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5553
5554         * docs/gst/gstreamer-sections.txt:
5555         * docs/gst/tmpl/gstelement.sgml:
5556         * docs/gst/tmpl/gstplugin.sgml:
5557         * gst/gstminiobject.c:
5558         * gst/gstvalue.h:
5559           docs now stop throwing warnings
5560
5561 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5562
5563         * docs/gst/gstreamer-sections.txt:
5564         * docs/gst/gstreamer.types:
5565         * docs/gst/tmpl/gstpad.sgml:
5566         * docs/gst/tmpl/gsttypes.sgml:
5567         * gst/base/gstadapter.h:
5568         * gst/base/gstbasesink.h:
5569         * gst/base/gstbasesrc.h:
5570         * gst/gstbin.h:
5571         * gst/gstbuffer.h:
5572         * gst/gstbus.h:
5573         * gst/gstcaps.h:
5574         * gst/gstclock.h:
5575         * gst/gstelement.h:
5576         * gst/gstevent.h:
5577         * gst/gstmessage.h:
5578         * gst/gstpad.h:
5579         * gst/gststructure.c:
5580         * gst/registries/gstlibxmlregistry.h:
5581           various documentation fixes
5582
5583 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5584
5585         * docs/gst/gstreamer-sections.txt:
5586         * docs/gst/tmpl/gstvalue.sgml:
5587           rearrange gstvalue section
5588         * gst/gstutils.c: (gst_element_state_get_name):
5589           NONE -> VOID
5590         * gst/gstvalue.c: (_gst_value_initialize):
5591         * gst/gstvalue.h:
5592           doc updates
5593
5594 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5595
5596         * check/gst-libs/controller.c:
5597           Header include fix.
5598         * gst/base/gstbasetransform.c:
5599         (gst_base_transform_default_prepare_buf),
5600         (gst_base_transform_handle_buffer):
5601         * gst/base/gstbasetransform.h:
5602           Some more basetransform changes and fixes to enable sub-classes
5603           that modify buffer metadata only.
5604         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5605         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5606         (gst_capsfilter_prepare_buf):
5607           If the output pad has fixed allowed caps and input buffers 
5608           don't have any, set the fixed caps on outgoing buffers.
5609
5610 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5611         * check/elements/identity.c: (GST_START_TEST):
5612           Make the error a little clearer when the test fails because
5613           identity made a copy of the buffer.
5614         * docs/gst/gstreamer-sections.txt:
5615           New symbols in gstbasetransform.h
5616         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5617         (gst_base_transform_init), (gst_base_transform_transform_size),
5618         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5619         (gst_base_transform_default_prepare_buf),
5620         (gst_base_transform_get_unit_size),
5621         (gst_base_transform_buffer_alloc),
5622         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5623         (gst_base_transform_change_state),
5624         (gst_base_transform_set_passthrough),
5625         (gst_base_transform_set_in_place),
5626         (gst_base_transform_is_in_place):
5627         * gst/base/gstbasetransform.h:
5628           Change BaseTransform to separate in_place operate from same_caps
5629           output. in_place implies that the element can perform the transform
5630           on incoming buffers in-place, even if the caps on the output are
5631           different.
5632           Sub-class elements can now implement special buffer allocation
5633           methods for outgoing buffers if they wish to.
5634           Big documentation addition.
5635         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5636         * gst/elements/gstelements.c:
5637           Changes for basetransform modifications.
5638         * gst/elements/Makefile.am:
5639         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5640           Compile fix. Extra debug output.
5641
5642 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5643
5644         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5645         (gst_pad_suite):
5646           add tests for valid pad naming
5647         * gst/check/gstcheck.c: (gst_check_log_message_func),
5648         (gst_check_log_critical_func):
5649           add ASSERT_WARNING
5650           remove printing of code, it is fragile when the code contains
5651           % and the line number is enough info
5652         * gst/check/gstcheck.h:
5653         * gst/gstpad.c: (gst_pad_template_new):
5654           fix memleaks
5655
5656 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5657
5658         * configure.ac:
5659           say what CHECK flags we use
5660         * docs/libs/gstreamer-libs.types:
5661         * libs/gst/controller/Makefile.am:
5662         * libs/gst/controller/gst-controller.c:
5663         * libs/gst/controller/gst-controller.h:
5664         * libs/gst/controller/gst-helper.c:
5665         * libs/gst/controller/gst-interpolation.c:
5666         * libs/gst/controller/gstcontroller.c:
5667         * libs/gst/controller/gsthelper.c:
5668         * libs/gst/controller/gstinterpolation.c:
5669         * tools/gst-inspect.c: (print_plugin_info):
5670           we don't use dashes in header names
5671
5672 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5673
5674         * check/Makefile.am:
5675         * check/gst/.cvsignore:
5676         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5677         (gst_pipeline_suite), (main):
5678           adding a test for pipelines and state changes
5679         * gst/gstutils.c: (get_state_func):
5680           add some debugging
5681         * gstreamer.spec.in:
5682           fix up spec file
5683
5684 2005-09-08  Michael Smith <msmith@fluendo.com>
5685
5686         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5687         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5688         (gst_file_src_is_seekable), (gst_file_src_get_size),
5689         (gst_file_src_start):
5690         * gst/elements/gstfilesrc.h:
5691           Various fixes for unseekable, unmmapable, and non-normal files, so
5692           that fallback to read() rather than mmap() works.
5693         * gst/gstevent.c: (gst_event_new_newsegment):
5694           Allow newsegment events with segment_start == segment_end, as will
5695           correctly happen if you use filesrc on a zero-size file, for
5696           example.
5697
5698 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5699
5700         * gst/gstplugin.c: (gst_plugin_load_file):
5701           Call g_module_close when we don't load the module
5702
5703         * gst/registries/gstlibxmlregistry.c:
5704         (gst_xml_registry_get_property):
5705           Port leak fix from 0.8
5706
5707 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5708
5709         * docs/gst/gstreamer-docs.sgml:
5710         * docs/gst/tmpl/.cvsignore:
5711         * docs/gst/tmpl/gsttrace.sgml:
5712         * docs/gst/tmpl/gsttrashstack.sgml:
5713         * gst/Makefile.am:
5714         * gst/gst.h:
5715         * gst/gstelement.h:
5716         * gst/gstevent.h:
5717         * gst/gstmessage.c:
5718         * gst/gstmessage.h:
5719         * gst/gsttag.c:
5720         * gst/gsttag.h:
5721         * gst/gsttaginterface.c:
5722         * gst/gsttaginterface.h:
5723         * gst/gsttaglist.c:
5724         * gst/gsttaglist.h:
5725         * gst/gsttagsetter.c:
5726         * gst/gsttagsetter.h:
5727         * gst/gsttrace.c:
5728         * gst/gsttrace.h:
5729         * gst/gsttrashstack.c:
5730           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5731           inlined docs for gsttrace, gsttrashstack
5732
5733 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5734
5735         * gst/Makefile.am:
5736         * gst/elements/gstbufferstore.h:
5737         * gst/elements/gsttypefindelement.c:
5738         * gst/elements/gsttypefindelement.h:
5739         * gst/gst.h:
5740         * gst/gsttypefind.c:
5741         * gst/gsttypefind.h:
5742         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5743         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5744         (gst_type_find_factory_dispose),
5745         (gst_type_find_factory_unload_thyself),
5746         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5747         (gst_type_find_factory_get_caps),
5748         (gst_type_find_factory_get_extensions),
5749         (gst_type_find_factory_call_function):
5750         * gst/gsttypefindfactory.h:
5751         * gst/registries/gstlibxmlregistry.c:
5752         * gst/registries/gstxmlregistry.c:
5753           splitted gsttypefind into gsttypefind, gsttypefindfactory
5754
5755 2005-09-07  Andy Wingo  <wingo@pobox.com>
5756
5757         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5758         condition whereby the pad's task function is entered before the
5759         pad_mode variable was set.
5760
5761 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5762
5763         * gst/gstpad.c: (gst_pad_alloc_buffer):
5764           Catch misbehaving pad_alloc functions that don't
5765           set up caps and do it for them.
5766
5767 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5768
5769         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5770           test for pipe!=NULL
5771         * docs/gst/tmpl/.cvsignore:
5772         * docs/gst/tmpl/gstmemchunk.sgml:
5773         * docs/gst/tmpl/gstparse.sgml:
5774         * docs/gst/tmpl/gsttaglist.sgml:
5775         * docs/gst/tmpl/gsttagsetter.sgml:
5776         * docs/gst/tmpl/gsttypefind.sgml:
5777         * docs/gst/tmpl/gsttypefindfactory.sgml:
5778         * gst/gstmemchunk.c:
5779         * gst/gstparse.c:
5780         * gst/gsttag.c:
5781         * gst/gsttaginterface.c:
5782         * gst/gsttypefind.c:
5783         * gst/gsttypefind.h:
5784           inlined more docs
5785
5786 === release 0.9.2 ===
5787
5788 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5789
5790         * NEWS:
5791         * RELEASE:
5792         * configure.ac:
5793           releasing 0.9.2, "South"
5794
5795 2005-09-05  Andy Wingo  <wingo@pobox.com>
5796
5797         * gst/registries/gstxmlregistry.h:
5798         * gst/registries/gstxmlregistry.c: Um... resurrect...
5799         
5800         * gst/registries/gstxmlregistry.h:
5801         * gst/registries/gstxmlregistry.c: and update to newer API.
5802         Incidentally they should be a bit faster now that they don't have
5803         to parse the caps.
5804         
5805 2005-09-05  Andy Wingo  <wingo@pobox.com>
5806
5807         * gst/registries/gstxmlregistry.h:
5808         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5809         replaced by the libxml registry a while back
5810
5811 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5812
5813         * docs/gst/tmpl/gstplugin.sgml:
5814         * gst/elements/gstelements.c:
5815         * gst/gst.c:
5816         * gst/gstplugin.c: (gst_plugin_register_func),
5817         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5818         (gst_plugin_get_source):
5819         * gst/gstplugin.h:
5820         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5821         (gst_xml_registry_save_plugin):
5822         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5823         (gst_xml_registry_save_plugin):
5824         * tools/gst-inspect.c: (print_plugin_info):
5825           add a "source" plugin description field, to represent the source
5826           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5827           will set it to PACKAGE, which is automake's idea of the name of
5828           the source project.
5829
5830 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5831
5832         * Makefile.am:
5833         * autogen.sh:
5834         * configure.ac:
5835         * docs/Makefile.am:
5836         * docs/faq/Makefile.am:
5837         * docs/gst/tmpl/gstelement.sgml:
5838         * docs/gst/tmpl/gsttypes.sgml:
5839         * docs/htmlinstall.mak:
5840         * docs/manual/Makefile.am:
5841         * docs/pwg/Makefile.am:
5842           reorganize doc build a little
5843           split out docbook and gtk-doc stuff
5844           have two separate --enable's and enable them through autogen
5845           but disable by default in configure (to be similar to other
5846           projects)
5847         * gstreamer.spec.in:
5848           clean up docs install
5849         * po/af.po:
5850         * po/az.po:
5851         * po/ca.po:
5852         * po/cs.po:
5853         * po/de.po:
5854         * po/en_GB.po:
5855         * po/fr.po:
5856         * po/it.po:
5857         * po/nb.po:
5858         * po/nl.po:
5859         * po/ru.po:
5860         * po/sq.po:
5861         * po/sr.po:
5862         * po/sv.po:
5863         * po/tr.po:
5864         * po/uk.po:
5865         * po/vi.po:
5866           translation updates
5867
5868 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5869
5870         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5871           Add comment.
5872           
5873         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5874         (gst_fake_sink_change_state):
5875           Make state change function thread-safe.
5876           
5877         * gst/gstpad.c: (gst_pad_alloc_buffer):
5878           Set offset on generic buffer allocated by fallback.
5879
5880 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5881
5882         * docs/gst/gstreamer-sections.txt:
5883         * docs/gst/tmpl/gstelement.sgml:
5884         * gst/gstpad.c:
5885         * libs/gst/controller/gst-controller.c:
5886         (gst_controlled_property_set_interpolation_mode),
5887         (gst_controlled_property_new),
5888         (gst_controller_find_controlled_property):
5889          run the wingo-magic script against the docs
5890
5891 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5892
5893         * docs/gst/gstreamer-docs.sgml:
5894         * docs/gst/gstreamer-sections.txt:
5895         * docs/gst/tmpl/.cvsignore:
5896         * docs/gst/tmpl/gstelementdetails.sgml:
5897         * docs/gst/tmpl/gstelementfactory.sgml:
5898         * gst/gst.c:
5899         * gst/gstbus.c:
5900         * gst/gstelementfactory.c:
5901         * gst/gstelementfactory.h:
5902           merged elementdetails docs into elementfactory docs
5903           inlined both
5904
5905 2005-09-02  Andy Wingo  <wingo@pobox.com>
5906
5907         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5908         consider this enum an enum and not a flags.
5909
5910 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5911
5912         * docs/gst/gstreamer-docs.sgml:
5913         * docs/gst/tmpl/.cvsignore:
5914         * docs/gst/tmpl/gstghostpad.sgml:
5915         * docs/gst/tmpl/gstiterator.sgml:
5916         * docs/gst/tmpl/gstmacros.sgml:
5917         * docs/gst/tmpl/gstrealpad.sgml:
5918         * docs/gst/tmpl/gstregistry.sgml:
5919         * docs/gst/tmpl/gstregistrypool.sgml:
5920         * docs/gst/tmpl/gststructure.sgml:
5921         * docs/gst/tmpl/gstsystemclock.sgml:
5922         * docs/gst/tmpl/gsttrace.sgml:
5923         * gst/gstghostpad.c:
5924         * gst/gstmacros.h:
5925         * gst/gstmemchunk.c:
5926         * gst/gstmemchunk.h:
5927         * gst/gstqueue.c:
5928         * gst/gstregistry.c:
5929         * gst/gstregistrypool.c:
5930         * gst/gststructure.c:
5931         * gst/gstsystemclock.c:
5932           more docs inlined
5933
5934 2005-09-02  Andy Wingo  <wingo@pobox.com>
5935
5936         * gst/gstelement.h (GstState): Renamed from GstElementState,
5937         changed to be a normal enum instead of flags.
5938         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5939         munged to be GST_STATE_CHANGE_*.
5940         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5941         work with the new state representation.
5942         (GstStateChange): New enumeration of possible state transitions.
5943         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5944         (GstElementClass::change_state): Pass the GstStateChange along as
5945         an argument. Helps language bindings, so they don't have to use
5946         tricky lock-needing macros like GST_STATE_CHANGE ().
5947
5948         * scripts/update-states (file): New script. Run it on a file to
5949         update it for state naming and API changes. Updates files in
5950         place.
5951
5952         * All files updated for the new API.
5953
5954 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5955
5956         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
5957         * gst/gstutils.c: (gst_util_set_value_from_string),
5958         (gst_util_set_object_arg):
5959           fix a bunch of unchecked return values
5960         * tools/gst-complete.c: (main):
5961         * gstreamer.spec.in:
5962           clean up a little
5963
5964 2005-09-01  Wim Taymans  <wim@fluendo.com>
5965
5966         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5967         (gst_base_sink_event), (gst_base_sink_do_sync),
5968         (gst_base_sink_handle_event):
5969         * gst/base/gstbasesink.h:
5970         Handle newsegments more correctly.
5971
5972         * gst/gstbus.c:
5973         Fix docs.
5974
5975         * gst/gstevent.c: (gst_event_new_newsegment):
5976         A newsegment cannot have a start_time of -1
5977
5978 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5979
5980         * win32/gstenumtypes.c:
5981         * win32/gstenumtypes.h:
5982           Update
5983
5984 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5985
5986         * libs/gst/controller/gst-controller.c:
5987         (gst_controlled_property_set_interpolation_mode),
5988         (gst_controlled_property_new):
5989          fixed boolean again
5990
5991 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5992
5993         * docs/faq/gst-uninstalled:
5994           add -good
5995         * gst/gstevent.c:
5996         * gst/gstevent.h:
5997           remove wrong docs
5998         * gst/gstutils.c: (gst_element_link_filtered):
5999         * gst/gstutils.h:
6000           add gst_element_link_filtered
6001
6002 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6003
6004         * docs/gst/gstreamer-docs.sgml:
6005         * docs/gst/gstreamer-sections.txt:
6006         * docs/gst/tmpl/.cvsignore:
6007         * docs/gst/tmpl/gsterror.sgml:
6008         * docs/gst/tmpl/gstfilter.sgml:
6009         * docs/gst/tmpl/gsturihandler.sgml:
6010         * docs/gst/tmpl/gsturitype.sgml:
6011         * docs/gst/tmpl/gstutils.sgml:
6012         * docs/gst/tmpl/gstxml.sgml:
6013         * gst/gsterror.c:
6014         * gst/gsterror.h:
6015         * gst/gstfilter.c:
6016         * gst/gsturi.c:
6017         * gst/gsturitype.c:
6018         * gst/gstutils.c:
6019         * gst/gstxml.c:
6020           inlined more docs, fixed double id-ref
6021
6022 2005-08-31  Wim Taymans  <wim@fluendo.com>
6023
6024         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6025         (gst_base_transform_handle_buffer):
6026         Passthrough elements don't need the caps as they don't care.
6027
6028 2005-08-31  Wim Taymans  <wim@fluendo.com>
6029
6030         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6031         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6032         Don't leak refcounts on buffers.
6033
6034 2005-08-31  Wim Taymans  <wim@fluendo.com>
6035
6036         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6037         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6038         (gst_base_transform_chain), (gst_base_transform_change_state):
6039         * gst/base/gstbasetransform.h:
6040         Handle the case where we are not negotiated more gracefully.
6041
6042 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6043
6044         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6045         (gst_file_src_map_region):
6046           Set READONLY flag on mmap'ed buffers, otherwise
6047           gst_buffer_make_writable() won't work properly (#314708).
6048
6049 2005-08-31  Wim Taymans  <wim@fluendo.com>
6050
6051         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6052         passthrough elements can even do inplace on non writable
6053         buffers (as they don't touch them).
6054
6055 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6056
6057         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6058         (gst_test_mono_source_set_property),
6059         (gst_test_mono_source_class_init), (GST_START_TEST),
6060         (gst_controller_suite):
6061           more tests (hehe I have the most)
6062         * gst/gstbus.c:
6063           describe popping messages whenusing mulltiple sources
6064         * libs/gst/controller/gst-controller.c:
6065         (gst_controlled_property_set_interpolation_mode),
6066         (gst_controlled_property_new):
6067         * libs/gst/controller/gst-controller.h:
6068         * libs/gst/controller/gst-interpolation.c:
6069           implement boolean properties
6070
6071 2005-08-31  Wim Taymans  <wim@fluendo.com>
6072
6073         * gst/gstminiobject.c: (gst_mini_object_ref):
6074         Cannot assert that the refcount has to be positive
6075         since a disposed object can be resurrected.
6076
6077 2005-08-31  Wim Taymans  <wim@fluendo.com>
6078
6079         * gst/gstpad.c: (gst_pad_init):
6080         Revert change, need to first fix badly behaving 
6081         apps.
6082
6083 2005-08-30  Wim Taymans  <wim@fluendo.com>
6084
6085         * check/elements/fakesrc.c: (setup_fakesrc):
6086         * check/elements/identity.c: (setup_identity):
6087         Activate pads before using them.
6088
6089 2005-08-30  Wim Taymans  <wim@fluendo.com>
6090
6091         * gst/base/gstadapter.c: (gst_adapter_flush):
6092         Flushing out 0 bytes is ok for this function.
6093
6094         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6095         no newsegment gives a warning and sets the start/stop to 
6096         invalid.
6097
6098         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6099         (gst_base_transform_set_passthrough):
6100         Some debug info.
6101
6102         * gst/gstminiobject.c: (gst_mini_object_ref):
6103         Check refcount here too.
6104
6105         * gst/gstpad.c: (gst_pad_init):
6106         Pads are initially flushing and refusing data.
6107
6108         * gst/gstutils.c: (gst_element_link_pads_filtered):
6109         When adding a capsfilter element make sure it has the
6110         same state as the parent bin.
6111
6112 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6113
6114         * docs/gst/tmpl/.cvsignore:
6115         * docs/gst/tmpl/gstformat.sgml:
6116         * docs/gst/tmpl/gstversion.sgml:
6117         * gst/gstbus.h:
6118         * gst/gstformat.c:
6119         * gst/gstformat.h:
6120         * gst/gstversion.h.in:
6121           more docs and two more inlined
6122
6123 2005-08-30  Wim Taymans  <wim@fluendo.com>
6124
6125         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6126         Don't sync to clock.
6127
6128 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6129
6130         * docs/gst/gstreamer-sections.txt:
6131           ultral33t func10ns deserve to appear in the docs actually
6132         * docs/gst/tmpl/.cvsignore:
6133         * docs/gst/tmpl/gstcompat.sgml:
6134         * docs/gst/tmpl/gstconfig.sgml:
6135         * gst/check/gstcheck.c:
6136         * gst/gstcompat.h:
6137         * gst/gstconfig.h.in:
6138           inlined more docs
6139
6140 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6141
6142         * docs/gst/tmpl/.cvsignore:
6143         * docs/gst/tmpl/gstquery.sgml:
6144         * docs/gst/tmpl/gstutils.sgml:
6145         * gst/gstquery.c:
6146         * gst/gstquery.h:
6147           inlined and extended docs
6148
6149 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6150
6151         * check/gst-libs/controller.c: (GST_START_TEST),
6152         (gst_controller_suite):
6153           more tests
6154         * docs/gst/tmpl/gstutils.sgml:
6155         * docs/libs/gstreamer-libs-sections.txt:
6156         * docs/libs/tmpl/gstdataprotocol.sgml:
6157           include path fixes
6158         * examples/controller/audio-example.c: (main):
6159           controller example works now
6160         * gst/gstclock.h:
6161           doc fixes
6162         * tools/gst-inspect.c: (print_element_properties_info):
6163           show param spec flags
6164
6165 2005-08-29  Andy Wingo  <wingo@pobox.com>
6166
6167         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6168
6169 2005-08-28  Andy Wingo  <wingo@pobox.com>
6170
6171         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6172         as having two arguments instead of just one. Allows superclasses
6173         to access information on subclasses -- see the terrible for() loop
6174         in gtype.c:g_type_create_instance for the reason why. All callers
6175         changed.
6176
6177 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6178
6179         * docs/design/part-messages.txt:
6180           update info
6181         * docs/gst/tmpl/.cvsignore:
6182         * docs/gst/tmpl/gstcaps.sgml:
6183         * docs/gst/tmpl/gstclock.sgml:
6184         * gst/gstbus.c:
6185         * gst/gstcaps.c:
6186         * gst/gstcaps.h:
6187         * gst/gstclock.c:
6188         * gst/gstclock.h:
6189         * gst/gstmessage.c:
6190           added descriptions for bus and message
6191           inline caps and clock docs
6192
6193 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6194
6195         * gst/gstmessage.c:
6196         * gst/gstmessage.h:
6197           doc fixes
6198
6199 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6200
6201         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6202           fix div-by-zero
6203
6204 2005-08-26  Andy Wingo  <wingo@pobox.com>
6205
6206         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6207         element_set_state's return val.
6208         (test_2_elements): Add test that's been disabled for months.
6209
6210         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6211         can-activate-pull properties.
6212
6213         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6214         can-activate-pull properties. Implement is_seekable so fakesrc can
6215         operate in pull mode.
6216
6217         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6218         properties.
6219         (gst_base_sink_activate, gst_base_sink_activate_pull)
6220         (gst_base_sink_activate_push): Make activation mode choosing work.
6221         Cleanups.
6222         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6223         is right. Make pull mode work. Post an eos before pausing in pull
6224         mode.
6225         (gst_base_sink_change_state): Pay attention to the core's
6226         change_state() return val.
6227         
6228         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6229         has-getrange properties. Cleanups.
6230         
6231         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6232         has_getrange and replace with can_activate_pull and
6233         can_activate_push.
6234
6235         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6236         locking comments. Remove has_loop, has_chain and replace with
6237         can_activate_pull and can_activate_push.
6238
6239 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6240
6241         * configure.ac:
6242         * examples/Makefile.am:
6243         * examples/metadata/Makefile.am:
6244         * examples/metadata/read-metadata.c: (message_loop),
6245         (have_pad_handler), (make_pipeline), (print_tag), (main):
6246           Add metadata reading example that loops over a list of filenames,
6247           dumping any tags found.
6248
6249         * gst/gstbus.c: (gst_bus_dispose):
6250         * gst/gstelement.c: (gst_element_dispose):
6251           Release a few potentially-held references in dispose.
6252
6253 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6254
6255         * docs/gst/tmpl/gstminiobject.sgml:
6256           do *not* add tmpl/*.sgml files to CVS!
6257
6258 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6259
6260         * libs/gst/bytestream/.cvsignore:
6261         * libs/gst/bytestream/Makefile.am:
6262         * libs/gst/bytestream/adapter.c:
6263         * libs/gst/bytestream/adapter.h:
6264         * libs/gst/bytestream/bytestream.c:
6265         * libs/gst/bytestream/bytestream.h:
6266         * libs/gst/bytestream/filepad.c:
6267         * libs/gst/bytestream/filepad.h:
6268           removing obsolete files
6269
6270 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6271
6272         * docs/gst/gstreamer-docs.sgml:
6273         * docs/libs/gstreamer-libs-docs.sgml:
6274           disabed additional index entries again, as this makes docs-gen just
6275           slow and they aren't useful yet
6276         * docs/libs/gstreamer-libs-sections.txt:
6277           little -section.txt cleanup for libs
6278
6279 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6280
6281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6282         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6283           fix up some debugging
6284         (gst_base_transform_get_unit_size),
6285         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6286         (gst_base_transform_handle_buffer):
6287         * gst/base/gstbasetransform.h:
6288           handle and store timed NEWSEGMENT events so that subclasses that
6289           calculate time by counting samples have a segment_start time they
6290           need to add to their timestamps - see audioresample
6291
6292 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6293
6294         * gst/gstbin.h:
6295           removed ';' from the end of macro defs
6296         * docs/gst/gstreamer-docs.sgml:
6297         * docs/gst/gstreamer-sections.txt:
6298         * docs/gst/tmpl/.cvsignore:
6299         * gst/gstbus.h:
6300         * gst/gstelement.c: (gst_element_class_init),
6301         (gst_element_set_state), (activate_pads),
6302         (gst_element_save_thyself):
6303         * gst/gstevent.c: (gst_event_new_newsegment):
6304         * gst/gstevent.h:
6305         * gst/gstiterator.c:
6306         * gst/gstiterator.h:
6307         * gst/gstpad.c:
6308         * gst/gstprobe.h:
6309         * gst/gstutils.c: (gst_pad_query_convert):
6310         * gst/gstutils.h:
6311           fixed parameter name mismatches between source, header and docs
6312           added some more docs, resolved the last batch of unused elements in
6313           docs (now someone needs to doc them)
6314
6315 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6316
6317         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6318         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6319           don't walk through the plugins backwards.  Where is all this
6320           reversed logic coming from ?
6321
6322 2005-08-25  Wim Taymans  <wim@fluendo.com>
6323
6324         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6325         (gst_base_transform_transform_size),
6326         (gst_base_transform_configure_caps),
6327         (gst_base_transform_get_unit_size),
6328         (gst_base_transform_buffer_alloc),
6329         (gst_base_transform_change_state):
6330         * gst/base/gstbasetransform.h:
6331         Cache caps unit_size.
6332         Make sure we cannot negotiate up and downstream at the
6333         same time.
6334
6335 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6336
6337         * gst/gst.c: (init_pre), (init_post):
6338           register the installed plugin path after the env var
6339         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6340         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6341           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6342           directories, so the tests can prefer uninstalled over installed
6343
6344 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6345
6346         * gst/base/gstbasetransform.h:
6347           comment
6348         * gst/gstpad.c:
6349           add to docs
6350
6351 2005-08-25  Wim Taymans  <wim@fluendo.com>
6352
6353         * gst/gstbin.c: (bin_bus_handler):
6354         Be a bit more conservative about the posted message.
6355         
6356         * gst/gstbus.c: (gst_bus_post):
6357         Some cleanups, warn wrong return values.
6358
6359 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6360
6361         * check/gst/gstbin.c: (GST_START_TEST):
6362         * gst/gstbin.c: (bin_bus_handler):
6363         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6364         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6365         (gst_message_new_warning), (gst_message_new_tag),
6366         (gst_message_new_state_changed), (gst_message_new_segment_start),
6367         (gst_message_new_segment_done), (gst_message_new_custom):
6368         * gst/gstmessage.h:
6369         * tools/gst-launch.c: (event_loop):
6370         * tools/gst-md5sum.c: (event_loop):
6371           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6372
6373 2005-08-25  Wim Taymans  <wim@fluendo.com>
6374
6375         * check/generic/states.c: (GST_START_TEST):
6376         Cleanup can be done at the end.
6377
6378         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6379         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6380         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6381         Oh boy.. Thanks for finding this, Thomas. 
6382
6383 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6384
6385         * docs/gst/gstreamer.types:
6386           added missing types
6387
6388 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6389
6390         * docs/gst/gstreamer-docs.sgml:
6391         * docs/gst/gstreamer-sections.txt:
6392         * docs/gst/tmpl/.cvsignore:
6393         * gst/gstbin.c:
6394         * gst/gstiterator.c:
6395         * gst/gstutils.c:
6396         * gst/registries/gstxmlregistry.h:
6397           added missing classes and symbols (123 more to go)
6398           removed removed symbols from section file
6399           fixed many doc-comments
6400
6401 2005-08-24  Wim Taymans  <wim@fluendo.com>
6402
6403         * check/generic/states.c: (GST_START_TEST):
6404         Make sure all tasks are stopped.
6405
6406         * check/gst/gstbin.c: (GST_START_TEST):
6407         Unref after usage for proper valgrinding.
6408
6409         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6410         Really wait for the task to stop before destroying the
6411         mutex.
6412
6413         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6414         (gst_queue_src_activate_push):
6415         Small cleanups. Don't stop the task when we did not start
6416         it.
6417
6418         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6419         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6420         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6421         (gst_task_join):
6422         * gst/gsttask.h:
6423         Protect the stream lock with the object lock.
6424         Disallow setting the stream lock when running.
6425         Add cleanup_all to wait for the threadpool to finish.
6426         Remove code to autoallocate a mutex if none was provided.
6427         Add _join() to wait for a task to stop.
6428         Protect the thread pool with a global lock.
6429
6430 2005-08-24  Wim Taymans  <wim@fluendo.com>
6431
6432         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6433         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6434         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6435         * gst/base/gstbasesink.h:
6436         Handle newsegment events correctly.
6437         Drop buffers out of the segment range.
6438
6439 2005-08-22  Andy Wingo  <wingo@pobox.com>
6440
6441         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6442         macro, implements an interface and gstimplementsinterface for a
6443         new type.
6444
6445 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6446
6447         * check/Makefile.am:
6448         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6449           add a test that does a bunch of state changes on elements
6450           needs some fixing for valgrind
6451         * check/states/sinks.c: (gst_object_suite):
6452           whitespace
6453         * gst/gstcaps.h:
6454           add prototype for gst_caps_is_equal_fixed
6455         * gst/gstplugin.c:
6456         * gst/gstregistrypool.c:
6457           doc fixes
6458
6459 2005-08-24  Andy Wingo  <wingo@pobox.com>
6460
6461         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6462         convert a negative value. Doesn't make much sense. Mostly this is
6463         here to force callers to ensure -1 maps to -1.
6464
6465 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6466
6467         * docs/pwg/advanced-types.xml:
6468           Well done to Michael for catching my deliberate introduction
6469           of this spelling mistake. 
6470         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6471         * gst/gstelement.h:
6472           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6473           unlink pads before removing the element from the bin.
6474
6475 2005-08-24  Andy Wingo  <wingo@pobox.com>
6476
6477         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6478         the same thing as GST_DEBUG=*:4.
6479         (parse_debug_level, parse_debug_category): New helper parsers.
6480
6481 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6482
6483         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6484         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6485         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6486         (gst_base_transform_buffer_alloc),
6487         (gst_base_transform_handle_buffer):
6488           use gboolean return values and pointers to size so we can use the
6489           full GST_BUFFER_SIZE range (guint) for buffer sizes
6490           use GstPadDirection for transform_caps
6491         * gst/base/gstbasetransform.h:
6492           rename get_size to get_unit_size since that's what it is
6493         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6494           use GstPadDirection for transform_caps
6495         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6496         * gst/gstutils.h:
6497           cleanup and debugging
6498
6499 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6500
6501         * gst/gstelement.c: (gst_element_class_init),
6502         (gst_element_set_state), (activate_pads),
6503         (gst_element_save_thyself):
6504         * tools/gst-compprep.c: (main):
6505         * tools/gst-inspect.c: (print_element_properties_info):
6506         * tools/gst-xmlinspect.c: (print_element_properties):
6507           Fixed long standing mem-leak
6508
6509 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6510
6511         * check/gst/gstbin.c: (GST_START_TEST):
6512         * gst/gstbin.c: (bin_bus_handler):
6513         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6514         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6515         (gst_message_new_warning), (gst_message_new_tag),
6516         (gst_message_new_state_changed), (gst_message_new_segment_start),
6517         (gst_message_new_segment_done), (gst_message_new_custom):
6518         * gst/gstmessage.h:
6519         * tools/gst-launch.c: (event_loop):
6520         * tools/gst-md5sum.c: (event_loop):
6521           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6522           that applications can sensibly post custom messages with references
6523           to their own objects.
6524
6525 2005-08-24  Andy Wingo  <wingo@pobox.com>
6526
6527         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6528         already.
6529
6530 2005-08-24  Wim Taymans  <wim@fluendo.com>
6531
6532         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6533         (gst_base_transform_transform_caps),
6534         (gst_base_transform_transform_size),
6535         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6536         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6537         (gst_base_transform_handle_buffer):
6538         * gst/base/gstbasetransform.h:
6539         Many fixes and new features added by Thomas. Can now also do
6540         transforms with variable sizes and a custom fixate_caps function.
6541
6542 2005-08-24  Wim Taymans  <wim@fluendo.com>
6543
6544         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6545         Some debugging.
6546
6547         * gst/gstclock.h:
6548         Cast to ClockTime before formatting to time.
6549
6550         * gst/gstutils.h:
6551         Cleanups.
6552
6553 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6554
6555         * check/gst-libs/controller.c: (GST_START_TEST),
6556         (gst_controller_suite):
6557         * docs/gst/tmpl/gstcaps.sgml:
6558         * docs/gst/tmpl/gstghostpad.sgml:
6559         * docs/gst/tmpl/gstquery.sgml:
6560         * docs/gst/tmpl/gstutils.sgml:
6561         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6562         (gst_object_sink_values), (gst_object_get_value_arrays),
6563         (gst_object_get_value_array):
6564           gracefully handle helper method calls to objects that are not beeing
6565           controlled, added test case for that          
6566
6567 2005-08-23  Wim Taymans  <wim@fluendo.com>
6568
6569         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6570         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6571         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6572         (gst_event_parse_qos), (gst_event_new_seek),
6573         (gst_event_parse_seek):
6574         * gst/gstevent.h:
6575         Some more debugging output and doc cleanups.
6576
6577         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6578         Fix possible deadlock.
6579
6580 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6581
6582         * docs/gst/gstreamer-docs.sgml:
6583         * docs/gst/gstreamer-sections.txt:
6584         * docs/gst/gstreamer.types:
6585         * docs/gst/tmpl/.cvsignore:
6586         * gst/gstbin.h:
6587         * gst/gstbus.c:
6588         * gst/gstelement.c:
6589         * gst/gstevent.h:
6590           added 100 symbols from gstreamer-unused.txt to the right sections
6591           fixed more broken comments
6592           added GstBus to docs
6593
6594 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6595
6596         * docs/gst/gstreamer-sections.txt:
6597         * docs/gst/tmpl/.cvsignore:
6598         * docs/gst/tmpl/gstbin.sgml:
6599         * docs/gst/tmpl/gstbuffer.sgml:
6600         * gst/base/gstbasesrc.c:
6601         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6602         * gst/gstbuffer.c:
6603         * gst/gstbuffer.h:
6604         * tools/gst-launch.1.in:
6605           inlined more doc comments, added missing comments and fixed comments
6606           fixed typos
6607
6608 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6609
6610         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6611           some debugging
6612         * gst/gstcaps.h:
6613           whitespace fixes
6614         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6615           more debugging
6616         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6617         * gst/gststructure.h:
6618           add a fixate function for booleans; add a FIXME that these func
6619           names should probably be gst_structure_fixate_*
6620
6621 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6622
6623         * docs/gst/gstreamer-docs.sgml:
6624         * docs/gst/gstreamer-sections.txt:
6625         * gst/Makefile.am:
6626         * gst/gstbin.c: (gst_bin_get_type),
6627         (gst_bin_child_proxy_get_child_by_index),
6628         (gst_bin_child_proxy_get_children_count),
6629         (gst_bin_child_proxy_init):
6630         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6631         (gst_child_proxy_get_child_by_index),
6632         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6633         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6634         (gst_child_proxy_get), (gst_child_proxy_set_property),
6635         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6636         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6637         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6638         * gst/gstchildproxy.h:
6639         * gst/parse/grammar.y:
6640         * tools/gst-inspect.c: (print_interfaces),
6641         (print_element_properties_info), (print_element_info):
6642           ported gstchildproxy over from 0.8
6643           ported gst-inspect fixes and enhancements over from 0.8
6644
6645 2005-08-22  Wim Taymans  <wim@fluendo.com>
6646
6647         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6648         (gst_base_transform_handle_buffer):
6649         Also call the transform function if we have ANY caps.
6650
6651         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6652         Fix debug info.
6653
6654 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6655
6656         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6657           Don't pretend to handle seek events if the source is not seekable
6658
6659 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6660
6661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6662           Remove extra parameter to debug output
6663
6664         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6665         (gst_base_src_do_seek), (gst_base_src_activate_push):
6666           Fix seek event handling.
6667
6668         * gst/gstpipeline.c: (gst_pipeline_change_state):
6669         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6670         (gst_queue_src_activate_push):
6671           Don't start the src pad task on FLUSH_STOP if the pad
6672           isn't linked.
6673           Debug changes.
6674
6675 2005-08-22  Wim Taymans  <wim@fluendo.com>
6676
6677         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6678         Added check for gst_static_caps_get() refcounting.
6679
6680 2005-08-22  Wim Taymans  <wim@fluendo.com>
6681
6682         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6683         Make _static_caps_get() refcounting sane.
6684         
6685         * gst/gstelement.c: (gst_element_set_state):
6686         Add g_return_val_if_fail() to protect against segfaults.
6687
6688 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6689
6690         * docs/gst/tmpl/gstevent.sgml:
6691         * gst/gstevent.c:
6692         * gst/gstevent.h:
6693           inlined remaining docs, added missing doc comments
6694
6695 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6696
6697         * check/gst/gstbin.c: (GST_START_TEST):
6698           since we don't know when preroll is done, use refcount range
6699           check for the sink
6700         * gst/check/gstcheck.h:
6701           add macro for checking refcount range
6702
6703 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6704
6705         * check/Makefile.am:
6706           clean up environment for when registry gets built versus
6707           when actual tests are run; valgrind seems to not report
6708           leaks if GST_PLUGIN_PATH is set to some specific values
6709         * check/gst/gstbin.c: (GST_START_TEST):
6710           add more refcounting checks; maybe this exposes a
6711           preroll lock bug ?
6712         * common/check.mak:
6713         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6714         * gst/check/gstcheck.h:
6715         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6716         (gst_bin_change_state):
6717         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6718           add/fix debugging/whitespace
6719
6720 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6721
6722         * check/gst/gstevent.c: (event_probe), (test_event),
6723         (GST_START_TEST):
6724          Er, don't call gst_bin_watch_for_state_change you idiot.
6725
6726 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6727
6728         * check/Makefile.am:
6729           Use CHECK_CFLAGS and CHECK_LIBS
6730         * check/gst/gstevent.c: (event_probe), (test_event),
6731         (GST_START_TEST):
6732           Don't leak events.
6733         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6734         (gst_base_src_start), (gst_base_src_stop),
6735         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6736         (gst_base_src_change_state):
6737           Sprinkle gst_base_src_stop liberally around error paths to fix
6738           problems reusing a source after failed state changes.
6739         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6740         (helper_find_suggest), (gst_type_find_helper):
6741           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6742         * gst/gstevent.h:
6743         * docs/gst/tmpl/gstevent.sgml:
6744           Migrate part of the docs from the SGML file. Wait for ensonic to
6745           tell me how I did it wrong ;)
6746         * tools/gst-typefind.c: (main):
6747           Extra robustness to state changes between files.
6748
6749 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6750
6751         * check/Makefile.am:
6752           don't valgrind the controller test - it's leaking - Stefan, HELP
6753         * gst/check/gstcheck.c: (gst_check_message_error),
6754         (gst_check_chain_func), (gst_check_setup_element),
6755         (gst_check_teardown_element), (gst_check_setup_src_pad),
6756         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6757         (gst_check_teardown_sink_pad):
6758         * gst/check/gstcheck.h:
6759           add a bunch of methods to set up elements, and src and sink pads
6760         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6761         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6762         (GST_START_TEST):
6763           use them
6764         * gst/gstmessage.c:
6765         * gst/gsttag.h:
6766           whitespace/doc fixes
6767
6768 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6769
6770         * gst/gstelement.h:
6771           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6772           be handled by the application and not always printed as well
6773
6774 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6775
6776         * check/Makefile.am:
6777           set GST_TOOLS_DIR
6778         * gst/check/gstcheck.c: (gst_check_message_error):
6779         * gst/check/gstcheck.h:
6780           add a fail_unless_equals_int
6781           add fail_unless for error messages
6782
6783 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6784
6785         * check/Makefile.am:
6786         * check/gst.supp:
6787         * common/Makefile.am:
6788         * common/check.mak:
6789         * common/gst.supp:
6790           factor out some of the common stuff so we can use it
6791
6792 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6793
6794         * check/Makefile.am:
6795         * check/gst/gstiterator.c: (GST_START_TEST):
6796         * check/gst/gstsystemclock.c: (GST_START_TEST),
6797         (gst_systemclock_suite):
6798         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6799         * gst/gstclock.c:
6800           valgrind more tests
6801
6802 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6803
6804         * check/elements/.cvsignore:
6805         * check/elements/gstfakesrc.c:
6806           rename to name of element
6807         * check/elements/identity.c: (chain_func), (event_func),
6808         (setup_identity), (cleanup_identity), (GST_START_TEST),
6809         (identity_suite), (main):
6810           add a test for identity
6811         * check/Makefile.am:
6812         * pkgconfig/Makefile.am:
6813         * pkgconfig/gstreamer-check.pc.in:
6814         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6815         * gst/check:
6816         * gst/Makefile.am:
6817         * configure.ac:
6818           move the check stuff to a library that gets installed
6819         * check/gst-libs/controller.c: (GST_START_TEST):
6820         * check/gst-libs/gdp.c:
6821         * check/gst/gst.c: (GST_START_TEST):
6822         * check/gst/gstbin.c:
6823         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6824         * check/gst/gstbus.c:
6825         * check/gst/gstcaps.c: (GST_START_TEST):
6826         * check/gst/gstelement.c:
6827         * check/gst/gstghostpad.c:
6828         * check/gst/gstiterator.c:
6829         * check/gst/gstmessage.c:
6830         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6831         * check/gst/gstobject.c:
6832         * check/gst/gstpad.c: (GST_START_TEST):
6833         * check/gst/gststructure.c: (GST_START_TEST):
6834         * check/gst/gstsystemclock.c: (GST_START_TEST),
6835         (gst_systemclock_suite):
6836         * check/gst/gsttag.c: (gst_tag_suite):
6837         * check/gst/gstvalue.c:
6838         * check/pipelines/cleanup.c:
6839         * check/pipelines/simple_launch_lines.c:
6840         * check/states/sinks.c:
6841           change include statement
6842
6843         * docs/gst/gstreamer-sections.txt:
6844         * docs/gst/tmpl/gstpad.sgml:
6845           document more pad stuff
6846         * gst/gstminiobject.c: (gst_mini_object_ref),
6847         (gst_mini_object_unref):
6848           debug refcounting
6849
6850 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6851
6852         * docs/gst/tmpl/gst.sgml:
6853         * gst/gst.c:
6854           eliminate another tmpl file, fix spelling in the long-description
6855
6856 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6857
6858         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6859         (test_event), (timediff), (gstevents_suite):
6860           Should fix build on 64-bit arch's
6861
6862 2005-08-18  Andy Wingo  <wingo@pobox.com>
6863
6864         Make sure that when a pipeline goes to PLAYING, that data has
6865         actually hit the sink.
6866
6867         * check/states/sinks.c (test_sink): A sink that doesn't get any
6868         data shouldn't return SUCCESS for going to either PLAYING or
6869         PAUSED. Test also the return values on the way back down.
6870
6871         * gst/gstelement.c (gst_element_set_state): When changing the
6872         state of an element currently changing state asynchronously, go to
6873         lost-state after commiting the pending state. Makes future calls
6874         to get_state continue to return ASYNC.
6875
6876         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6877         ASYNC when going to PLAYING if we still don't have preroll, as can
6878         happen with live sources.
6879
6880 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6881
6882         * docs/pwg/advanced-types.xml:
6883           Hack long paragraph into 2 chunks as a workaround for buggy
6884           jadetex version in sid and breezy that loops infinitely and
6885           eats all RAM.
6886
6887 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6888
6889         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6890         (test_event), (timediff), (gstevents_suite):
6891           Provide more error margin in clock measurements to allow for 
6892           g_get_current_time inaccuracies.
6893
6894 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6895
6896         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6897         (test_event), (timediff), (gstevents_suite):
6898            Fix error message output so I might be able to tell why the
6899            test works here but fails on the build farm.
6900
6901 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6902
6903         * check/Makefile.am:
6904         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6905         (test_event), (timediff), (gstevents_suite), (main):
6906           I wrote a test!
6907
6908         * docs/design/part-seeking.txt:
6909           Spelling correction
6910
6911         * docs/gst/tmpl/gstevent.sgml:
6912         * docs/gst/tmpl/gstfakesrc.sgml:
6913           Docs updates.
6914
6915         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6916           Treat a buffer-without-newsegment the same as a receiving 
6917           a newsegment not in time format, and disable syncing to the clock
6918           with a warning.
6919
6920         * gst/gstbus.c: (gst_bus_set_sync_handler):
6921           Assert if anyone tries to replace the existing sync_handler for bus, 
6922           as only the owner should be setting it.
6923
6924         * gst/gstevent.h:
6925           Have a fixed set of custom event enums with events identified by
6926           their structure name (as in 0.8), rather than a free-for-all
6927           allowing collisions between enum values from different plugins.
6928
6929         * gst/gstpad.c: (gst_pad_class_init):
6930           Docs change.
6931           
6932         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6933           Handle out-of-band downstream events from the sending thread.
6934
6935 2005-08-17  Andy Wingo  <wingo@pobox.com>
6936
6937         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6938         play-timeout==0 to mean no timeout at all. In that case, don't
6939         bother with a get_state or a warning, just return directly, even
6940         if it's ASYNC.
6941
6942         * gst/base/gstbasetransform.c: Debug changes.
6943
6944         * gst/gstutils.h:
6945         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6946         ensure bins post state change messages. A bit of a hack but I can't
6947         think of a way to avoid it.
6948
6949         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
6950
6951 2005-08-16  Andy Wingo  <wingo@pobox.com>
6952
6953         * gst/base/gstadapter.h:
6954         * gst/base/gstadapter.c (gst_adapter_take): New function, like
6955         peek() but you own the data. Not terribly efficient atm.
6956
6957 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6958
6959         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
6960         (gst_element_found_tags):
6961         * gst/gstutils.h:
6962           Add two utility functions for tag handling.
6963
6964 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6965
6966         * docs/manual/advanced-dataaccess.xml:
6967         * docs/manual/basics-helloworld.xml:
6968           Fix docs to use _bin_add() before _link(), which fixes the examples
6969           with recent core versions (reported by Madhan Raj M
6970           <raj_madan@rediffmail.com>, #313199).
6971
6972 2005-08-16  Wim Taymans  <wim@fluendo.com>
6973
6974         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6975         Added subtract checks.
6976
6977         * docs/design/part-events.txt:
6978         Some more docs about newsegment
6979
6980         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6981         Fix FIXME
6982
6983         * gst/gstcaps.c: (gst_caps_to_string):
6984         Add comments, cleanups.
6985         
6986         * gst/gstelement.c: (gst_element_save_thyself):
6987         cleanups
6988         
6989         * gst/gstvalue.c: (gst_value_collect_int_range),
6990         (gst_string_unwrap), (gst_value_union_int_int_range),
6991         (gst_value_union_int_range_int_range),
6992         (gst_value_intersect_int_int_range),
6993         (gst_value_intersect_int_range_int_range),
6994         (gst_value_intersect_double_double_range),
6995         (gst_value_intersect_double_range_double_range),
6996         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
6997         (gst_value_subtract_int_range_int),
6998         (gst_value_subtract_double_range_double),
6999         (gst_value_subtract_double_range_double_range),
7000         (gst_value_subtract_from_list), (gst_value_subtract_list),
7001         (gst_value_can_compare), (gst_value_compare_fraction):
7002         Cleanups, add comments, remove unneeded asserts.
7003
7004 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7005
7006         * tools/gst-launch.c: (event_loop):
7007           don't convert NULL structures to strings
7008
7009 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7010
7011         * docs/gst/gstreamer-sections.txt:
7012           made some defines private
7013         * docs/gst/tmpl/gstconfig.sgml:
7014         * docs/gst/tmpl/gstqueue.sgml:
7015         * docs/gst/tmpl/gsttaglist.sgml:
7016         * docs/gst/tmpl/gsttypes.sgml:
7017         * docs/gst/tmpl/gstutils.sgml:
7018         * docs/pwg/appendix-porting.xml:
7019         * gst/base/gstbasesink.h:
7020         * gst/base/gstbasesrc.c:
7021         * gst/base/gstbasesrc.h:
7022         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7023         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7024         * gst/gstelement.c: (gst_element_class_init):
7025         * gst/gstpad.c: (gst_pad_class_init):
7026         * gst/gstqueue.c: (gst_queue_class_init):
7027         * gst/gstxml.c: (gst_xml_class_init):
7028           documented all undocumented signal inline
7029         * libs/gst/controller/gst-controller.h:
7030           added padding
7031
7032 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7033
7034         * docs/pwg/appendix-porting.xml:
7035           Document _set_link_function -> _set_setcaps_function.
7036
7037 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7038
7039         * check/Makefile.am:
7040           add a .check target for running the check
7041         * check/gst-libs/controller.c: (GST_START_TEST):
7042           cosmetic fixups
7043         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7044           complete checks for gstbuffer; would be nice if I could get the
7045           gcov stuff to work so I can see if I actually completed gstbuffer.c
7046         * check/gstcheck.h:
7047           add ASSERT_BUFFER_REFCOUNT
7048
7049 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7050
7051         * docs/gst/gstreamer-sections.txt:
7052         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7053         * gst/gsttag.h:
7054           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7055           spew out a warning if a tag that is already registered
7056           is re-registered, unless it is re-registered with a 
7057           different type (#308438).
7058
7059 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7060
7061         * docs/pwg/appendix-porting.xml:
7062         * docs/pwg/building-state.xml:
7063           Add some paragraphs about state changes in 0.9 to the PWG
7064           and the porting guide, in particular about the new meaning
7065           of GST_STATE_PAUSED and how to write state change functions
7066           with concurrent access by multiple threads in mind.
7067
7068 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7069
7070         * docs/gst/gstreamer-docs.sgml:
7071         * docs/libs/gstreamer-libs-docs.sgml:
7072           added deprecation and since indexes
7073         * libs/gst/controller/gst-controller.c:
7074         * libs/gst/controller/gst-helper.c:
7075           added since tags
7076
7077
7078 2005-08-11  Wim Taymans  <wim@fluendo.com>
7079
7080         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7081         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7082         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7083         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7084         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7085         (gst_ghost_pad_set_target):
7086         Actually implement (re)setting the target on a ghostpad
7087         as described in the docs.
7088
7089 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7090
7091         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7092           Check whether GST_DEBUG_NO_COLOR environment variable is
7093           set and disable coloured debug output if that is the case.
7094
7095 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7096
7097         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7098         (gst_type_find_helper):
7099           The memory returned by gst_type_find_peek() needs to
7100           stay valid until the end of a typefind function, and
7101           typefind functions may keep results from different 
7102           offsets around, so we can't just unref the buffer from
7103           the previous _peek(), but have to save all buffers 
7104           returned by _peek() until typefinding is done and only
7105           free them then.
7106
7107 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7108
7109         * docs/gst/gstreamer-sections.txt:
7110         * gst/gstutils.h:
7111           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7112
7113 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7114
7115         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7116           Fix a pretty good memleak.
7117
7118 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7119
7120         * gst/gstiterator.h:
7121           Fix wrong include and 'make distcheck'.
7122
7123 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7124
7125         * gst/gstbin.c: (bin_bus_handler):
7126           Use gst_element_post_message() instead.
7127
7128 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7129
7130         * gst/base/gstadapter.h:
7131         * gst/base/gstbasesink.h:
7132         * gst/base/gstbasesrc.h:
7133         * gst/base/gstbasetransform.h:
7134         * gst/base/gstcollectpads.h:
7135         * gst/base/gstpushsrc.h:
7136         * gst/gstiterator.h:
7137           Add padding to our base elements' class and instance structs and
7138           to GstIterator (you will need to rebuild all plugins and apps!)
7139
7140 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7141
7142         * gst/gstbin.c: (bin_bus_handler):
7143           Make default message forwarding from child->bus to bin->bus
7144           threadsafe and make it not emit warnings if the parent has no bus.
7145
7146 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7147
7148         * gst/gstelement.c: (activate_pads):
7149           On paused->ready, set pad->caps to NULL, as is the documented
7150           behaviour in this state change. Fixes playback of series of
7151           media files when visualization is enabled in Totem.
7152
7153 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7154
7155         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7156           Allow NULL as filter-caps (which means "any").
7157
7158 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7159
7160         * docs/libs/gstreamer-libs-sections.txt:
7161         * libs/gst/controller/gst-controller.c:
7162         * libs/gst/controller/gst-controller.h:
7163         * libs/gst/controller/gst-helper.c:
7164           adding more entries to the docs and fix small doc-bugs
7165
7166 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7167
7168         * docs/gst/gstreamer-docs.sgml:
7169         * docs/gst/gstreamer-sections.txt:
7170         * docs/gst/gstreamer.types:
7171         * docs/gst/tmpl/gstbasesink.sgml:
7172         * docs/gst/tmpl/gstbasesrc.sgml:
7173         * docs/gst/tmpl/gstbasetransform.sgml:
7174         * docs/gst/tmpl/gstfakesrc.sgml:
7175         * gst/base/gstcollectpads.c:
7176         * gst/base/gstcollectpads.h:
7177         * libs/gst/controller/gst-controller.c:
7178         * libs/gst/controller/gst-controller.h:
7179         * libs/gst/controller/gst-helper.c:
7180         * libs/gst/controller/gst-interpolation.c:
7181         * libs/gst/controller/lib.c:
7182           added long/short desc for controller docs
7183           added collectpads base class docs
7184           added correct includes to base-class docs
7185
7186 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7187
7188         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7189         (gst_test_mono_source_set_property),
7190         (gst_test_mono_source_class_init), (GST_START_TEST),
7191         (gst_controller_suite):
7192         * docs/gst/gstreamer-docs.sgml:
7193         * docs/gst/gstreamer-sections.txt:
7194         * docs/gst/gstreamer.types:
7195         * docs/libs/gstreamer-libs-docs.sgml:
7196         * docs/libs/gstreamer-libs-sections.txt:
7197         * gst/base/gstadapter.c:
7198         * libs/gst/controller/gst-controller.c:
7199         (gst_controlled_property_new), (gst_controlled_property_free),
7200         (gst_controller_new_valist),
7201         (gst_controller_remove_properties_valist),
7202         (gst_controller_sink_values), (_gst_controller_finalize):
7203         * libs/gst/controller/gst-controller.h:
7204         * libs/gst/controller/gst-helper.c:
7205         (gst_object_control_properties), (gst_object_uncontrol_properties),
7206         (gst_object_get_controller), (gst_object_set_controller),
7207         (gst_object_sink_values), (gst_object_get_value_arrays),
7208         (gst_object_get_value_array):
7209           more tests (and fixes) for the controller
7210           more docs for the controller
7211           integrated companies docs for the adapter 
7212
7213 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7214
7215         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7216         (GST_START_TEST), (fakesrc_suite):
7217           add tests for sizetype
7218
7219 2005-08-04  Andy Wingo  <wingo@pobox.com>
7220
7221         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7222         fixes buffer_alloc proxying among other things.
7223
7224         * gst/base/gstbasetransform.c:
7225         * gst/base/gstbasetransform.h:
7226         Revert patch to gstbasetransform from 7-28 removing
7227         delay_configure.
7228
7229         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7230         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7231         Semantics changed, should return not the size of the output buffer
7232         but the byte size of a buffer with a given caps.
7233
7234         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7235         debug object.
7236         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7237         out) are not the pad caps until setcaps finishes.
7238         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7239         not-in-place case as well. Deal with changing from in-place to
7240         not-in-place within calling pad_alloc_buffer. Still a bit
7241         concerned about the overhead here...
7242
7243 2005-08-03  Andy Wingo  <wingo@pobox.com>
7244
7245         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7246         fixating is an error.
7247
7248 2005-08-04  Edward Hervey  <edward@fluendo.com>
7249
7250         * gst/base/gstadapter.h: 
7251         Added gst_adapter_get_type() to the header
7252
7253 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7254
7255         * check/Makefile.am:
7256         * check/gst-libs/controller.c:
7257         * libs/gst/controller/gst-controller.c:
7258         (gst_controller_new_valist):
7259           added check test suite for the controller
7260         * gst/base/gstpushsrc.c:
7261           fixed a doc typo
7262
7263 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7264
7265         * docs/gst/Makefile.am:
7266         * docs/gst/gstreamer-docs.sgml:
7267         * docs/gst/gstreamer-sections.txt:
7268         * docs/gst/gstreamer.types:
7269         * docs/gst/tmpl/gstfakesrc.sgml:
7270         * gst/base/README:
7271         * gst/base/gstbasesink.c:
7272         * gst/base/gstbasesink.h:
7273         * gst/base/gstbasesrc.c:
7274         * gst/base/gstbasesrc.h:
7275         * gst/base/gstbasetransform.c:
7276         * gst/base/gstpushsrc.c:
7277         * gst/base/gstpushsrc.h:
7278           add short/long description docs to base classes
7279           add pushsrc to the docs
7280           remove consolidated doc fragments
7281
7282 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7283
7284         * configure.ac:
7285         * docs/libs/Makefile.am:
7286         * docs/libs/gstreamer-libs-docs.sgml:
7287         * docs/libs/gstreamer-libs-sections.txt:
7288         * docs/libs/gstreamer-libs.types:
7289         * examples/Makefile.am:
7290         * examples/controller/.cvsignore:
7291         * examples/controller/Makefile.am:
7292         * examples/controller/audio-example.c: (main):
7293         * libs/gst/Makefile.am:
7294         * libs/gst/controller/.cvsignore:
7295         * libs/gst/controller/Makefile.am:
7296         * libs/gst/controller/gst-controller.c:
7297         (on_object_controlled_property_changed), (gst_timed_value_compare),
7298         (gst_timed_value_find),
7299         (gst_controlled_property_set_interpolation_mode),
7300         (gst_controlled_property_new), (gst_controlled_property_free),
7301         (gst_controller_find_controlled_property),
7302         (gst_controller_new_valist), (gst_controller_new),
7303         (gst_controller_remove_properties_valist),
7304         (gst_controller_remove_properties), (gst_controller_set),
7305         (gst_controller_set_from_list), (gst_controller_unset),
7306         (gst_controller_get), (gst_controller_get_all),
7307         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7308         (gst_controller_get_value_array),
7309         (gst_controller_set_interpolation_mode),
7310         (_gst_controller_finalize), (_gst_controller_init),
7311         (_gst_controller_class_init), (gst_controller_get_type):
7312         * libs/gst/controller/gst-controller.h:
7313         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7314         (g_object_uncontrol_properties), (g_object_get_controller),
7315         (g_object_set_controller), (g_object_sink_values),
7316         (g_object_get_value_arrays), (g_object_get_value_array):
7317         * libs/gst/controller/gst-interpolation.c:
7318         (gst_controlled_property_find_timed_value_node),
7319         (interpolate_none_get), (interpolate_trigger_get),
7320         (interpolate_trigger_get_value_array):
7321         * libs/gst/controller/lib.c: (gst_controller_init):
7322         * pkgconfig/Makefile.am:
7323         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7324         * pkgconfig/gstreamer-control.pc.in:
7325         * testsuite/Makefile.am:
7326         * testsuite/controller/.cvsignore:
7327         * testsuite/controller/Makefile.am:
7328         * testsuite/controller/interpolator.c: (main):
7329           added controller code
7330           removed dparam pc files
7331
7332 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7333         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7334         (gst_collectpads_stop):
7335           Broadcast the condition when shutting down, to make sure we wake all
7336           threads up. Shut down pads on finalize, for safety.
7337
7338 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7339         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7340         (gst_base_transform_handle_buffer),
7341         (gst_base_transform_change_state):
7342           Handle PAUSED->READY->PAUSED transition after negotiation
7343           occurred already.
7344         * gst/gstmessage.c: (gst_message_init):
7345           Extra piece of debug for new messages.
7346
7347 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7348
7349         * configure.ac:
7350         * docs/gst/tmpl/gstbasesrc.sgml:
7351         * docs/gst/tmpl/gstelement.sgml:
7352         * docs/gst/tmpl/gstevent.sgml:
7353         * docs/gst/tmpl/gstfakesrc.sgml:
7354         * docs/gst/tmpl/gstformat.sgml:
7355         * docs/gst/tmpl/gstghostpad.sgml:
7356         * docs/gst/tmpl/gstpad.sgml:
7357         * docs/gst/tmpl/gstquery.sgml:
7358         * docs/gst/tmpl/gststructure.sgml:
7359         * docs/gst/tmpl/gsttaglist.sgml:
7360         * docs/gst/tmpl/gstvalue.sgml:
7361         * docs/libs/gstreamer-libs-docs.sgml:
7362         * docs/libs/gstreamer-libs-sections.txt:
7363         * docs/libs/gstreamer-libs.types:
7364         * libs/gst/Makefile.am:
7365         * libs/gst/control/.cvsignore:
7366         * libs/gst/control/Makefile.am:
7367         * libs/gst/control/control.c:
7368         * libs/gst/control/control.h:
7369         * libs/gst/control/dparam.c:
7370         * libs/gst/control/dparam.h:
7371         * libs/gst/control/dparam_smooth.c:
7372         * libs/gst/control/dparam_smooth.h:
7373         * libs/gst/control/dparamcommon.h:
7374         * libs/gst/control/dparammanager.c:
7375         * libs/gst/control/dparammanager.h:
7376         * libs/gst/control/dplinearinterp.c:
7377         * libs/gst/control/dplinearinterp.h:
7378         * libs/gst/control/unitconvert.c:
7379         * libs/gst/control/unitconvert.h:
7380         * testsuite/Makefile.am:
7381         * testsuite/dynparams/.cvsignore:
7382         * testsuite/dynparams/Makefile.am:
7383         * testsuite/dynparams/dparamstest.c:
7384         * tools/Makefile.am:
7385         * tools/gst-inspect.c: (print_element_info), (main):
7386         * tools/gst-xmlinspect.c: (print_element_info), (main):
7387           deactivate and remove dparams (libgstcontrol)
7388
7389 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7390
7391         * gst/elements/gsttypefindelement.c:
7392         (gst_type_find_element_have_type), (gst_type_find_element_init),
7393         (stop_typefinding), (gst_type_find_element_handle_event),
7394         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7395         * gst/elements/gsttypefindelement.h:
7396           Set caps on all outgoing buffers, not just the first one.
7397
7398 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7399
7400         * gst/elements/gsttypefindelement.c:
7401         (gst_type_find_element_have_type),
7402         (gst_type_find_element_check_set_buffer_caps),
7403         (gst_type_find_element_init), (stop_typefinding),
7404         (gst_type_find_element_handle_event),
7405         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7406         * gst/elements/gsttypefindelement.h:
7407           Set caps on first outgoing buffer when we've found the type.
7408
7409 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7410
7411         * docs/gst/gstreamer-docs.sgml:
7412         * docs/gst/gstreamer-sections.txt:
7413         * docs/gst/tmpl/gstscheduler.sgml:
7414         * docs/gst/tmpl/gstschedulerfactory.sgml:
7415           Remove some old cruft from docs.
7416
7417 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7418
7419         * gst/gstpad.h:
7420           Fix inline docs for GstPadLinkReturn.
7421           
7422         * gst/gststructure.c: (gst_structure_has_name):
7423         * gst/gststructure.h:
7424         * docs/gst/gstreamer-sections.txt:
7425           New API: gst_structure_has_name().
7426
7427 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7428
7429         * configure.ac:
7430           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7431           and _LARGEFILE_SOURCE in config.h as required. Do not 
7432           export those flags in our .pc files any longer (#142209).
7433
7434           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7435
7436         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7437         (gst_file_sink_do_seek), (gst_file_sink_event),
7438         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7439           Redo seek/tell calls with large file support in mind; add some
7440           debugging messages; add log message that tells us when large
7441           file support is unavailable or not enabled for some reason.
7442
7443         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7444           Add log message that tells us when large file support 
7445           is unavailable or not enabled for some reason.
7446
7447 2005-07-29  Wim Taymans  <wim@fluendo.com>
7448
7449         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7450         Added test for removing an element with ghostpad from a bin.
7451         Fixed test as current implementation does the right thing.
7452
7453         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7454         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7455         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7456         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7457         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7458         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7459         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7460         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7461         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7462         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7463         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7464         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7465         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7466         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7467         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7468         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7469         * gst/gstghostpad.h:
7470         Clean up ghostpads, remove properties for internal stuff.
7471         Make threadsafe.
7472         Fix refcounting.
7473         Prepare for switching targets, not all use cases work yet.
7474
7475 2005-07-29  Wim Taymans  <wim@fluendo.com>
7476
7477         * docs/design/part-gstghostpad.txt:
7478         Small update.
7479
7480         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7481         (gst_bin_remove_func):
7482         Unlinking pads while holding the bin LOCK is not a good
7483         idea.
7484
7485         * gst/gstpad.c: (gst_pad_class_init),
7486         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7487         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7488         No prob setting template after creating the pad.
7489
7490 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7491
7492         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7493         (gst_bus_peek), (gst_bus_source_dispatch),
7494         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7495         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7496           gst_bus_poll may be called from other threads. Handle
7497           this nicely by not making poll_data disappear off the
7498           stack once gst_bus_poll returns.
7499           gst_bus_peek now increments the refcount on the returned
7500           message.
7501
7502 2005-07-29  Wim Taymans  <wim@fluendo.com>
7503
7504         * docs/design/part-gstghostpad.txt:
7505         Overview of current GhostPad datastructures and use
7506         cases for changing the target.
7507
7508 2005-07-28  Wim Taymans  <wim@fluendo.com>
7509
7510         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7511         Added checks for hierarchy consistency whan adding linked
7512         elements to bins.
7513
7514         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7515         Added check to test element scheduling without bin/pipeline.
7516
7517         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7518         First add elements to bin, then link.
7519         
7520         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7521         (gst_bin_remove_func):
7522         Unlink pads from elements added/removed from bin to maintain
7523         hierarchy consistency.
7524
7525 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7526
7527         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7528         (gst_base_transform_handle_buffer):
7529         * gst/base/gstbasetransform.h:
7530           Remove broken delay_configure (fixes renegotiation of software
7531           scaling pipelines); remove some leftover printf()s.
7532
7533 2005-07-28  Wim Taymans  <wim@fluendo.com>
7534
7535         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7536         Added some more tests for wrong hierarchy
7537
7538         * docs/design/part-overview.txt:
7539         Some updates.
7540
7541         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7542         Cleanups.
7543
7544         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7545         (gst_element_dispose):
7546         Some more cleanups.
7547
7548         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7549         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7550         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7551         (gst_pad_set_caps), (gst_pad_send_event):
7552         Check for correct hierarchy when linking pads. Moving to
7553         strict requirement for ghostpads when linking elements in
7554         different bins.
7555
7556         * gst/gstpad.h:
7557         Clean ups. Added WRONG_HIERARCHY return value.
7558
7559 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7560
7561         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7562           Better debug if no transform is possible.
7563
7564 2005-07-27  Wim Taymans  <wim@fluendo.com>
7565
7566         * docs/random/wtay/network-transp:
7567         Some old doc I had.
7568
7569 2005-07-27  Wim Taymans  <wim@fluendo.com>
7570
7571         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7572         (gst_dp_event_from_packet):
7573         Fix serialization of seek events.
7574
7575 2005-07-27  Wim Taymans  <wim@fluendo.com>
7576
7577         * check/gst-libs/gdp.c: (GST_START_TEST):
7578         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7579         Fix compilation and fix event serialization.
7580
7581 2005-07-27  Wim Taymans  <wim@fluendo.com>
7582
7583         * CHANGES-0.9:
7584         * docs/design/part-TODO.txt:
7585         * docs/design/part-events.txt:
7586         Some docs updates
7587
7588         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7589         (gst_base_sink_event), (gst_base_sink_do_sync),
7590         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7591         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7592         (gst_base_src_do_seek), (gst_base_src_event_handler),
7593         (gst_base_src_loop):
7594         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7595         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7596         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7597         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7598         (gst_base_transform_set_passthrough),
7599         (gst_base_transform_is_passthrough):
7600         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7601         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7602         Event updates.
7603
7604         * gst/gstbuffer.h:
7605         Use faster casts.
7606
7607         * gst/gstelement.c: (gst_element_seek):
7608         * gst/gstelement.h:
7609         Update gst_element_seek.
7610
7611         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7612         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7613         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7614         (gst_event_new_eos), (gst_event_new_newsegment),
7615         (gst_event_parse_newsegment), (gst_event_new_tag),
7616         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7617         (gst_event_parse_qos), (gst_event_new_seek),
7618         (gst_event_parse_seek), (gst_event_new_navigation):
7619         * gst/gstevent.h:
7620         Make GstEvent use GstStructure. Add parsing code, make sure the
7621         API is sufficiently generic.
7622         Mark possible directions of events and serialization.
7623
7624         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7625         (_gst_message_copy), (gst_message_new_segment_start),
7626         (gst_message_new_segment_done), (gst_message_new_custom),
7627         (gst_message_parse_segment_start),
7628         (gst_message_parse_segment_done):
7629         Small cleanups.
7630
7631         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7632         (gst_pad_set_caps), (gst_pad_send_event):
7633         Update for new events. 
7634         Catch events sent in wrong directions.
7635
7636         * gst/gstqueue.c: (gst_queue_link_src),
7637         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7638         (gst_queue_handle_src_query):
7639         Event updates.
7640
7641         * gst/gsttag.c:
7642         * gst/gsttag.h:
7643         Remove event code from this file.
7644
7645         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7646         (gst_dp_event_from_packet):
7647         Event updates.
7648
7649 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7650
7651         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7652         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7653         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7654           Make debugging actually useful.
7655
7656 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7657
7658         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7659         (gst_pad_fixate_caps):
7660           Implement default fixation once again, so that gst_pad_fixate()
7661           actually does anything at all. This probably needs to be some
7662           sort of a last resort, and use profile-based fixation first, but
7663           since that doesn't exist yet, this is the best we have. Fixes
7664           visualization in Totem.
7665
7666 2005-07-22  Wim Taymans  <wim@fluendo.com>
7667
7668         * docs/design/part-events.txt:
7669         Small update.
7670
7671         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7672         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7673         (gst_base_sink_activate_pull):
7674         Some more comments.
7675
7676         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7677         (gst_fake_src_create):
7678         Fix handoff marshall.
7679
7680         * gst/elements/gstidentity.c: (gst_identity_class_init),
7681         (gst_identity_transform_ip):
7682         We're a real inplace element.
7683
7684         * gst/gstbus.c: (gst_bus_post):
7685         Added some comments.
7686
7687         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7688         * tests/muxing/case1.c: (main):
7689         * tests/sched/dynamic-pipeline.c: (main):
7690         * tests/sched/interrupt1.c: (main):
7691         * tests/sched/interrupt2.c: (main):
7692         * tests/sched/interrupt3.c: (main):
7693         * tests/sched/runxml.c: (main):
7694         * tests/sched/sched-stress.c: (main):
7695         * tests/seeking/seeking1.c: (event_received), (main):
7696         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7697         (main):
7698         * tests/threadstate/threadstate3.c: (main):
7699         * tests/threadstate/threadstate4.c: (main):
7700         * tests/threadstate/threadstate5.c: (main):
7701         Fix the tests.
7702
7703 2005-07-21  Wim Taymans  <wim@fluendo.com>
7704
7705         * docs/design/part-seeking.txt:
7706         Some small additions.
7707
7708         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7709         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7710         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7711         * gst/base/gstbasesink.h:
7712         discont values are gint64, handle the math correctly.
7713
7714         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7715         Make the basesrc report error if the source pad is not linked.
7716
7717         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7718         (gst_queue_loop), (gst_queue_handle_src_query),
7719         (gst_queue_src_activate_push):
7720         Make queue collect data even if the srcpad is not linked.
7721         Start pushing out data as soon as it is linked.
7722
7723         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7724         * gst/gstutils.h:
7725         Added gst_flow_get_name() to ease error reporting.
7726
7727 2005-07-20  Wim Taymans  <wim@fluendo.com>
7728
7729         * gst/gstmessage.c: (gst_message_new_segment_start),
7730         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7731         (gst_message_parse_segment_done):
7732         * gst/gstmessage.h:
7733         Added a bunch of messages for advanced seeking.
7734
7735         * gst/parse/grammar.y:
7736         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7737         (gst_dpman_state_changed):
7738         Fix some new-pad -> pad-added signals
7739
7740 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7741
7742         * docs/manual/appendix-porting.xml:
7743         * docs/pwg/appendix-porting.xml:
7744           Document new-pad/state-change signal renames and the FixedList
7745           type rename.
7746
7747 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7748
7749         * docs/manual/advanced-autoplugging.xml:
7750         * docs/manual/basics-helloworld.xml:
7751         * docs/manual/basics-pads.xml:
7752         * docs/random/ds/0.9-suggested-changes:
7753         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7754         * gst/gstelement.h:
7755         * gst/gstevent.h:
7756         * gst/gstformat.h:
7757         * gst/gstquery.h:
7758         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7759         (gst_structure_parse_array), (gst_structure_parse_value):
7760         * gst/gstvalue.c: (gst_type_is_fixed),
7761         (gst_value_list_prepend_value), (gst_value_list_append_value),
7762         (gst_value_list_get_size), (gst_value_list_get_value),
7763         (gst_value_transform_array_string), (gst_value_serialize_array),
7764         (gst_value_deserialize_array), (gst_value_intersect_array),
7765         (gst_value_is_fixed), (_gst_value_initialize):
7766         * gst/gstvalue.h:
7767           GstElement::new-pad -> pad-added, GstElement::state-change ->
7768           state-changed, GstValueFixedList -> GstValueArray, add format and
7769           flags as their own arguments in gst_element_seek() (should improve
7770           "bindeability"), remove function generators since they don't work
7771           under a whole bunch of compilers (they were deprecated already
7772           anyway).
7773
7774 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7775
7776         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7777         (_gst_debug_register_funcptr):
7778         * gst/gstinfo.h:
7779           Fix illegal cast on some platforms (#309253).
7780
7781 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7782
7783         * gst/gstmessage.c: (gst_message_new_custom):
7784         * gst/gstmessage.h:
7785           Add _new_custom, make _new_application a macro to _new_custom.
7786
7787 2005-07-20  Wim Taymans  <wim@fluendo.com>
7788
7789         * gst/base/gstbasesrc.c: (gst_base_src_init),
7790         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7791         * gst/base/gstbasesrc.h:
7792         Add a gboolean to decide when to push out a discont.
7793
7794         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7795         (gst_queue_loop), (gst_queue_handle_src_query),
7796         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7797         (gst_queue_set_property), (gst_queue_get_property):
7798         Some cleanups.
7799
7800         * tests/threadstate/threadstate1.c: (main):
7801         Make a thread test compile and run... very silly..
7802
7803
7804 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7805
7806         * docs/manual/appendix-porting.xml:
7807           Mention removal of libgstgconf-0.9.la and existence of gconf
7808           elements.
7809
7810 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7811
7812         * docs/pwg/advanced-clock.xml:
7813         * docs/pwg/appendix-porting.xml:
7814         * docs/pwg/intro-preface.xml:
7815         * docs/pwg/other-base.xml:
7816         * docs/pwg/other-manager.xml:
7817         * docs/pwg/other-nton.xml:
7818         * docs/pwg/other-ntoone.xml:
7819         * docs/pwg/other-oneton.xml:
7820         * docs/pwg/pwg.xml:
7821           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7822           demuxer), remove n-to-n (was never written), fix some code examples
7823           and links and update the porting section to include all this.
7824
7825 2005-07-19  Wim Taymans  <wim@fluendo.com>
7826
7827         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7828         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7829         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7830         (gst_queue_src_activate_push), (gst_queue_change_state),
7831         (gst_queue_get_property):
7832         * gst/gstqueue.h:
7833         Propagate GstFlowReturn more intelligently upstream and output
7834         an ERROR/EOS when streaming stopped due to fatal error.
7835
7836 2005-07-19  Wim Taymans  <wim@fluendo.com>
7837
7838         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7839         Don't block forever for the state change to complete, the
7840         pipeline already did with a sensible timeout.
7841
7842 2005-07-19  Wim Taymans  <wim@fluendo.com>
7843
7844         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7845         Make sure we never call the create function is we
7846         got deactivated.
7847
7848 2005-07-19  Andy Wingo  <wingo@pobox.com>
7849
7850         * gst/parse/parse.l: Attempt to solve bug #172815.
7851
7852 2005-07-19  Wim Taymans  <wim@fluendo.com>
7853
7854         * docs/design/part-clocks.txt:
7855         * docs/design/part-events.txt:
7856         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7857         Small docs updates.
7858         Only update the seeking values when we are not
7859         busy streaming.
7860
7861 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7862
7863         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7864           Oops, ignore the result of gst_pad_push_event here.
7865
7866 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7867
7868         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7869         (gst_base_src_activate_push):
7870           Send discont event from the loop function, as pads
7871           aren't activated yet in the activate_push handler.
7872
7873         * gst/gstbin.c: (bin_bus_handler):
7874           Don't leak element name.
7875
7876 2005-07-18  Andy Wingo  <wingo@pobox.com>
7877
7878         * configure.ac: Use AS_LIBTOOL_TAGS.
7879
7880 2005-07-18  Wim Taymans  <wim@fluendo.com>
7881
7882         * docs/gst/gstreamer.types:
7883         Remove deleted types.
7884
7885 2005-07-18  Wim Taymans  <wim@fluendo.com>
7886
7887         * check/elements/gstfakesrc.c: (GST_START_TEST):
7888         * configure.ac:
7889         * gst/Makefile.am:
7890         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7891         (init_popt_callback):
7892         * gst/gst.h:
7893         * gst/gst_private.h:
7894         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7895         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7896         * gst/gstbin.h:
7897         * gst/gstbus.h:
7898         * gst/gstconfig.h.in:
7899         * gst/gstelement.c: (gst_element_class_init),
7900         (gst_element_set_base_time), (gst_element_get_base_time),
7901         (iterator_fold_with_resync), (gst_element_change_state),
7902         (gst_element_dispose), (gst_element_get_bus):
7903         * gst/gstelement.h:
7904         * gst/gstelementfactory.h:
7905         * gst/gsterror.c: (_gst_core_errors_init):
7906         * gst/gsterror.h:
7907         * gst/gstevent.h:
7908         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7909         * gst/gstindex.c:
7910         * gst/gstinfo.c: (_gst_debug_init):
7911         * gst/gstmessage.c: (_gst_message_copy):
7912         * gst/gstmessage.h:
7913         * gst/gstminiobject.h:
7914         * gst/gstobject.c:
7915         * gst/gstobject.h:
7916         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7917         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7918         * gst/gstpad.h:
7919         * gst/gstparse.h:
7920         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7921         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7922         (gst_pipeline_get_last_stream_time):
7923         * gst/gstpipeline.h:
7924         * gst/gstpluginfeature.h:
7925         * gst/gstquery.h:
7926         * gst/gstscheduler.c:
7927         * gst/gstscheduler.h:
7928         * gst/gststructure.h:
7929         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7930         (gst_task_finalize), (gst_task_func), (gst_task_create),
7931         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7932         (gst_task_stop), (gst_task_pause):
7933         * gst/gsttask.h:
7934         * gst/gsttypefind.h:
7935         * gst/gsttypes.h:
7936         * gst/registries/gstlibxmlregistry.c: (load_feature),
7937         (gst_xml_registry_load), (gst_xml_registry_save_feature):
7938         * gst/registries/gstxmlregistry.c:
7939         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7940         * gst/schedulers/threadscheduler.c:
7941         * libs/gst/control/dparammanager.h:
7942         * tools/gst-inspect.c: (print_element_list),
7943         (print_plugin_features), (print_element_features):
7944         * tools/gst-xmlinspect.c: (print_element_list),
7945         (print_plugin_info), (main):
7946         Removed plugable schedulers.
7947         Removed Scheduler/Manager from elements.
7948         Removed gsttypes.h, rearranged includes.
7949         Removed dependency pad<->element, element<>pipeline, and
7950         various others,  fix includes.
7951         implement gst_pad_get_parent() with gst_object_get_parent()
7952         Make GstTask sefcontained.
7953         Fix _get_state() on GstBin, it did not return ASYNC with a 0
7954         timeout.
7955         Fix endless loop in iterator_fold_with_resync.
7956
7957
7958 2005-07-18  Wim Taymans  <wim@fluendo.com>
7959
7960         * gst/Makefile.am:
7961         * gst/gstarch.h:
7962         Remove old file.
7963
7964 2005-07-18  Wim Taymans  <wim@fluendo.com>
7965
7966         * gst/Makefile.am:
7967         No more cothreads.h
7968
7969 2005-07-18  Wim Taymans  <wim@fluendo.com>
7970
7971         * gst/cothreads.c:
7972         * gst/cothreads.h:
7973         Let's remove these.
7974
7975 2005-07-18  Wim Taymans  <wim@fluendo.com>
7976
7977         * docs/design/part-dynamic.txt:
7978         * docs/design/part-events.txt:
7979         * docs/design/part-seeking.txt:
7980         Some more docs in the works.
7981
7982         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7983         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
7984         (gst_base_transform_setcaps), (gst_base_transform_get_size),
7985         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7986         (gst_base_transform_handle_buffer),
7987         (gst_base_transform_sink_activate_push),
7988         (gst_base_transform_src_activate_pull),
7989         (gst_base_transform_set_passthrough),
7990         (gst_base_transform_is_passthrough):
7991         Refcounting fixes.
7992
7993         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
7994         Cleanups.
7995
7996         * gst/gstevent.c: (gst_event_finalize):
7997         Set SRC to NULL.
7998
7999         * gst/gstutils.c: (gst_element_unlink),
8000         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8001         (gst_pad_proxy_setcaps):
8002         * gst/gstutils.h:
8003         Add _get_parent_element() to get a pads parent as an element.
8004
8005 2005-07-18  Wim Taymans  <wim@fluendo.com>
8006
8007         * check/gst/gstbin.c: (GST_START_TEST):
8008         Remove bogus test.
8009
8010 2005-07-18  Wim Taymans  <wim@fluendo.com>
8011
8012         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8013         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8014         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8015         (gst_base_sink_event), (gst_base_sink_do_sync),
8016         (gst_base_sink_chain), (gst_base_sink_loop),
8017         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8018         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8019         Refcounting fixes.
8020         Fix logic for returning ASYNC when not prerolled.
8021
8022 2005-07-18  Wim Taymans  <wim@fluendo.com>
8023
8024         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8025         Fix nasty refcount bug.
8026
8027 2005-07-16 Philippe Khalaf <burger@speedy.org>
8028
8029         * gst/elements/gstfdsrc.c:
8030         * gst/elements/gstfdsrc.h:
8031         * gst/elements/gstelements.c:
8032         * gst/elements/Makefile.am:
8033         Ported fdsrc to 0.9.
8034
8035 2005-07-16  Wim Taymans  <wim@fluendo.com>
8036
8037         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8038         (gst_base_sink_do_sync):
8039         Fix compile error.
8040
8041 2005-07-16  Wim Taymans  <wim@fluendo.com>
8042
8043         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8044         (gst_base_sink_event), (gst_base_sink_get_times),
8045         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8046         * gst/base/gstbasesink.h:
8047         Store and use discont values when syncing buffers as described
8048         in design docs.
8049         
8050         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8051         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8052         (gst_base_src_activate_push):
8053         Push discont event when starting.
8054
8055         * gst/elements/gstidentity.c: (gst_identity_transform):
8056         Small cleanups.
8057
8058         * gst/gstbin.c: (gst_bin_change_state):
8059         Small cleanups in base_time  distribution.
8060
8061         * gst/gstelement.c: (gst_element_set_base_time),
8062         (gst_element_get_base_time), (gst_element_change_state):
8063         * gst/gstelement.h:
8064         Added methods for the base_time of the element.
8065         Some MT fixes.
8066
8067         * gst/gstpipeline.c: (gst_pipeline_send_event),
8068         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8069         (gst_pipeline_get_last_stream_time):
8070         * gst/gstpipeline.h:
8071         MT fixes.
8072         Handle seeking as described in design doc, remove stream_time
8073         hack.
8074         Cleanups clock and stream_time selection code. Added accessors
8075         for the stream_time.
8076         
8077
8078 2005-07-16  Andy Wingo  <wingo@pobox.com>
8079
8080         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8081         (#305291).
8082
8083 2005-07-16  Wim Taymans  <wim@fluendo.com>
8084
8085         * check/gst/gstbin.c: (GST_START_TEST):
8086         Make elements silent as the deep_notify refs the
8087         parent, which might make the test fail.
8088
8089         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8090         Don't hold the lock for too long.
8091
8092 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8093
8094         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8095           Don't unref the caps we passed to gst_caps_make_writable() after
8096           passing them. gst_caps_make_writable() will do that for us.
8097
8098 2005-07-15  Andy Wingo  <wingo@pobox.com>
8099
8100         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8101         (#157311).
8102
8103         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8104         own marshalling function for the handoff signal. Properly type the
8105         buffer as a buffer. Fixes some warnings. Should do a more general
8106         solution.
8107         (gst_identity_class_init): Plug into the right marshaller.
8108
8109 2005-07-15  Wim Taymans  <wim@fluendo.com>
8110
8111         * docs/design/part-TODO.txt:
8112         * docs/design/part-clocks.txt:
8113         * docs/design/part-element-sink.txt:
8114         * docs/design/part-events.txt:
8115         * docs/design/part-gstpipeline.txt:
8116         Updated docs, mostly DISCONT related.
8117
8118 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8119
8120         * docs/pwg/building-pads.xml:
8121           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8122
8123 2005-07-15  Andy Wingo  <wingo@pobox.com>
8124
8125         * tools/gst-typefind.c: Update, add copyright block.
8126
8127         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8128         Normalize and truncate caps before fixation.
8129
8130         * gst/gstcaps.h:
8131         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8132         discards all but the first structure from its argument.
8133
8134 2005-07-15  Wim Taymans  <wim@fluendo.com>
8135
8136         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8137         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8138         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8139         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8140         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8141         (gst_base_transform_chain), (gst_base_transform_change_state),
8142         (gst_base_transform_set_passthrough),
8143         (gst_base_transform_is_passthrough):
8144         * gst/base/gstbasetransform.h:
8145         Make passthrough work using the bufferpools.
8146         Changed API a bit, subclasses have to write into a buffer
8147         provided by the base class.
8148         More debug info in nego functions.
8149         
8150         * gst/elements/gstidentity.c: (gst_identity_init),
8151         (gst_identity_transform):
8152         Port to new base class.
8153
8154 2005-07-15  Wim Taymans  <wim@fluendo.com>
8155
8156         * gst/gstmessage.c: (gst_message_new_state_changed):
8157         * tools/gst-launch.c: (event_loop), (main):
8158         Totally dump messages in -launch with the -m option.
8159         Fix message name for State messages,
8160
8161 2005-07-14  Wim Taymans  <wim@fluendo.com>
8162
8163         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8164         Post error messages on errors.
8165
8166 2005-07-14  Wim Taymans  <wim@fluendo.com>
8167
8168         * gst/gstcaps.c: (gst_caps_do_simplify):
8169         Remove debug info.
8170
8171         * gst/gsterror.h:
8172         Define error for stream stopped.
8173
8174         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8175         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8176         Do proper return values.
8177
8178         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8179         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8180         (gst_pad_get_range):
8181         Better return values.
8182
8183         * gst/gstpad.h:
8184         Reorganise return values, add macro to check for fatal errors.
8185
8186         * gst/gstqueue.c: (gst_queue_chain):
8187         Return proper GstFlowReturn values,
8188
8189 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8190
8191         * docs/gst/gstreamer-sections.txt:
8192         * docs/gst/gstreamer.types:
8193         * docs/gst/tmpl/gst.sgml:
8194         * docs/gst/tmpl/gstbasesink.sgml:
8195         * docs/gst/tmpl/gstbasesrc.sgml:
8196         * docs/gst/tmpl/gstbasetransform.sgml:
8197         * docs/gst/tmpl/gstbin.sgml:
8198         * docs/gst/tmpl/gstbuffer.sgml:
8199         * docs/gst/tmpl/gstcaps.sgml:
8200         * docs/gst/tmpl/gstclock.sgml:
8201         * docs/gst/tmpl/gstcompat.sgml:
8202         * docs/gst/tmpl/gstconfig.sgml:
8203         * docs/gst/tmpl/gstelement.sgml:
8204         * docs/gst/tmpl/gstelementdetails.sgml:
8205         * docs/gst/tmpl/gstelementfactory.sgml:
8206         * docs/gst/tmpl/gstenumtypes.sgml:
8207         * docs/gst/tmpl/gsterror.sgml:
8208         * docs/gst/tmpl/gstevent.sgml:
8209         * docs/gst/tmpl/gstfakesink.sgml:
8210         * docs/gst/tmpl/gstfakesrc.sgml:
8211         * docs/gst/tmpl/gstfilesink.sgml:
8212         * docs/gst/tmpl/gstfilesrc.sgml:
8213         * docs/gst/tmpl/gstfilter.sgml:
8214         * docs/gst/tmpl/gstformat.sgml:
8215         * docs/gst/tmpl/gstghostpad.sgml:
8216         * docs/gst/tmpl/gstimplementsinterface.sgml:
8217         * docs/gst/tmpl/gstindex.sgml:
8218         * docs/gst/tmpl/gstindexfactory.sgml:
8219         * docs/gst/tmpl/gstinfo.sgml:
8220         * docs/gst/tmpl/gstiterator.sgml:
8221         * docs/gst/tmpl/gstmacros.sgml:
8222         * docs/gst/tmpl/gstmemchunk.sgml:
8223         * docs/gst/tmpl/gstminiobject.sgml:
8224         * docs/gst/tmpl/gstobject.sgml:
8225         * docs/gst/tmpl/gstpad.sgml:
8226         * docs/gst/tmpl/gstpadtemplate.sgml:
8227         * docs/gst/tmpl/gstparse.sgml:
8228         * docs/gst/tmpl/gstpipeline.sgml:
8229         * docs/gst/tmpl/gstplugin.sgml:
8230         * docs/gst/tmpl/gstpluginfeature.sgml:
8231         * docs/gst/tmpl/gstquery.sgml:
8232         * docs/gst/tmpl/gstqueue.sgml:
8233         * docs/gst/tmpl/gstregistry.sgml:
8234         * docs/gst/tmpl/gstregistrypool.sgml:
8235         * docs/gst/tmpl/gstscheduler.sgml:
8236         * docs/gst/tmpl/gstschedulerfactory.sgml:
8237         * docs/gst/tmpl/gststructure.sgml:
8238         * docs/gst/tmpl/gstsystemclock.sgml:
8239         * docs/gst/tmpl/gsttaglist.sgml:
8240         * docs/gst/tmpl/gsttagsetter.sgml:
8241         * docs/gst/tmpl/gsttrace.sgml:
8242         * docs/gst/tmpl/gsttrashstack.sgml:
8243         * docs/gst/tmpl/gsttypefind.sgml:
8244         * docs/gst/tmpl/gsttypefindfactory.sgml:
8245         * docs/gst/tmpl/gsttypes.sgml:
8246         * docs/gst/tmpl/gsturihandler.sgml:
8247         * docs/gst/tmpl/gsturitype.sgml:
8248         * docs/gst/tmpl/gstutils.sgml:
8249         * docs/gst/tmpl/gstvalue.sgml:
8250         * docs/gst/tmpl/gstversion.sgml:
8251         * docs/gst/tmpl/gstxml.sgml:
8252         * docs/libs/tmpl/gstcontrol.sgml:
8253         * docs/libs/tmpl/gstdataprotocol.sgml:
8254         * docs/libs/tmpl/gstdparam.sgml:
8255         * docs/libs/tmpl/gstdplinint.sgml:
8256         * docs/libs/tmpl/gstdpman.sgml:
8257         * docs/libs/tmpl/gstdpsmooth.sgml:
8258         * docs/libs/tmpl/gstgetbits.sgml:
8259         * docs/libs/tmpl/gstunitconvert.sgml:
8260         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8261         (gst_push_src_base_init), (gst_push_src_class_init),
8262         (gst_push_src_init), (gst_push_src_create):
8263         * gst/base/gstpushsrc.h:
8264         * gst/elements/gstelements.c:
8265         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8266         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8267         (gst_fake_sink_init), (gst_fake_sink_set_property),
8268         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8269         (gst_fake_sink_event), (gst_fake_sink_preroll),
8270         (gst_fake_sink_render), (gst_fake_sink_change_state):
8271         * gst/elements/gstfakesink.h:
8272         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8273         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8274         (gst_fake_src_base_init), (gst_fake_src_class_init),
8275         (gst_fake_src_init), (gst_fake_src_event_handler),
8276         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8277         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8278         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8279         (gst_fake_src_create_buffer), (gst_fake_src_create),
8280         (gst_fake_src_start), (gst_fake_src_stop):
8281         * gst/elements/gstfakesrc.h:
8282         * gst/elements/gstfilesink.c: (_do_init),
8283         (gst_file_sink_base_init), (gst_file_sink_class_init),
8284         (gst_file_sink_init), (gst_file_sink_dispose),
8285         (gst_file_sink_set_location), (gst_file_sink_set_property),
8286         (gst_file_sink_get_property), (gst_file_sink_open_file),
8287         (gst_file_sink_close_file), (gst_file_sink_query),
8288         (gst_file_sink_event), (gst_file_sink_render),
8289         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8290         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8291         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8292         * gst/elements/gstfilesink.h:
8293         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8294         (gst_file_src_class_init), (gst_file_src_init),
8295         (gst_file_src_finalize), (gst_file_src_set_location),
8296         (gst_file_src_set_property), (gst_file_src_get_property),
8297         (gst_file_src_map_region), (gst_file_src_map_small_region),
8298         (gst_file_src_create_mmap), (gst_file_src_create_read),
8299         (gst_file_src_create), (gst_file_src_is_seekable),
8300         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8301         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8302         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8303         (gst_file_src_uri_handler_init):
8304         * gst/elements/gstfilesrc.h:
8305           more autistic cleanliness in functions/names/defines
8306
8307 2005-07-13  Andy Wingo  <wingo@pobox.com>
8308
8309         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8310         source couldn't negotiate.
8311
8312         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8313         connections again.
8314
8315         * gst/gstutils.h:
8316         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8317         function. I am channeling Hades. Put your boots on suckers!!!
8318
8319 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8320
8321         * testsuite/caps/Makefile.am:
8322         * testsuite/caps/value_compare.c:
8323         * testsuite/caps/value_intersect.c:
8324         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8325           move two testsuite apps over to the check dir
8326
8327 2005-07-12  Wim Taymans  <wim@fluendo.com>
8328
8329         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8330         Added more debug info in the negotiate process.
8331
8332         * gst/gstmessage.h:
8333         Prepare for segment playback.
8334
8335         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8336         Better debugging.
8337
8338         * gst/gstutils.c:
8339         Some more docs.
8340
8341         * tools/gst-launch.c: (main):
8342         NULL pipeline on errors.
8343
8344 2005-07-12  Andy Wingo  <wingo@pobox.com>
8345
8346         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8347         not it comes from a malloc region. Make sure our copy gets freed.
8348
8349 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8350
8351         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8352         * check/gst/gstmessage.c: (GST_START_TEST):
8353         * check/gst/gststructure.c: (GST_START_TEST),
8354         (gst_structure_suite), (main):
8355           more testing
8356         * gst/gstelement.c: (gst_element_message_full):
8357           clean up GError and debug string now that they get copied
8358         * gst/gstmessage.c: (gst_message_new_error),
8359         (gst_message_new_warning), (gst_message_parse_error),
8360         (gst_message_parse_warning):
8361           use GST_TYPE_G_ERROR for structure_new, and take copies of
8362           arguments, so that we don't mess up refcounting
8363
8364 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8365
8366         * check/Makefile.am:
8367           add per-test valgrind targets
8368         * check/gst-libs/gdp.c: (GST_START_TEST),
8369         (gst_data_protocol_suite), (main):
8370           clean up
8371
8372 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8373
8374         * check/Makefile.am:
8375           instate more valgrindable tests
8376         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8377         (GST_START_TEST), (fakesrc_suite):
8378         * check/gst/gstpad.c: (GST_START_TEST):
8379         * check/gst/gststructure.c: (GST_START_TEST):
8380           fix test leaks
8381         * docs/gst/tmpl/gstminiobject.sgml:
8382         * gst/gstpad.c: (gst_pad_finalize):
8383           fix the static mutex leak
8384
8385 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8386
8387         * check/Makefile.am:
8388           add two more tests for valgrinding
8389         * check/gst/gstvalue.c: (GST_START_TEST):
8390           test refcount of deserialized buffer, found a leak
8391         * docs/gst/gstreamer-docs.sgml:
8392         * docs/gst/gstreamer-sections.txt:
8393         * docs/gst/gstreamer.types:
8394         * docs/gst/tmpl/gstminiobject.sgml:
8395           add miniobject to docs
8396         * gst/gstminiobject.c:
8397           add some docs
8398         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8399         (gst_string_unwrap):
8400           fix a hard-to-find invalid write for one of the tests
8401           fix a leak for deserialized buffers
8402
8403 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8404
8405         * docs/pwg/advanced-events.xml:
8406         * docs/pwg/advanced-request.xml:
8407         * docs/pwg/advanced-scheduling.xml:
8408         * docs/pwg/appendix-porting.xml:
8409         * docs/pwg/building-boiler.xml:
8410         * docs/pwg/intro-preface.xml:
8411         * docs/pwg/other-ntoone.xml:
8412           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8413           of example code and explanation for pad activation, loop() and
8414           getrange() functions and a bit more. Remove old comments pointing
8415           to loop-functions.
8416         * examples/pwg/Makefile.am:
8417           Add loop/getrange examples.
8418
8419 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8420
8421         * configure.ac:
8422           check for valgrind binary + some fixes
8423         * check/gst.supp:
8424           valgrind suppressions for the tests
8425         * check/Makefile.am:
8426           add a valgrind: target that valgrinds the unit tests
8427         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8428         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8429         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8430         * check/gst/gstghostpad.c:
8431           added some cleanup
8432         * check/gst/gstdata.c:
8433           removed
8434         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8435         (thread_unref), (gst_mini_object_suite), (main):
8436           added
8437         * gst/gst.c: (gst_deinit):
8438         * gst/gst.h:
8439           add a method to clean up.
8440         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8441         (gst_system_clock_obtain):
8442           allow for disposing the system clock.
8443         * tools/gst-launch.c: (main):
8444           deinit
8445
8446 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8447
8448         * docs/gst/tmpl/gstbasesrc.sgml:
8449         * docs/gst/tmpl/gstfakesrc.sgml:
8450         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8451         (gst_base_src_init), (gst_base_src_set_property),
8452         (gst_base_src_get_property), (gst_base_src_get_range),
8453         (gst_base_src_start):
8454         * gst/base/gstbasesrc.h:
8455           add num-buffers property
8456         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8457         (gst_fakesrc_init), (gst_fakesrc_set_property),
8458         (gst_fakesrc_get_property), (gst_fakesrc_create),
8459         (gst_fakesrc_start):
8460           remove num-buffers property
8461
8462 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8463
8464         * docs/gst/gstreamer-sections.txt:
8465         * docs/gst/tmpl/gstbasesink.sgml:
8466         * docs/gst/tmpl/gstbasesrc.sgml:
8467         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8468         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8469         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8470         (gst_base_sink_set_property), (gst_base_sink_get_property),
8471         (gst_base_sink_handle_object), (gst_base_sink_event),
8472         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8473         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8474         (gst_base_sink_loop), (gst_base_sink_deactivate),
8475         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8476         (gst_base_sink_change_state):
8477         * gst/base/gstbasesink.h:
8478         * gst/base/gstbasesrc.h:
8479         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8480         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8481         (gst_filesink_init):
8482           more macro splitting
8483
8484 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8485
8486         * gst/gstelement.c: (gst_element_get_bus):
8487           add debug
8488         * tools/gst-launch.c: (check_intr), (event_loop):
8489           fix bus leaks
8490
8491 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8492
8493         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8494           fix a caps leak
8495
8496 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8497
8498         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8499         (gst_base_src_finalize):
8500           add finalize method and clean up properly
8501         * gst/gstpipeline.c: (gst_pipeline_dispose):
8502           add debug
8503
8504 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8505
8506         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8507         (gst_bin_suite):
8508           add more things to check
8509         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8510         * gst/gstelement.c:
8511           more debug
8512
8513 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8514
8515         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8516         (GST_START_TEST), (fakesrc_suite):
8517         * check/gst-libs/gdp.c: (GST_START_TEST):
8518         * check/gst/gst.c: (GST_START_TEST):
8519         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8520         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8521         * check/gst/gstbus.c: (GST_START_TEST):
8522         * check/gst/gstcaps.c: (GST_START_TEST):
8523         * check/gst/gstdata.c: (GST_START_TEST):
8524         * check/gst/gstelement.c: (GST_START_TEST):
8525         * check/gst/gstghostpad.c: (GST_START_TEST):
8526         * check/gst/gstiterator.c: (GST_START_TEST):
8527         * check/gst/gstmessage.c: (GST_START_TEST):
8528         * check/gst/gstobject.c: (GST_START_TEST):
8529         * check/gst/gstpad.c: (GST_START_TEST):
8530         * check/gst/gststructure.c: (GST_START_TEST):
8531         * check/gst/gstsystemclock.c: (GST_START_TEST),
8532         (gst_systemclock_suite):
8533         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8534         * check/gst/gstvalue.c: (GST_START_TEST):
8535         * check/pipelines/cleanup.c: (GST_START_TEST):
8536         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8537         * check/states/sinks.c: (GST_START_TEST):
8538         * check/gstcheck.c: (gst_check_init):
8539         * check/gstcheck.h:
8540           add debugging category
8541           use GST_START_TEST now, so we add a debug line
8542
8543 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8544
8545         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8546           add test for state change message on a bin
8547         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8548           add another test
8549         * gst/gstbin.c: (gst_bin_init):
8550         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8551         * gst/gstelement.c: (gst_element_post_message),
8552         (gst_element_set_state):
8553         * gst/gstelementfactory.c: (gst_element_factory_create):
8554         * gst/gstmessage.c: (gst_message_new):
8555         * gst/gstscheduler.c:
8556           various debugging additions and cleanups
8557
8558 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8559
8560         * check/Makefile.am:
8561         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8562         (main):
8563           adding tests for elements
8564         * gst/gstelement.c: (gst_element_dispose):
8565
8566 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8567
8568         * gst/registries/gstlibxmlregistry.c: (load_feature):
8569           plug more leaks.  A simple gst_init() now is leakfree, yay.
8570
8571 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8572
8573         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8574         (gst_xml_registry_load):
8575           plug another memleak
8576
8577 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8578
8579         * configure.ac:
8580           use GST_SET_ERROR_CFLAGS
8581         * docs/faq/cvs.xml:
8582           change to ERROR_CFLAGS
8583
8584 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8585
8586         * configure.ac:
8587           make GST_ERROR_CFLAGS overridable and re-enable Werror
8588         * docs/faq/cvs.xml:
8589           add a note about error CFLAGS
8590         * docs/gst/tmpl/gstfakesrc.sgml:
8591         * gst/elements/gstfakesrc.c:
8592           comment out some unused code
8593         * gst/gst.c: (split_and_iterate):
8594         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8595         (load_feature):
8596           plug some memleaks
8597
8598 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8599
8600         * common/Makefile.am:
8601         * common/gtk-doc.mak:
8602         * docs/gst/Makefile.am:
8603           factor out gtk-doc.mak
8604
8605 2005-07-07  Wim Taymans  <wim@fluendo.com>
8606
8607         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8608         (gst_thread_scheduler_dispose):
8609         Unlock the STREAM_LOCK completely.
8610
8611 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8612
8613         * check/Makefile.am:
8614         * check/elements/.cvsignore:
8615         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8616         (START_TEST), (fakesrc_suite), (main):
8617         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8618         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8619         (gst_fakesrc_create), (gst_fakesrc_start):
8620         * gst/elements/gstfakesrc.h:
8621           adding a first element test
8622
8623 2005-07-07  Andy Wingo  <wingo@pobox.com>
8624
8625         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8626         debug message.
8627
8628 2005-07-07  Wim Taymans  <wim@fluendo.com>
8629
8630         * gst/gstquery.c:
8631         * gst/gstquery.h:
8632         Remove old types
8633
8634 2005-07-07  Wim Taymans  <wim@fluendo.com>
8635
8636         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8637         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8638         Allow subclasses to implement their own negotiation.
8639
8640 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8641
8642         * docs/design/part-gstbin.txt:
8643         * docs/design/part-gstpipeline.txt:
8644           Update design notes to reflect the movement of
8645           responsibility for bus handling from GstPipeline to
8646           GstBin
8647
8648 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8649
8650         * configure.ac:
8651           Remove unnecessary queue2/3/4 examples.
8652
8653 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8654
8655         * examples/Makefile.am:
8656         * examples/helloworld/helloworld.c: (event_loop), (main):
8657         * examples/queue/queue.c: (event_loop), (main):
8658         * examples/queue2/queue2.c: (main):
8659           Update a couple of the examples to work again.
8660
8661         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8662         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8663          Spelling corrections and extra debug.
8664         
8665         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8666         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8667         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8668         * gst/gstbin.h:
8669         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8670         (gst_pipeline_change_state):
8671         * gst/gstpipeline.h:
8672           Move the bus handler for children to the GstBin, and create a
8673           separate bus for receiving messages from children to the one the
8674           bus sends 'upwards' on.
8675
8676 2005-07-06  Wim Taymans  <wim@fluendo.com>
8677
8678         * gst/base/README:
8679         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8680         (gst_base_sink_handle_object), (gst_base_sink_loop),
8681         (gst_base_sink_change_state):
8682         * gst/base/gstbasesink.h:
8683         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8684         (gst_base_src_init), (gst_base_src_setcaps),
8685         (gst_base_src_getcaps), (gst_base_src_loop),
8686         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8687         (gst_base_src_start), (gst_base_src_change_state):
8688         * gst/base/gstbasesrc.h:
8689         Make basesrc negotiate.
8690         Handle the case where preroll fails in basesink.
8691         Update README.
8692
8693 2005-07-06  Wim Taymans  <wim@fluendo.com>
8694
8695         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8696         Implement the fixate function.
8697         Clean up acceptcaps.
8698
8699 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8700
8701         * docs/pwg/building-filterfactory.xml:
8702         * docs/pwg/pwg.xml:
8703           Remove never-written filter-factory chapter; I'll add the various
8704           base classes to part 4 ("other element types") later on.
8705
8706 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8707
8708         * docs/pwg/advanced-negotiation.xml:
8709         * docs/pwg/building-boiler.xml:
8710         * docs/pwg/building-pads.xml:
8711         * docs/pwg/pwg.xml:
8712         * examples/pwg/Makefile.am:
8713           Add a chapter on caps negotiation, simplify the original code
8714           samples a bit w.r.t. caps negotiation, add link to the advanced
8715           section. Add a bunch of examples showing different use cases of
8716           different types of caps negotiation. Upstream renegotiation isn't
8717           fully documented yet since nobody knows how that works.
8718
8719 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8720
8721         * check/gst/gstpad.c:
8722         * check/gstcheck.c:
8723         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8724           if pad has no parent, return NULL as list of internal links
8725
8726 2005-07-05  Andy Wingo  <wingo@pobox.com>
8727
8728         * gst/elements/gstfilesrc.c:
8729         * gst/elements/gstfakesrc.c: 
8730         * gst/base/gstpushsrc.c:
8731         * gst/base/gstbasesrc.h: 
8732         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8733         
8734 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8735
8736         * Makefile.am:
8737           better report generation target (lcov needs a patch)
8738
8739 2005-07-05  Andy Wingo  <wingo@pobox.com>
8740
8741         * gst/elements, testsuite: Null if we got it...
8742
8743 2005-07-05  Wim Taymans  <wim@fluendo.com>
8744
8745         * configure.ac:
8746         * libs/gst/dataprotocol/Makefile.am:
8747         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8748         * libs/gst/dataprotocol/dataprotocol.h:
8749         * pkgconfig/Makefile.am:
8750         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8751         * pkgconfig/gstreamer-dataprotocol.pc.in:
8752         Ported dataprotol to 0.9. 
8753         Added pkgconfig files.
8754
8755 2005-07-05  Andy Wingo  <wingo@pobox.com>
8756
8757         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8758         Default to returning TRUE for the case when tranform_caps returns
8759         a fixed caps, like for identity or volume.
8760
8761         * check/gst/gstbus.c (pound_bus_with_messages): 
8762         * check/gst/gstmessage.c (START_TEST): 
8763         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8764         message API change.
8765
8766         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8767         logic weaks here: always run transform_caps, trying passthrough
8768         operation only if the original caps intersects with the transform.
8769
8770         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8771         source and sink caps.
8772
8773         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8774         Intersect the peer caps with the pad template before going into
8775         transform_caps.
8776         (gst_base_transform_transform_caps): More debugging.
8777
8778         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8779         src argument.
8780
8781 2005-07-04  Edward Hervey  <edward@fluendo.com>
8782
8783         * gst/gstutils.c:
8784         * gst/gstutils.h:
8785         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8786         in bindings.
8787
8788 2005-07-04  Andy Wingo  <wingo@pobox.com>
8789
8790         * check/gst/gstpad.c: Only set explicit caps on pads.
8791
8792 2005-07-01  Andy Wingo  <wingo@pobox.com>
8793
8794         * tests/network-clock.scm: Commentary update.
8795
8796         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8797         Didn't really make sense, not implementable with basetransform,
8798         etc.
8799         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8800         attempt at implementing the sync property, needs an unlock method.
8801
8802         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8803         New func, by default returns the same caps (the identity
8804         transformation).
8805         (gst_base_transform_getcaps): Uses transform_caps to return
8806         something sensible.
8807         (gst_base_transform_setcaps): Complicated logic to get caps on
8808         both pads, even if they are different, and to call set_caps once
8809         for every time both pads get their caps set.
8810         (gst_base_transform_handle_buffer): Give the ref to the transform
8811         function. Allows in-place modification of the buffer.
8812
8813         * gst/base/gstbasetransform.h (transform_caps): New class method.
8814         Given caps on one side, what can I do on the other.
8815         (set_caps): Take two caps, one for each side of the element.
8816
8817         * gst/gstpad.h:
8818         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8819         caps in place. This is safe because we can check the mutability of
8820         the caps, and a good idea because fixate functions are just called
8821         as a matter of last resort. (Not actually implemented.)
8822         (gst_pad_set_caps): If the caps we're setting is actually the same
8823         as the existing pad caps, just update the pointer without calling
8824         setcaps. Assert that caps is either NULL or fixed, as per the
8825         docs.
8826
8827         * gst/gstghostpad.c: Update for fixate changes.
8828
8829 2005-07-02  Andy Wingo  <wingo@pobox.com>
8830
8831         * gst/gstcaps.c:
8832         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8833         two refcounts makes it immutable, which is enough. Doc more.
8834
8835 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8836
8837         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8838           Put the mini_object into GValue as a mini_object,
8839           not a gpointer, since that's how we declared
8840           the signal.
8841
8842 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8843
8844         * examples/pwg/Makefile.am:
8845           Fix buildbot again.
8846
8847 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8848
8849         * docs/pwg/building-testapp.xml:
8850           Add extra check.
8851         * examples/pwg/Makefile.am:
8852           Fix buildbot.
8853
8854 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8855
8856         * configure.ac:
8857         * examples/Makefile.am:
8858         * examples/pwg/Makefile.am:
8859         * examples/pwg/extract.pl:
8860           Enable building the PWG examples.
8861         * docs/pwg/advanced-interfaces.xml:
8862           Add URI interface stub.
8863         * docs/pwg/advanced-types.xml:
8864         * docs/pwg/other-autoplugger.xml:
8865         * docs/pwg/appendix-porting.xml:
8866         * docs/pwg/pwg.xml:
8867           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8868         * docs/pwg/building-boiler.xml:
8869         * docs/pwg/building-chainfn.xml:
8870         * docs/pwg/building-pads.xml:
8871         * docs/pwg/building-props.xml:
8872         * docs/pwg/building-state.xml:
8873         * docs/pwg/building-testapp.xml:
8874           Update the building-*.xml parts for 0.9 changes. All examples
8875           code blocks compile in examples/pwg/*.
8876
8877 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8878
8879         * docs/manual/advanced-autoplugging.xml:
8880         * docs/manual/appendix-checklist.xml:
8881         * docs/manual/appendix-integration.xml:
8882         * docs/manual/highlevel-components.xml:
8883           Fix playbin/decodebin examples, update docs a bit, mention bus
8884           instead of signals in various places, mention kmplayer and
8885           kaffeine since they have a working GStreamer backend in the KDE
8886           section.
8887
8888 2005-06-30  Wim Taymans  <wim@fluendo.com>
8889
8890         * CHANGES-0.9:
8891         * docs/design/draft-ghostpads.txt:
8892         * docs/design/draft-push-pull.txt:
8893         * docs/design/draft-query.txt:
8894         * docs/design/part-TODO.txt:
8895         * docs/design/part-query.txt:
8896         Added CHANGES-0.9 doc, updated status of other docs.
8897         
8898         * gst/gstquery.h:
8899         Remove "hmm" macro
8900
8901 2005-06-30  Wim Taymans  <wim@fluendo.com>
8902
8903         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8904         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8905         (gst_base_sink_change_state):
8906         * gst/base/gstbasesink.h:
8907         Some tweaks, only EOS and a buffer complete a preroll.
8908
8909 2005-06-30  Andy Wingo  <wingo@pobox.com>
8910
8911         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8912         activate_push down to the internal pad as well.
8913
8914 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8915
8916         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8917
8918         * gst/gsttaginterface.c:
8919           Some documentation fixes (#307394 and #307397).
8920
8921 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8922
8923         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8924
8925         * gst/gstvalue.c: (gst_value_intersect_list):
8926           Fix memleak (#309125).
8927
8928 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8929
8930         * docs/manual/advanced-dataaccess.xml:
8931           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8932         * docs/manual/basics-pads.xml:
8933           Add reference for filtered caps to above chapter.
8934
8935 2005-06-30  Wim Taymans  <wim@fluendo.com>
8936
8937         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8938         (gst_bin_change_state):
8939         Probes are gone.
8940         Lame attempt at making the state change function a bit
8941         more readable.
8942
8943 2005-06-30  Wim Taymans  <wim@fluendo.com>
8944
8945         * docs/design/part-clocks.txt:
8946         * docs/design/part-element-sink.txt:
8947         * docs/design/part-events.txt:
8948         * docs/design/part-preroll.txt:
8949         * docs/design/part-states.txt:
8950         Some more tweeks and additions to the docs.
8951
8952 2005-06-30  Wim Taymans  <wim@fluendo.com>
8953
8954         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8955         (default_have_data), (gst_pad_class_init), (gst_pad_init),
8956         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8957         (gst_pad_check_pull_range), (gst_pad_get_range),
8958         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
8959         * gst/gstpad.h:
8960         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
8961         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8962         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8963         (gst_pad_remove_buffer_probe):
8964         Removed atomic operations, use existing LOCK.
8965         Move exception handling out of main code path.
8966
8967 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8968
8969         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8970         (silly_return_true_function), (gst_pad_class_init),
8971         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8972         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
8973         (gst_pad_send_event):
8974           Fix accumulator, add default value by using _emitv() instead
8975           of _emit() for signal emission.
8976
8977 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8978
8979         * docs/manual/advanced-dataaccess.xml:
8980         * examples/manual/Makefile.am:
8981           Add probe example.
8982         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
8983           Make work (??).
8984
8985 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
8986
8987         * gst/elements/gstfilesink.c: (gst_filesink_render):
8988           Simplify code so that we don't have to handle short
8989           writes and return GST_FLOW_ERROR if an error occured.
8990
8991 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8992
8993         * docs/gst/gstreamer-docs.sgml:
8994           Remove probes more.
8995
8996 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8997
8998         * docs/gst/gstreamer-sections.txt:
8999         * docs/gst/tmpl/gstpad.sgml:
9000         * docs/gst/tmpl/gstprobe.sgml:
9001         * gst/Makefile.am:
9002         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9003         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9004         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9005         (gst_pad_push_event), (gst_pad_send_event):
9006         * gst/gstpad.h:
9007         * gst/gstutils.c: (gst_pad_add_data_probe),
9008         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9009         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9010         (gst_pad_remove_buffer_probe):
9011         * gst/gstutils.h:
9012           Remove old probes, add new g-signal-based probes and some utility
9013           functions.
9014
9015 2005-06-29  Edward Hervey  <edward@fluendo.com>
9016
9017         * gst/gstelementfactory.c:
9018         * gst/gstutils.h:
9019         * gst/gstutils.c:
9020         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9021         the definition to the header file.
9022
9023 2005-06-29  Andy Wingo  <wingo@pobox.com>
9024
9025         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9026         plugins from the source directory.
9027
9028 2005-06-29  Wim Taymans  <wim@fluendo.com>
9029
9030         * docs/gst/tmpl/gstbuffer.sgml:
9031         * docs/gst/tmpl/gstclock.sgml:
9032         Some fixings for blantently wrong text.
9033
9034 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9035
9036         * check/Makefile.am:
9037         * gst/gst.c: (add_path_func), (init_pre):
9038         * gst/gstregistry.c: (gst_registry_add_path):
9039           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9040           only scan the GST_PLUGIN_PATH locations, and not add
9041           system locations
9042
9043 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9044
9045         * docs/gst/gstreamer-sections.txt:
9046         * docs/gst/tmpl/gstbasesrc.sgml:
9047         * gst/gstelement.c:
9048         * gst/gstelement.h:
9049         * gst/gstevent.c:
9050         * gst/gstutils.c:
9051           doc fixes
9052
9053 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9054
9055         * docs/manual/advanced-autoplugging.xml:
9056           Fix autoplugging example.
9057
9058 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9059
9060         * docs/manual/advanced-autoplugging.xml:
9061         * docs/manual/mime-world.fig:
9062           Try to get autoplugging working, fix type detection. Fix text
9063           in hello-world image.
9064
9065 2005-06-29  Wim Taymans  <wim@fluendo.com>
9066
9067         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9068         (gst_base_sink_change_state):
9069         Small debug line.
9070
9071         * gst/gstclock.h:
9072         map SIGNAL and BROADCAST to the right function.
9073
9074         * gst/gstobject.h:
9075         Remove redundant braces.
9076
9077         * gst/gstpad.c: (gst_pad_set_caps):
9078         Don't call setcaps function when reseting caps to NULL.
9079
9080         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9081         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9082         (gst_system_clock_id_unschedule):
9083         Use BROADCAST as this is what we do.
9084
9085 2005-06-29  Wim Taymans  <wim@fluendo.com>
9086
9087         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9088         We are actually prerolling before commiting the state
9089         change. 
9090
9091 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9092
9093         * docs/manual/advanced-clocks.xml:
9094         * docs/manual/advanced-interfaces.xml:
9095         * docs/manual/advanced-metadata.xml:
9096         * docs/manual/advanced-position.xml:
9097         * docs/manual/advanced-schedulers.xml:
9098         * docs/manual/advanced-threads.xml:
9099         * docs/manual/appendix-porting.xml:
9100         * docs/manual/basics-bins.xml:
9101         * docs/manual/basics-bus.xml:
9102         * docs/manual/basics-elements.xml:
9103         * docs/manual/basics-helloworld.xml:
9104         * docs/manual/basics-pads.xml:
9105         * docs/manual/highlevel-components.xml:
9106         * docs/manual/manual.xml:
9107         * docs/manual/thread.fig:
9108           Update (until threads/scheduling) Application Development Manual;
9109           remove GstThread, add GstBus, add simple porting checklist, add
9110           documentation for tag writing, clocks, make all examples until this
9111           part compile and run.
9112         * examples/manual/Makefile.am:
9113           Update from changes to Application Development Manual; add bus
9114           example, remove thread example.
9115
9116 2005-06-28  Wim Taymans  <wim@fluendo.com>
9117
9118         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9119         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9120         (gst_bus_source_dispatch):
9121         Add debugging messages.
9122         Make internal methods static.
9123         Handle the case where the bus is flushed in the handler.
9124         
9125         * gst/gstelement.c: (gst_element_get_bus):
9126         Fix refcount in _get_bus();
9127
9128         * gst/gstpipeline.c: (gst_pipeline_change_state),
9129         (gst_pipeline_get_clock_func):
9130         Clock refcounting fixes.
9131         Handle the case where preroll timed out more gracefully.
9132         
9133         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9134         Clean up the internal thread in dispose. This is needed
9135         for subclasses that actually get disposed.
9136         
9137         * gst/schedulers/threadscheduler.c:
9138         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9139         (gst_thread_scheduler_dispose):
9140         Free thread pool in dispose.
9141
9142 2005-06-28  Andy Wingo  <wingo@pobox.com>
9143
9144         * tests/network-clock-utils.scm (debug, print-event): New utils.
9145
9146         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9147         (*packet-loss*): Unified loss probability.
9148         (network-time): Report out-of-band events.
9149
9150         * tests/plot-data: Add support for out-of-band events. Hack it
9151         into this script instead of passing it down the pipe; should fix
9152         this later.
9153
9154 2005-06-28  Wim Taymans  <wim@fluendo.com>
9155
9156         * docs/gst/gstreamer.types:
9157         * docs/gst/tmpl/gstbasesrc.sgml:
9158         * docs/gst/tmpl/gstpad.sgml:
9159         Docs fixes.
9160
9161 2005-06-28  Wim Taymans  <wim@fluendo.com>
9162
9163         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9164         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9165         (gst_proxy_pad_do_fixatecaps):
9166         Correctly proxy the check_pull_range function.
9167
9168 2005-06-28  Andy Wingo  <wingo@pobox.com>
9169
9170         * tests/network-clock.scm: Removed need for slib.
9171         
9172 2005-06-28  Wim Taymans  <wim@fluendo.com>
9173
9174         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9175         (gst_basesink_preroll_queue_flush):
9176         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9177         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9178         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9179         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9180         (gst_proxy_pad_set_property):
9181         * gst/gstpad.c:
9182         * gst/gstpad.h:
9183         * gst/gstqueue.c: (gst_queue_init):
9184         The deprecated pad loop function is removed now.
9185
9186 2005-06-28  Andy Wingo  <wingo@pobox.com>
9187
9188         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9189         New parameters, simulate network packet loss.
9190
9191         * tests/network-clock-utils.scm: Initialize the RNG.
9192
9193 2005-06-28  Wim Taymans  <wim@fluendo.com>
9194
9195         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9196         (gst_basesink_event), (gst_basesink_deactivate):
9197         Flushing the preroll queue always needs to unlock the waiters.
9198
9199 2005-06-28  Edward Hervey  <edward@fluendo.com>
9200
9201         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9202         Wheen a seek was successful on a pipeline, set the stream_time to the
9203         seek offset in order to have a synchronized stream_time.
9204
9205 2005-06-28  Wim Taymans  <wim@fluendo.com>
9206
9207         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9208         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9209         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9210         (gst_proxy_pad_do_fixatecaps):
9211         Call wrapper function instead of just calling the function
9212         pointers. This takes care of any locking and whatmore.
9213
9214 2005-06-28  Wim Taymans  <wim@fluendo.com>
9215
9216         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9217         (gst_pad_pull_range):
9218         * gst/gstpad.h:
9219         CONNECTED -> LINKED.
9220
9221 2005-06-28  Andy Wingo  <wingo@pobox.com>
9222
9223         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9224         source-munging commit!!!
9225
9226         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9227         (gst_object_sink): Take gpointer arguments, not GstObject --
9228         avoids casts. Like GLib.
9229
9230         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9231         activate.
9232
9233 2005-06-27  Andy Wingo  <wingo@pobox.com>
9234
9235         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9236         remaining buffer.
9237
9238         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9239         returns a sorted copy of the trace list.
9240         (gst_alloc_trace_print_live): New API, only prints traces with
9241         live objects. Sort the list.
9242         (gst_alloc_trace_print_all): Sort the list.
9243         (gst_alloc_trace_print): Align columns.
9244
9245         * gst/elements/gstttypefindelement.c:
9246         * gst/elements/gsttee.c:
9247         * gst/base/gstbasesrc.c:
9248         * gst/base/gstbasesink.c:
9249         * gst/base/gstbasetransform.c:
9250         * gst/gstqueue.c: Adapt for pad activation changes.
9251
9252         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9253         sched.
9254         (gst_pipeline_dispose): Drop ref on sched.
9255
9256         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9257         (gst_pad_activate_default): Push mode by default.
9258         (pre_activate_switch, post_activate_switch): New stubs, things to
9259         do before and after switching activation modes on pads.
9260         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9261         the pad's activate function to choose which mode to activate.
9262         Shortcut on deactivation and call the right function directly.
9263         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9264         mode.
9265         (gst_pad_activate_push): New API, same for push mode.
9266         (gst_pad_set_activate_function) 
9267         (gst_pad_set_activatepull_function) 
9268         (gst_pad_set_activatepush_function): Setters for new API.
9269
9270         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9271         Trace all miniobjects.
9272         (gst_mini_object_make_writable): Unref the arg if we copy, like
9273         gst_caps_make_writable.
9274
9275         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9276
9277         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9278         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9279         Adapt for new pad API.
9280
9281         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9282
9283         * gst/gstelement.h:
9284         * gst/gstelement.c (gst_element_iterate_src_pads) 
9285         (gst_element_iterate_sink_pads): New API functions.
9286         
9287         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9288         should fold into gstiterator.c in some form.
9289         (gst_element_pads_activate): Simplified via use of fold and
9290         delegation of decisions to gstpad->activate.
9291
9292         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9293         help in debugging.
9294
9295         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9296         class once in init, like gstmessage. Didn't run into this issue
9297         but it seems correct. Don't initialize a trace, gstminiobject does
9298         that.
9299
9300         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9301         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9302         to the bus.
9303         (assert_live_count): New util function, uses alloc traces to check
9304         cleanup.
9305
9306         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9307         To be modified when unlink drops the internal pad.
9308
9309 2005-06-27  Wim Taymans  <wim@fluendo.com>
9310
9311         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9312         (gst_bin_change_state):
9313         Cleanup the get_state() function a little, make sure it
9314         iterates the same set of elements.
9315         Added stub iterate_state_order().
9316
9317 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9318
9319         * docs/gst/gstreamer-docs.sgml:
9320         * docs/gst/gstreamer-sections.txt:
9321         * docs/gst/gstreamer.types:
9322         * docs/gst/tmpl/gstbasesink.sgml:
9323         * docs/gst/tmpl/gstbasesrc.sgml:
9324         * docs/gst/tmpl/gstbasetransform.sgml:
9325         * docs/gst/tmpl/gstelement.sgml:
9326         * docs/gst/tmpl/gstiterator.sgml:
9327         * gst/base/gstbasesrc.c:
9328         * gst/base/gstbasesrc.h:
9329         * gst/base/gstbasetransform.h:
9330         * gst/gstelement.c:
9331         * gst/gstiterator.h:
9332           adding basetransform and iterator docs
9333
9334 2005-06-27  Andy Wingo  <wingo@pobox.com>
9335
9336         * docs/design/part-activation.txt: Notes on how activation should
9337         work -- not quite implemented yet.
9338
9339 2005-06-25  Wim Taymans  <wim@fluendo.com>
9340
9341         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9342         At least get the chain function correct, needs more
9343         fixing.
9344
9345 2005-06-25  Wim Taymans  <wim@fluendo.com>
9346
9347         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9348         (gst_basesink_handle_object), (gst_basesink_event),
9349         (gst_basesink_do_sync), (gst_basesink_handle_event),
9350         (gst_basesink_change_state):
9351         * gst/gsttask.h:
9352         Right, two problems here: ghostpads don't take locks and
9353         glib _rec_mutex_lock_full() with depth==0 still locks.
9354         Catch illegal locking and g_warn them.
9355
9356 2005-06-25  Wim Taymans  <wim@fluendo.com>
9357
9358         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9359         Have to check for completion now...
9360
9361 2005-06-25  Wim Taymans  <wim@fluendo.com>
9362
9363         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9364         (gst_basesink_handle_object), (gst_basesink_event),
9365         (gst_basesink_do_sync), (gst_basesink_handle_event),
9366         (gst_basesink_change_state):
9367         * gst/gstpad.h:
9368         Unlock STREAM_LOCK whatever the recursion was.
9369
9370 2005-06-25  Wim Taymans  <wim@fluendo.com>
9371
9372         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9373         (gst_basesink_preroll_queue_empty),
9374         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9375         (gst_basesink_event), (gst_basesink_do_sync),
9376         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9377         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9378         (gst_basesink_change_state):
9379         Reworked the base sink, handle event and buffer serialisation
9380         correctly and removed possible deadlock.
9381         Handle EOS correctly.
9382
9383 2005-06-25  Wim Taymans  <wim@fluendo.com>
9384
9385         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9386         (gst_pipeline_change_state):
9387         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9388         Allow elements to post EOS in the state change function.
9389         Fix up -launch, make it exit the poll loop when the
9390         pipeline actually changed state.
9391         Fix up warning parsing in -launch.
9392
9393 2005-06-25  Wim Taymans  <wim@fluendo.com>
9394
9395         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9396         (gst_tee_sink_activate):
9397         Core takes STREAM_LOCK for us now.
9398
9399 2005-06-25  Wim Taymans  <wim@fluendo.com>
9400
9401         * gst/gstelement.c: (gst_element_get_state_func),
9402         (gst_element_set_state):
9403         * gst/gstelement.h:
9404         * gst/gstmessage.c: (gst_message_parse_error),
9405         (gst_message_parse_warning):
9406         Keep track of current target state while performing a state
9407         change so that subclasses can do something interesting.
9408         Fix parsing of warning/error messages when GError is NULL.
9409
9410 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9411
9412         * docs/gst/Makefile.am:
9413         * docs/gst/gstreamer-docs.sgml:
9414         * docs/gst/gstreamer-sections.txt:
9415         * docs/gst/gstreamer.types:
9416         * docs/gst/tmpl/gstbasesink.sgml:
9417         * docs/gst/tmpl/gstbasesrc.sgml:
9418         * docs/gst/tmpl/gstbin.sgml:
9419         * docs/gst/tmpl/gstcompat.sgml:
9420         * docs/gst/tmpl/gstfakesink.sgml:
9421         * docs/gst/tmpl/gstfakesrc.sgml:
9422         * docs/gst/tmpl/gstfilesink.sgml:
9423         * docs/gst/tmpl/gstfilesrc.sgml:
9424         * docs/gst/tmpl/gstindex.sgml:
9425         * docs/manual/appendix-quotes.xml:
9426         * gst/base/gstbasesrc.h:
9427         * gst/elements/gstfakesrc.h:
9428         * gst/gstmessage.h:
9429           start pulling in base classes and elements in our docs
9430
9431 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9432
9433         * docs/gst/Makefile.am:
9434         * docs/libs/Makefile.am:
9435           fixed make distcheck with gtk-doc 1.3
9436
9437 2005-06-23  Wim Taymans  <wim@fluendo.com>
9438
9439         * gst/gstelement.c: (gst_element_get_state_func),
9440         (gst_element_set_state), (gst_element_change_state):
9441         When the state did not change, also report NO_PREROLL
9442         when it matters.
9443
9444 2005-06-23  Wim Taymans  <wim@fluendo.com>
9445
9446         * gst/gstpad.c: (gst_pad_event_default):
9447         * gst/gstqueue.c: (gst_queue_loop):
9448         No unsafe task pausing please.
9449
9450 2005-06-23  Wim Taymans  <wim@fluendo.com>
9451
9452         * gst/schedulers/threadscheduler.c:
9453         (gst_thread_scheduler_task_start),
9454         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9455         Ref the task before pushing it on the threadpool. This
9456         makes sure that we have a ref when the threadfunction is
9457         actually called.
9458
9459 2005-06-23  Andy Wingo  <wingo@pobox.com>
9460
9461         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9462         offset is greater than the file's size.
9463
9464         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9465         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9466         * gst/gstobject.c (gst_object_class_init): Make the class lock
9467         recursive. Wim won't let me drop deep_notify. Decodebin works
9468         again, whoopdy doo.
9469
9470         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9471         internal pad, and hacks accordingly. Doesn't do it on the target
9472         pad because we change its caps. Probably catches all cases of
9473         interest tho.
9474         (gst_ghost_pad_set_property): Connect to notify::caps as
9475         appropritate.
9476
9477         * tests/network-clock.scm (plot-simulation): Pipe data to the
9478         elite python skript.
9479
9480         * tests/network-clock-utils.scm (define-parameter): New macro,
9481         defines a parameter that can be set via the command line.
9482         (set-parameter!, parse-parameter-arguments): Command line args
9483         parser.
9484
9485         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9486         stdin.
9487
9488 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9489
9490         * gst/elements/gsttypefindelement.c:
9491         (gst_type_find_element_handle_event):
9492           Don't restart typefinding on a discont.
9493         * gst/gstelement.c: (gst_element_set_state):
9494           Debug spelling fix.
9495         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9496           Allow changing mode of an active pad.
9497           Debug output fixes.
9498         * gst/registries/gstlibxmlregistry.c: (load_feature):
9499           Don't cast a static pad template to a normal pad template.
9500
9501 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9502
9503         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9504         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9505           remove gst_strtoll completely, since it didn't actually do
9506           anything more than what g_ascii_strtoull already does.
9507           check for range errors when deserializing
9508           do a cast for the unsigned cases; but further fixing needs
9509           a decision on what the interpretation of "(int)" and
9510           deserialization should be for values that fall outside the
9511           type's boundaries (ie, refuse, or interpret as casting)
9512
9513 2005-06-23  Wim Taymans  <wim@fluendo.com>
9514
9515         * check/Makefile.am:
9516         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9517         * docs/design/part-live-source.txt:
9518         * docs/design/part-states.txt:
9519         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9520         (gst_basesrc_set_live), (gst_basesrc_is_live),
9521         (gst_basesrc_get_range), (gst_basesrc_activate),
9522         (gst_basesrc_change_state):
9523         * gst/base/gstbasesrc.h:
9524         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9525         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9526         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9527         * gst/gstelement.c: (gst_element_get_state_func),
9528         (gst_element_set_state):
9529         * gst/gstelement.h:
9530         * gst/gsttypes.h:
9531         * tools/gst-launch.c: (event_loop), (main):
9532         Added support for live sources and other elements that
9533         cannot do preroll.
9534         Updated design docs, added live-source design doc.
9535         Implemented live source functionality in basesrc
9536         Fix error condition in _bin_get_state()
9537         Implement live source handling in -launch.
9538         Added check for live sources.
9539         Fixed case in GstBin where elements were changed state
9540         multiple times.
9541
9542
9543 2005-06-23  Andy Wingo  <wingo@pobox.com>
9544
9545         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9546         borken refcounting.
9547
9548         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9549         gst_caps_replace takes care of this for us.
9550
9551         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9552         gst_pad_set_caps on the target, not just its setcaps() function.
9553
9554         * tests/network-clock.scm: 
9555         * tests/network-clock-utils.scm: A network clock simulator.
9556         Something of an algorithmic testbed before doing something in C.
9557
9558 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9559
9560         * check/Makefile.am:
9561         * check/gst/capslist.h:
9562           copy over from 0.8, and add two with bitmasks specified with
9563           (int) 0xFF...
9564         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9565           add test to parse everything from capslist.h
9566         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9567         (main):
9568           add test for structure deserialization
9569         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9570           add tests for deserialization of strings to int types
9571         * gst/gststructure.c: (gst_structure_nth_field_name):
9572         * gst/gststructure.h:
9573           add a way to get the name of a field referenced by index
9574         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9575           instead of checking if the resulting long long lies between
9576           min and max, we check if the long long would fit into
9577           a number of bytes for the final type.
9578           This fixes cases where a string represents 2^32 - 1, which
9579           when cast to int would be the (valid) -1, but is bigger than
9580           G_MAXINT
9581
9582 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9583
9584         * gst/parse/grammar.y:
9585           add a log line for type deserialization
9586
9587 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9588
9589         * check/gst/gstvalue.c: (START_TEST):
9590         * gst/gstvalue.c: (gst_value_deserialize):
9591           return long long, not int, so gint64 deserialization actually
9592           works.  Is there any flag that makes the compiler check this ?
9593           Fixes #308559
9594
9595 2005-06-22  Wim Taymans  <wim@fluendo.com>
9596
9597         * gst/gstbuffer.h:
9598         Added convenience macros for setting buffers in GValue.
9599
9600 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9601
9602         * check/gst/.cvsignore:
9603         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9604           add a test deserializing int64, and comment part out because
9605           it fails, yay !
9606
9607 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9608
9609         * check/Makefile.am:
9610         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9611         * testsuite/Makefile.am:
9612         * testsuite/caps/Makefile.am:
9613         * testsuite/caps/value_serialize.c:
9614         * testsuite/test_gst_init.c:
9615           move a value_serialize test over
9616
9617 2005-06-20  Wim Taymans  <wim@fluendo.com>
9618
9619         * gst/gstpad.c:
9620         Small doc updates.
9621         
9622         * gst/gstvalue.c: (gst_value_compare_buffer),
9623         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9624         (gst_value_compare_flags), (gst_value_serialize_flags),
9625         (gst_value_deserialize_flags), (_gst_value_initialize):
9626         Fix serialisation of buffers, they are not boxed types anymore
9627
9628 2005-06-20  Wim Taymans  <wim@fluendo.com>
9629
9630         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9631         Testcase to show error in buffer-on-caps serialisation.
9632
9633 2005-06-20  Andy Wingo  <wingo@pobox.com>
9634
9635         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9636         will be adding to later.
9637
9638         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9639         if its socks fill with rocks.
9640         (gst_system_clock_obtain): Set the name on object construction.
9641         Avoid double-checked locking.
9642
9643 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9644
9645         * gst/gsturi.c: (gst_element_make_from_uri):
9646           Fix potential endless loop.
9647
9648 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9649
9650         * check/Makefile.am:
9651           add gsttag
9652         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9653         (main):
9654           move over from testsuite dir and clean up
9655         * configure.ac:
9656         * gst/gsttag.c:
9657         * testsuite/Makefile.am:
9658         * testsuite/tags/.cvsignore:
9659         * testsuite/tags/Makefile.am:
9660         * testsuite/tags/merge.c:
9661           remove testsuite/tags
9662
9663 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9664
9665         * docs/gst/gstreamer-sections.txt:
9666         * docs/gst/tmpl/gstenumtypes.sgml:
9667         * win32/gstenumtypes.c:
9668           clean up documentation build a little
9669
9670 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9671
9672         * check/gstcheck.h:
9673           add macros for checking refcounts on objects and caps
9674         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9675           add some more unit tests
9676         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9677         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9678           fix leaked refcounts (I hope :)) so unittest works
9679         * gst/gstpad.h:
9680           whitespace removal
9681
9682 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9683
9684         * configure.ac: back to HEAD
9685
9686 === release 0.9.1 ===
9687
9688 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9689
9690         * NEWS:
9691         * RELEASE:
9692           updated
9693
9694 2005-06-17  Andy Wingo  <wingo@pobox.com>
9695
9696         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9697         assert; it's always possible that the pad gets deactivated in
9698         between the checks in gstpad.c and the implementation. Rely on
9699         finish_preroll() to return a FLUSHING or similar instead of on the
9700         assert.
9701         
9702         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9703         clock and post an EOS message if we come out of finish_preroll in
9704         the playing state.
9705
9706 2005-06-16  David Schleef  <ds@schleef.org>
9707
9708         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9709         (gst_capsfilter_set_property): Allow NULL as possible value
9710         for filter_caps property, indicating GST_CAPS_ANY.
9711
9712 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9713
9714         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9715           fix debug output
9716         * gst/schedulers/Makefile.am:
9717           use libgst prefix
9718         * gstreamer.spec.in:
9719           fix spec for it
9720
9721 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9722
9723         * gstreamer.spec.in:
9724           clean up
9725
9726 2005-06-08  Andy Wingo  <wingo@pobox.com>
9727
9728         * gst/gstutils.c: RPAD fixes all around.
9729         (gst_element_link_pads): Refcounting fixes.
9730
9731         * tools/gst-inspect.c:
9732         * tools/gst-xmlinspect.c:
9733         * parse/grammar.y:
9734         * gst/base/gsttypefindhelper.c:
9735         * gst/base/gstbasesink.c:
9736         * gst/gstqueue.c: RPAD fixes.
9737
9738         * gst/gstghostpad.h:
9739         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9740         pads. The tricky thing is they provide both source and sink
9741         interfaces, since they proxy the internal pad for the external
9742         pad, and vice versa. Implement with lower-level ProxyPad objects,
9743         with the interior proxy pad as a child of the exterior ghost pad.
9744         Should write a doc on this.
9745         
9746         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9747         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9748         gst_object API.
9749         
9750         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9751         pads are real pads. No ghost pads in this file. Not documenting
9752         the myriad s/RPAD/PAD/ and REALIZE fixes.
9753         (gst_pad_class_init): Add properties for "direction" and
9754         "template". Both are construct-only, so they can't change during
9755         the life of the pad. Fixes properly deriving from GstPad.
9756         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9757         derived objects, just set properties when creating the objects via
9758         g_object_new.
9759         (gst_pad_get_parent): Implement as a function, return NULL if the
9760         parent is not an element.
9761         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9762         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9763         
9764         * gst/gstobject.c (gst_object_class_init): Make name a construct
9765         property. Don't set it in the object init.
9766
9767         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9768         with UNKNOWN direction.
9769         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9770         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9771         (gst_element_remove_pad): Remove ghost-pad special cases.
9772         (gst_element_pads_activate): Remove rpad cruft.
9773
9774         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9775         catch the pad's-parent-not-an-element case.
9776
9777         * gst/gst.h: Include gstghostpad.h.
9778
9779         * gst/gst.c (init_post): No more real, ghost pads.
9780
9781         * gst/Makefile.am: Add gstghostpad.[ch].
9782
9783         * check/Makefile.am:
9784         * check/gst/gstbin.c:
9785         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9786         into a bin creates ghost pads, and that the refcounts are right.
9787         Partly moved from gstbin.c.
9788
9789 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9790
9791         * check/gst-libs/.cvsignore:
9792         * check/gst/.cvsignore:
9793         * check/pipelines/.cvsignore:
9794           ignore more
9795         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9796         (START_TEST), (cleanup_suite), (main):
9797           add some tests related to cleanup after running pipelines
9798
9799 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9800
9801         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9802           add a testsuite for GstBuffer
9803
9804 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9805
9806         * gst/gstminiobject.h:
9807           add defines for accessing the refcount
9808
9809 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9810
9811         * Makefile.am: added support for html unit test coverage reports
9812
9813 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9814
9815         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9816           Free existing caps if the capsfilter changes. Add a FIXME about
9817           setting those caps on the pads.
9818
9819         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9820           Before adding a ghost pad to a parent bin, check that there isn't
9821           already one for the element on the bin. Prevents infinite recursion
9822           when using decodebin in parse pipelines. Andy says he'll rewrite the
9823           way this works anyway, so ignore the hack.
9824
9825 2005-06-02  Andy Wingo  <wingo@pobox.com>
9826
9827         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9828         file size, pass it on to the type find helper.
9829
9830         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9831         segment_start and segment_end properly according to the seek
9832         method. Segment_end is still a bit flaky because offset can be
9833         negative for CUR and END cases, but it takes -1 as an "unset"
9834         value.
9835
9836 2005-06-02  Wim Taymans  <wim@fluendo.com>
9837
9838         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9839         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9840         (gst_basesink_activate):
9841         * gst/base/gstbasesink.h:
9842         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9843         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9844         (gst_pad_query), (gst_pad_start_task):
9845         * gst/gstpad.h:
9846         * gst/gstqueue.c: (gst_queue_bufferalloc),
9847         (gst_queue_handle_sink_event), (gst_queue_chain):
9848         Bufferalloc: return GstFlowReturn to more accuratly report
9849         why allocation failed.
9850
9851 2005-06-02  Wim Taymans  <wim@fluendo.com>
9852
9853         * gst/gstpipeline.c: (gst_pipeline_send_event):
9854         Take snapshot of state without blocking.
9855
9856 2005-06-02  Wim Taymans  <wim@fluendo.com>
9857
9858         * docs/design/part-TODO.txt:
9859         * docs/design/part-caps.txt:
9860         * docs/design/part-clocks.txt:
9861         * docs/design/part-negotiation.txt:
9862         * docs/design/part-preroll.txt:
9863         Small doc updates 
9864
9865 2005-05-30  Wim Taymans  <wim@fluendo.com>
9866
9867         * gst/elements/gstidentity.c: (gst_identity_event),
9868         (gst_identity_transform), (gst_identity_get_property):
9869         Protect last_message property as it is accessed from
9870         multiple threads.
9871
9872 2005-05-30  Wim Taymans  <wim@fluendo.com>
9873
9874         * gst/gstelement.c: (gst_element_init),
9875         (gst_element_pads_activate), (gst_element_change_state):
9876         Slicker pad activation code.
9877
9878 2005-05-30  Wim Taymans  <wim@fluendo.com>
9879
9880         * gst/Makefile.am:
9881         * gst/gstelement.h:
9882         * gst/gstelementfactory.h:
9883         * gst/gsttypes.h:
9884         Move elementfactory methods to separate .h file.
9885
9886 2005-05-30  Wim Taymans  <wim@fluendo.com>
9887
9888         * docs/design/part-overview.txt:
9889         * gst/gstsystemclock.h:
9890         Small typo fixes, doc updates.
9891
9892 2005-05-30  Wim Taymans  <wim@fluendo.com>
9893
9894         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9895         (init_popt_callback):
9896         Remove cpu-opt flag.
9897
9898 2005-05-30  Wim Taymans  <wim@fluendo.com>
9899
9900         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9901         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9902         * gst/gstbuffer.h:
9903         Avoid typechecking in places where not needed.
9904         Added accessor for malloc_data.
9905
9906 2005-05-30  Wim Taymans  <wim@fluendo.com>
9907
9908         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9909         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9910         (gst_pad_configure_sink), (gst_pad_configure_src),
9911         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9912         (gst_pad_start_task):
9913         Propagate errors from _set_caps() in configure_src/sink
9914         functions instead of returning TRUE.
9915         FLUSH events can travel up and downstream
9916
9917
9918 2005-05-30  Wim Taymans  <wim@fluendo.com>
9919
9920         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9921         (gst_basesink_activate):
9922         Handle EOS in preroll.
9923
9924 2005-05-30  Wim Taymans  <wim@fluendo.com>
9925
9926         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9927         (gst_queue_loop), (gst_queue_handle_src_event):
9928         Remove old pieces of code
9929         Flushing the queue in an upstream event is a very bad idea.
9930
9931 2005-05-26  Andy Wingo  <wingo@pobox.com>
9932
9933         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9934         gst_value_set_mini_object so as to add a ref on the object (which
9935         will be removed when the value is unset).
9936
9937         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9938         arg type in ::handoff.
9939
9940         * gst/gstelement.c (gst_element_change_state): Also deactivate
9941         pads in READY->NULL, just in case the element didn't make it to
9942         PAUSED. Wingo tested, Wim approved.
9943
9944 2005-05-26  Wim Taymans  <wim@fluendo.com>
9945
9946         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9947         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9948         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
9949         A flushing pad cannot be used to alloc_buffer from.
9950
9951 2005-05-26  Wim Taymans  <wim@fluendo.com>
9952
9953         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9954         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
9955         (gst_bus_source_dispatch), (gst_bus_source_finalize),
9956         (gst_bus_create_watch), (gst_bus_add_watch_full):
9957         * gst/gstbus.h:
9958         Implement a real GSource and use g_main_context_wakeup() to
9959         signal new messages instead of the socketpair.
9960
9961 2005-05-25  Wim Taymans  <wim@fluendo.com>
9962
9963         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
9964         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
9965         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9966         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9967         (gst_pad_send_event), (gst_pad_start_task):
9968         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
9969         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9970         (gst_queue_sink_activate), (gst_queue_src_activate),
9971         (gst_queue_change_state):
9972         * gst/gstqueue.h:
9973         Fix state changes for non sinks. We now change sinks, then elements
9974         with unconnected srcpads, then the rest.
9975         More efficient queue unlocking in flush and state changes.
9976         Set the pad activate mode even if it does not have an activate
9977         function.
9978
9979 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9980
9981         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
9982           Don't go in pull mode for non-seekable sources.
9983         * gst/elements/gsttypefindelement.h:
9984         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9985         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
9986         (free_entry), (stop_typefinding),
9987         (gst_type_find_element_handle_event), (find_peek),
9988         (gst_type_find_element_chain), (do_pull_typefind),
9989         (gst_type_find_element_change_state):
9990           Allow typefinding (w/o seeking) in push-mode, simplified version
9991           of what was in 0.8.
9992         * gst/gstutils.c: (gst_buffer_join):
9993         * gst/gstutils.h:
9994           gst_buffer_join() from 0.8.
9995
9996 2005-05-25  Wim Taymans  <wim@fluendo.com>
9997
9998         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9999         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10000         (gst_pad_send_event), (gst_pad_start_task):
10001         Disable attempt at mode switching until it is figured out.
10002
10003 2005-05-25  Wim Taymans  <wim@fluendo.com>
10004
10005         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10006         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10007         (gst_basesink_finish_preroll), (gst_basesink_chain),
10008         (gst_basesink_loop), (gst_basesink_activate),
10009         (gst_basesink_change_state):
10010         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10011         (gst_basesrc_get_range), (gst_basesrc_loop),
10012         (gst_basesrc_activate):
10013         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10014         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10015         (gst_real_pad_init), (gst_real_pad_set_property),
10016         (gst_real_pad_get_property), (gst_pad_set_active),
10017         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10018         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10019         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10020         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10021         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10022         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10023         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10024         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10025         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10026         (gst_pad_stop_task):
10027         * gst/gstpad.h:
10028         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10029         (gst_queue_loop), (gst_queue_src_activate):
10030         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10031         (gst_task_get_state):
10032         * gst/gsttask.h:
10033         * gst/schedulers/threadscheduler.c:
10034         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10035         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10036         in task function.
10037         Remove ACTIVE pad flag, use FLUSHING everywhere
10038         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10039         functions.
10040         Add locks around IS_FLUSHING when reading.
10041         Take STREAM lock in chain(), get_range() functions so plugins
10042         don't need to take it anymore.
10043         
10044
10045
10046 2005-05-25  Wim Taymans  <wim@fluendo.com>
10047
10048         * tools/gst-launch.c: (event_loop):
10049         Unref message after using its contents instead of
10050         before.
10051
10052 2005-05-24  Wim Taymans  <wim@fluendo.com>
10053
10054         * docs/design/draft-ghostpads.txt:
10055         * docs/design/draft-push-pull.txt:
10056         * docs/design/draft-query.txt:
10057         * docs/design/part-overview.txt:
10058         Docs updates, added general overview doc.
10059
10060 2005-05-21  David Schleef  <ds@schleef.org>
10061
10062         * docs/gst/tmpl/old/GstBin.sgml:
10063         * docs/gst/tmpl/old/GstBuffer.sgml:
10064         * docs/gst/tmpl/old/GstCaps.sgml:
10065         * docs/gst/tmpl/old/GstClock.sgml:
10066         * docs/gst/tmpl/old/GstCompat.sgml:
10067         * docs/gst/tmpl/old/GstData.sgml:
10068         * docs/gst/tmpl/old/GstElement.sgml:
10069         * docs/gst/tmpl/old/GstEvent.sgml:
10070         * docs/gst/tmpl/old/GstIndex.sgml:
10071         * docs/gst/tmpl/old/GstStructure.sgml:
10072         * docs/gst/tmpl/old/GstTag.sgml:
10073         * docs/gst/tmpl/old/cothreads.sgml:
10074         * docs/gst/tmpl/old/cothreads_compat.sgml:
10075         * docs/gst/tmpl/old/gettext.sgml:
10076         * docs/gst/tmpl/old/gobject2gtk.sgml:
10077         * docs/gst/tmpl/old/grammar.tab.sgml:
10078         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10079         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10080         * docs/gst/tmpl/old/gst_private.sgml:
10081         * docs/gst/tmpl/old/gstaggregator.sgml:
10082         * docs/gst/tmpl/old/gstarch.sgml:
10083         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10084         * docs/gst/tmpl/old/gstbufferstore.sgml:
10085         * docs/gst/tmpl/old/gstdata_private.sgml:
10086         * docs/gst/tmpl/old/gstdisksink.sgml:
10087         * docs/gst/tmpl/old/gstdisksrc.sgml:
10088         * docs/gst/tmpl/old/gstelementfactory.sgml:
10089         * docs/gst/tmpl/old/gstextratypes.sgml:
10090         * docs/gst/tmpl/old/gstfakesink.sgml:
10091         * docs/gst/tmpl/old/gstfakesrc.sgml:
10092         * docs/gst/tmpl/old/gstfdsink.sgml:
10093         * docs/gst/tmpl/old/gstfdsrc.sgml:
10094         * docs/gst/tmpl/old/gstfilesink.sgml:
10095         * docs/gst/tmpl/old/gstfilesrc.sgml:
10096         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10097         * docs/gst/tmpl/old/gstidentity.sgml:
10098         * docs/gst/tmpl/old/gstindexfactory.sgml:
10099         * docs/gst/tmpl/old/gstmarshal.sgml:
10100         * docs/gst/tmpl/old/gstmd5sink.sgml:
10101         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10102         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10103         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10104         * docs/gst/tmpl/old/gstpipefilter.sgml:
10105         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10106         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10107         * docs/gst/tmpl/old/gstshaper.sgml:
10108         * docs/gst/tmpl/old/gstspider.sgml:
10109         * docs/gst/tmpl/old/gstspideridentity.sgml:
10110         * docs/gst/tmpl/old/gststatistics.sgml:
10111         * docs/gst/tmpl/old/gsttee.sgml:
10112         * docs/gst/tmpl/old/gsttimecache.sgml:
10113         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10114         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10115         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10116         * docs/gst/tmpl/old/types.sgml:
10117           I didn't intend to add these or check them in.
10118
10119 2005-05-19  David Schleef  <ds@schleef.org>
10120
10121         * configure.ac: Use -no-common everywhere.  In a sane world, it
10122           would be the default in libtool, because without it, you can't
10123           build DLLs on Windows.
10124         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10125         * docs/gst/gstreamer-sections.txt:
10126         * docs/gst/tmpl/gstcpu.sgml:
10127         * docs/gst/tmpl/gstdata.sgml:
10128         * docs/gst/tmpl/gstthread.sgml:
10129
10130 2005-05-19  David Schleef  <ds@schleef.org>
10131
10132         * gst/gstminiobject.c: (gst_value_set_mini_object),
10133         (gst_value_take_mini_object), (gst_value_get_mini_object):
10134         * gst/gstminiobject.h: Add GValue set/get functions.
10135
10136 2005-05-19  Wim Taymans  <wim@fluendo.com>
10137
10138         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10139         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10140         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10141         * gst/gstbuffer.h:
10142         * gst/gstbus.c: (gst_bus_post):
10143         * gst/gstelement.c: (gst_element_get_random_pad):
10144         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10145         Make subbufer unref the parent in finalize.
10146         some more debugging info.
10147
10148
10149 2005-05-19  Wim Taymans  <wim@fluendo.com>
10150
10151         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10152         (gst_basesink_init), (gst_basesink_finalize),
10153         (gst_basesink_activate), (gst_basesink_change_state):
10154         Don't free preroll queue too early.
10155
10156 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10157
10158         * gst/Makefile.am:
10159         * gst/ROADMAP:
10160           Hi, I'm outdated. Please shoot me.
10161
10162 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10163
10164         * gst/gstpipeline.c: (gst_pipeline_send_event):
10165           Do not access variables after they have been deleted.
10166
10167 2005-05-19  Wim Taymans  <wim@fluendo.com>
10168
10169         * tools/gst-inspect.c: (print_plugin_features):
10170         A plugin feature does unfortunatly not use the
10171         object name yet...
10172
10173 2005-05-18  Wim Taymans  <wim@fluendo.com>
10174
10175         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10176         Port _span() functions to new subbuffers.
10177
10178 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10179
10180         * gst/gstbin.c: (gst_bin_add_func):
10181           Fix clock settery in bins when adding kids after the clock has
10182           been selected.
10183
10184 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10185
10186         * gst/elements/gstidentity.c: (gst_identity_class_init):
10187           Workaround until signals support GstMiniObject.
10188
10189 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10190
10191         * gst/gstbuffer.c:
10192         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10193
10194 2005-05-18  Wim Taymans  <wim@fluendo.com>
10195
10196         * gst/base/Makefile.am:
10197         * gst/base/gstadapter.c: (gst_adapter_base_init),
10198         (gst_adapter_class_init), (gst_adapter_init),
10199         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10200         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10201         (gst_adapter_flush), (gst_adapter_available),
10202         (gst_adapter_available_fast):
10203         * gst/base/gstadapter.h:
10204         Ported and added adapter to the base classes.
10205
10206 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10207
10208         * gst/gst.c:
10209         * gst/gstmessage.c:
10210           Make sure the class is reffed/unreffed once before threads can be
10211           used.  Fixes #304551.
10212
10213 2005-05-17  Wim Taymans  <wim@fluendo.com>
10214
10215         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10216         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10217         * gst/gstminiobject.c: (gst_mini_object_get_type),
10218         (gst_mini_object_free):
10219         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10220         (gst_pad_push), (gst_pad_push_event):
10221         * gst/gstqueue.c: (gst_queue_change_state):
10222         Don't queue buffers in basesink when we are flushing.
10223         Unref buffer when flushing in basesink.
10224         Flush queue when going to READY
10225         Unref buffer when _push() returns an error.
10226         Don't free MiniObject instance when refcount is incremented
10227         in _finalize() so that we can recover objects.
10228
10229 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10230
10231         * docs/manual/advanced-schedulers.xml:
10232         * docs/manual/appendix-checklist.xml:
10233         * docs/pwg/advanced-clock.xml:
10234         * docs/pwg/advanced-interfaces.xml:
10235         * docs/pwg/advanced-request.xml:
10236         * docs/pwg/advanced-types.xml:
10237         * docs/pwg/intro-preface.xml:
10238         * examples/plugins/example.c: (gst_example_get_type),
10239         (gst_example_class_init), (gst_example_chain),
10240         (gst_example_set_property), (gst_example_get_property),
10241         (gst_example_change_state), (plugin_init):
10242         * examples/plugins/example.h:
10243           small doc fixes
10244
10245 2005-05-17  Wim Taymans  <wim@fluendo.com>
10246
10247         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10248         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10249         * gst/gstqueue.c: (gst_queue_change_state):
10250         Clear queue when going to READY.
10251         Remove IN_SETCAPS flag too.
10252
10253 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10254
10255         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10256           Remove implicit cast from gboolean to GstElementStateReturn;
10257           make sure we still return failure in paused => ready case if
10258           the parent class fails to change state and our own stop 
10259           vfunc succeeds.
10260
10261 2005-05-17  Wim Taymans  <wim@fluendo.com>
10262
10263         * tools/gst-launch.c: (event_loop):
10264         Message was unreffed too soon.
10265
10266 2005-05-16  Andy Wingo  <wingo@pobox.com>
10267
10268         * gst/gstbin.c (sink_iterator_filter): Err... um...
10269
10270         * check/gst/gstbin.c (test_ghost_pads): New test for the
10271         ghosting-if-elements-not-in-same-bin behavior.
10272
10273 2005-05-16  David Schleef  <ds@schleef.org>
10274
10275         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10276         accessing refcount directly.
10277
10278 2005-05-15  David Schleef  <ds@schleef.org>
10279
10280         * check/Makefile.am: remove GstData checks
10281         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10282         * gst/Makefile.am: add miniobject, remove data
10283         * gst/gst.h: add miniobject, remove data
10284         * gst/gstdata.c: remove
10285         * gst/gstdata.h: remove
10286         * gst/gstdata_private.h: remove
10287         * gst/gsttypes.h: remove GstEvent and GstMessage
10288         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10289         * gst/gstmarshal.list: change BOXED -> OBJECT
10290
10291         Implement GstMiniObject.
10292         * gst/gstminiobject.c:
10293         * gst/gstminiobject.h:
10294
10295         Modify to be subclasses of GstMiniObject.
10296         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10297         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10298         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10299         (gst_subbuffer_get_type), (gst_subbuffer_init),
10300         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10301         (gst_buffer_span):
10302         * gst/gstbuffer.h:
10303         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10304         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10305         (_gst_event_copy), (gst_event_new):
10306         * gst/gstevent.h:
10307         * gst/gstmessage.c: (_gst_message_initialize),
10308         (gst_message_get_type), (gst_message_class_init),
10309         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10310         (gst_message_new), (gst_message_new_error),
10311         (gst_message_new_warning), (gst_message_new_tag),
10312         (gst_message_new_state_changed), (gst_message_new_application):
10313         * gst/gstmessage.h:
10314         * gst/gstprobe.c: (gst_probe_perform),
10315         (gst_probe_dispatcher_dispatch):
10316         * gst/gstprobe.h:
10317         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10318         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10319         (_gst_query_copy), (gst_query_new):
10320
10321         Update elements for GstData -> GstMiniObject changes
10322         * gst/gstquery.h:
10323         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10324         (gst_queue_chain), (gst_queue_loop):
10325         * gst/elements/gstbufferstore.c:
10326         (gst_buffer_store_add_buffer_func),
10327         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10328         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10329         (gst_fakesink_render):
10330         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10331         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10332         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10333         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10334         (gst_filesrc_create_read):
10335         * gst/elements/gstidentity.c: (gst_identity_class_init):
10336         * gst/elements/gsttypefindelement.c:
10337         (gst_type_find_element_src_event), (free_entry_buffers),
10338         (gst_type_find_element_handle_event):
10339         * libs/gst/dataprotocol/dataprotocol.c:
10340         (gst_dp_header_from_buffer):
10341         * libs/gst/dataprotocol/dataprotocol.h:
10342         * libs/gst/dataprotocol/dp-private.h:
10343
10344 2005-05-15  David Schleef  <ds@schleef.org>
10345
10346         * gst/elements/gstelements.c: Don't include headers that were
10347         just removed.
10348
10349 2005-05-15  David Schleef  <ds@schleef.org>
10350
10351         * gst/elements/Makefile.am: Remove some elements that don't
10352         need to be in the core (or even exist at all).
10353         * gst/elements/gstaggregator.c:
10354         * gst/elements/gstaggregator.h:
10355         * gst/elements/gstmd5sink.c:
10356         * gst/elements/gstmd5sink.h:
10357         * gst/elements/gstmultifilesrc.c:
10358         * gst/elements/gstmultifilesrc.h:
10359         * gst/elements/gstpipefilter.c:
10360         * gst/elements/gstpipefilter.h:
10361         * gst/elements/gstshaper.c:
10362         * gst/elements/gstshaper.h:
10363         * gst/elements/gststatistics.c:
10364         * gst/elements/gststatistics.h:
10365         * po/POTFILES.in: Remove above files.
10366
10367 2005-05-14  Andy Wingo  <wingo@pobox.com>
10368
10369         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10370         so as to get the refs right.
10371         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10372         unreffing objects that don't pass the filter.
10373
10374         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10375         gst_element_set_bus.
10376         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10377         normal cases, this will destroy the bus.
10378
10379         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10380         object.
10381
10382         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10383         has no sinks.
10384
10385 2005-05-13  Andy Wingo  <wingo@pobox.com>
10386
10387         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10388         gst_pad_link, call pad_link_maybe_ghosting,
10389         (pad_link_maybe_ghosting): Links pads, making sure that the
10390         elements being linked are in the same bin.
10391         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10392         Helpers for pad_link_maybe_ghosting.
10393
10394 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10395
10396         * configure.ac:
10397           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10398
10399 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10400
10401         * docs/design/part-element-source.txt:
10402           Mention GstPushSrc
10403
10404 2005-05-12  Wim Taymans  <wim@fluendo.com>
10405
10406         * gst/base/gstbasesink.c: (gst_basesink_init),
10407         (gst_basesink_activate):
10408         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10409         (gst_basesrc_is_seekable):
10410         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10411         (bin_element_is_sink), (gst_bin_change_state):
10412         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10413         * gst/gstelement.h:
10414         Identify sinks by their flag to avoid overly complicated
10415         checks (fow now).
10416         Do state changes even for elements not reachable from the
10417         sinks.
10418         BaseSink is a sink now :)
10419         Some more debugging info in the basesrc.
10420
10421
10422 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10423
10424         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10425           Implement _query on a bin, similar to _send_event.
10426
10427 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10428
10429         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10430           Discont event offset format should be GST_FORMAT_BYTES,
10431           not GST_FORMAT_TIME.
10432
10433 2005-05-12  Wim Taymans  <wim@fluendo.com>
10434
10435         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10436         Same fix as Ronald's but without the signal. 
10437
10438 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10439
10440         * gst/gstutils.c: (gst_element_query_position):
10441           No, an element is not a pad.
10442
10443 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10444
10445         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10446         (gst_bin_get_state):
10447           If a child is removed from a bin while we remove the child from
10448           the bin and while we're retrieving its state, signal this to the
10449           get_state function so we abort the wait (instead of waiting for
10450           a timeout) and can immediately re-iterate over all other elements.
10451
10452 2005-05-12  Wim Taymans  <wim@fluendo.com>
10453
10454         * gst/base/Makefile.am:
10455         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10456         (gst_basesrc_start):
10457         * gst/base/gstbasesrc.h:
10458         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10459         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10460         (gst_pushsrc_init), (gst_pushsrc_create):
10461         * gst/base/gstpushsrc.h:
10462         Added is_seekable to BaseSrc
10463         Added simple PushSrc.
10464
10465 2005-05-11  Wim Taymans  <wim@fluendo.com>
10466
10467         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10468         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10469         (gst_element_link_pads), (gst_element_query_position),
10470         (gst_element_query_convert), (intersect_caps_func),
10471         (gst_pad_query_position), (gst_pad_query_convert):
10472         Fix refcounting in utils function.
10473         No point in trying to activate a pad when it's added, it could
10474         be added from the state change function and then we deadlock, the
10475         element has to decide what to do.
10476
10477 2005-05-10  Andy Wingo  <wingo@pobox.com>
10478
10479         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10480         *all* the arguments.
10481
10482         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10483         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10484         lock (according to the docs -- if this is wrong change the docs).
10485
10486         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10487         flush messages in the NULL state.
10488
10489         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10490         message immediately and return.
10491         (gst_bus_set_flushing): New function. If a bus is flushing, it
10492         flushes out any queued messages and immediately unrefs new
10493         messages. This is so when an element goes to NULL, all of the
10494         unhandled messages coming from it can be freed, and their
10495         references to the element dropped. In other words: message source
10496         ref considered harmful :P
10497
10498         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10499         we're finished with it.
10500
10501         * gst/gstmessage.c (gst_message_new_state_changed): 
10502
10503 2005-05-10  Wim Taymans  <wim@fluendo.com>
10504
10505         * gst/gstvalue.c: (gst_value_compare_flags),
10506         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10507         (_gst_value_initialize):
10508         Added flags serialize/deserialize/compare code.
10509
10510 2005-05-09  Andy Wingo  <wingo@pobox.com>
10511
10512         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10513         Intersect the peer's caps with our caps.
10514
10515 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10516
10517         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10518         * gst/elements/gsttypefindelement.c: (find_peek):
10519           Handle negative offsets better. Fixes decodebin.
10520
10521 2005-05-09  Wim Taymans  <wim@fluendo.com>
10522
10523         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10524         (gst_base_transform_event):
10525         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10526         Implement accept_caps.
10527         Fix silly lock/unlock mismatch in base class.
10528
10529 2005-05-09  Wim Taymans  <wim@fluendo.com>
10530
10531         * docs/design/draft-push-pull.txt:
10532         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10533         * gst/elements/gstfilesink.c: (gst_filesink_init),
10534         (gst_filesink_query):
10535         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10536         (gst_type_find_handle_src_query), (find_element_get_length):
10537         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10538         * gst/gstelement.h:
10539         * gst/gstmessage.c:
10540         * gst/gstmessage.h:
10541         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10542         (gst_real_pad_get_caps_unlocked),
10543         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10544         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10545         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10546         (gst_real_pad_dispose), (gst_real_pad_finalize),
10547         (gst_pad_load_and_link), (gst_pad_save_thyself),
10548         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10549         (gst_pad_check_pull_range), (gst_pad_pull_range),
10550         (gst_pad_template_get_type), (gst_pad_template_class_init),
10551         (gst_pad_template_init), (gst_pad_template_dispose),
10552         (name_is_valid), (gst_static_pad_template_get),
10553         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10554         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10555         (gst_pad_get_element_private), (gst_pad_start_task),
10556         (gst_pad_pause_task), (gst_pad_stop_task),
10557         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10558         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10559         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10560         (gst_ghost_pad_new):
10561         * gst/gstpad.h:
10562         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10563         (gst_query_new_position), (gst_query_set_position),
10564         (gst_query_parse_position), (gst_query_new_convert),
10565         (gst_query_set_convert), (gst_query_parse_convert):
10566         * gst/gstquery.h:
10567         * gst/gstqueryutils.c:
10568         * gst/gstqueryutils.h:
10569         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10570         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10571         (gst_queue_handle_src_query):
10572         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10573         (gst_element_query_position), (gst_element_query_convert),
10574         (intersect_caps_func), (gst_pad_query_position),
10575         (gst_pad_query_convert):
10576         * gst/gstutils.h:
10577         * tools/gst-inspect.c: (print_pad_info):
10578         * tools/gst-xmlinspect.c: (print_element_info):
10579         Remove old query functions. Ported old code.
10580         Added position/convert helper functions to gstutils.
10581         Reordered gstpad.c code, grouping relevant things.
10582         Remove gst_message_new(), always need to speficy a specific
10583         message.
10584
10585
10586 2005-05-09  Andy Wingo  <wingo@pobox.com>
10587
10588         * gst/gstiterator.h: Add some includes.
10589
10590         * gst/gstqueryutils.h: Include more headers.
10591
10592         * gst/gstpad.h:
10593         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10594         some uses of gst_pad_query.
10595
10596         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10597         NULL out parameters.
10598         (gst_query_new_position): New proc, allocates a new position
10599         query.
10600
10601         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10602         gstqueryutils.c to the build.
10603
10604         * gst/gststructure.c (gst_structure_set_valist): Implement with
10605         the generic G_VALUE_COLLECT.
10606         
10607 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10608
10609         * gst/Makefile.am: (gst_headers):
10610         Added gstqueryutils.h to the list of headers to install, that was
10611         a 'nachty' move wingo :)
10612
10613 2005-05-06  Andy Wingo  <wingo@pobox.com>
10614
10615         * gst/gstquery.h
10616         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10617         GstData, init a memchunk.
10618         (standard_definitions): Add a few query types, deprecate a few.
10619         (gst_query_get_type): New proc.
10620         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10621         implementation.
10622         (gst_query_new_application, gst_query_get_structure): New public
10623         procs.
10624
10625         * docs/design/draft-query.txt: Removed LINKS from the query types,
10626         because all the rest can be dispatched to other pads -- seemed
10627         ugly to have a query that couldn't be dispatched. internal_links
10628         is fine as a pad method.
10629
10630         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10631         in gstpad.c, but maintain binary compatibility for the moment.
10632         Will fix before 0.9 is out.
10633
10634         * gst/gstqueryutils.c: 
10635         * gst/gstqueryutils.h: New files, implement 3 methods for each
10636         query type: parse_query, parse_response, and set. Probably need an
10637         allocator as well.
10638
10639         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10640
10641         * gst/elements/gstfilesink.c (gst_filesink_query2):
10642         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10643         query_types, and formats methods.
10644
10645         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10646         (gst_pad_set_query2_function): New functions.
10647         (gst_real_pad_init): Set query2_default as the default query2
10648         function. Basically just dispatches to internally linked pads.
10649
10650         Needs review!
10651         
10652         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10653         without using the atomic operations. Only one thread can possibly
10654         be accessing the data at this point. Changed so as to avoid
10655         gst_atomic operations.
10656
10657 2005-05-06  Wim Taymans  <wim@fluendo.com>
10658
10659         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10660         Also set caps if we use the fallback buffer alloc.
10661
10662 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10663
10664         * docs/gst/Makefile.am:
10665         * docs/gst/gstreamer-docs.sgml:
10666         * docs/gst/gstreamer-sections.txt:
10667         * docs/gst/tmpl/gstatomic.sgml:
10668         * docs/gst/tmpl/gstmemchunk.sgml:
10669         * testsuite/elements/struct_i386.h:
10670         * win32/GStreamer.vcproj:
10671         * win32/Makefile:
10672           Purge GstAtomic stuff from docs and win32 makefiles as well
10673
10674 2005-05-06  Wim Taymans  <wim@fluendo.com>
10675
10676         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10677         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10678         * gst/gstpad.c: (gst_pad_peer_get_caps):
10679         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10680         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10681         (gst_queue_src_activate), (gst_queue_change_state):
10682         * gst/gstqueue.h:
10683         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10684         (intersect_caps_func):
10685         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10686         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10687         Some fixes for the peer_get_caps() change.
10688
10689 2005-05-06  Wim Taymans  <wim@fluendo.com>
10690
10691         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10692         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10693         (gst_basesink_activate):
10694         Actually do something with error codes returned from the push
10695         functions.
10696
10697 2005-05-06  Wim Taymans  <wim@fluendo.com>
10698
10699         * docs/design/part-element-sink.txt:
10700         * docs/design/part-element-source.txt:
10701         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10702         (gst_basesink_event), (gst_basesink_activate):
10703         * gst/base/gstbasesink.h:
10704         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10705         (gst_basesrc_activate):
10706         * gst/base/gstbasesrc.h:
10707         * gst/gstelement.c: (gst_element_pads_activate):
10708         Some more documentation.
10709         Fixed scheduling decision in _pads_activate().
10710
10711 2005-05-05  Andy Wingo  <wingo@pobox.com>
10712
10713         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10714         the test suite.
10715
10716 2005-05-05  Wim Taymans  <wim@fluendo.com>
10717
10718         * gst/base/Makefile.am:
10719         * gst/base/gstbasesink.h:
10720         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10721         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10722         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10723         (gst_collectpads_class_init), (gst_collectpads_init),
10724         (gst_collectpads_finalize), (gst_collectpads_new),
10725         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10726         (find_pad), (gst_collectpads_remove_pad),
10727         (gst_collectpads_is_active), (gst_collectpads_collect),
10728         (gst_collectpads_collect_range), (gst_collectpads_start),
10729         (gst_collectpads_stop), (gst_collectpads_peek),
10730         (gst_collectpads_pop), (gst_collectpads_available),
10731         (gst_collectpads_read), (gst_collectpads_flush),
10732         (gst_collectpads_chain):
10733         * gst/base/gstcollectpads.h:
10734         * gst/elements/Makefile.am:
10735         * gst/elements/gstelements.c:
10736         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10737         (gst_fakesink_get_times), (gst_fakesink_event),
10738         (gst_fakesink_preroll), (gst_fakesink_render):
10739         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10740         (gst_filesink_init), (gst_filesink_set_location),
10741         (gst_filesink_open_file), (gst_filesink_close_file),
10742         (gst_filesink_pad_query), (gst_filesink_event),
10743         (gst_filesink_render), (gst_filesink_change_state):
10744         * gst/elements/gstfilesink.h:
10745         Added object to help in making collect pad based elements.
10746         Ported filesink.
10747         Make event function in sink baseclass return gboolean.
10748
10749 2005-05-05  Wim Taymans  <wim@fluendo.com>
10750
10751         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10752         (gst_bin_get_by_name):
10753         * gst/gstbuffer.h:
10754         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10755         (gst_clock_finalize):
10756         * gst/gstdata.c: (gst_data_replace):
10757         * gst/gstdata.h:
10758         * gst/gstelement.c: (gst_element_request_pad),
10759         (gst_element_pads_activate):
10760         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10761         (gst_object_unref):
10762         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10763         (gst_pad_set_checkgetrange_function),
10764         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10765         (gst_pad_check_pull_range), (gst_pad_pull_range),
10766         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10767         (gst_pad_pause_task), (gst_pad_stop_task):
10768         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10769         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10770         Fix name lookup in GstBin.
10771         Added _data_replace() function and _buffer_replace()
10772         Use finalize method to clean up clock.
10773         Fix refcounting on request pads.
10774         Fix pad schedule mode error.
10775         Some more object refcounting debug info,
10776
10777
10778 2005-05-04  Andy Wingo <wingo@pobox.com>
10779
10780         * check/Makefile.am:
10781         * docs/gst/tmpl/gstatomic.sgml:
10782         * docs/gst/tmpl/gstplugin.sgml:
10783         * gst/base/gstbasesink.c: (gst_basesink_activate):
10784         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10785         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10786         (gst_basesrc_query), (gst_basesrc_set_property),
10787         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10788         (gst_basesrc_activate):
10789         * gst/base/gstbasesrc.h:
10790         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10791         (gst_base_transform_src_activate):
10792         * gst/elements/gstelements.c:
10793         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10794         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10795         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10796         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10797         (gst_type_find_element_checkgetrange),
10798         (gst_type_find_element_activate):
10799         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10800         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10801         (gst_caps_load_thyself):
10802         * gst/gstelement.c: (gst_element_pads_activate),
10803         (gst_element_save_thyself), (gst_element_restore_thyself):
10804         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10805         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10806         * gst/gstpad.h:
10807         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10808         (gst_xml_parse_file), (gst_xml_parse_memory),
10809         (gst_xml_get_element), (gst_xml_make_element):
10810         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10811         (_file_index_id_save_xml), (gst_file_index_commit):
10812         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10813         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10814         (load_paths):
10815         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10816         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10817         * tools/gst-complete.c: (main):
10818         * tools/gst-compprep.c: (main):
10819         * tools/gst-inspect.c: (print_element_properties_info):
10820         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10821         * tools/gst-xmlinspect.c: (print_element_properties):
10822         GCC 4 fixen.
10823         
10824 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10825
10826         * gst/gstplugin.c: (gst_plugin_check_module),
10827         (gst_plugin_check_file), (gst_plugin_load_file):
10828             apply patch from #172526 to make register work on MacOSX
10829
10830 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10831
10832         * docs/gst/tmpl/gstconfig.sgml:
10833         * gst/gstconfig.h.in:
10834           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10835         * testsuite/debug/printf_extension.c: (main):
10836           Do not use GST_PTR_FORMAT on pointers to types with
10837           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10838         * testsuite/elements/property.h:
10839           use correct printf format
10840
10841 2005-05-02  Wim Taymans  <wim@fluendo.com>
10842
10843         * docs/design/draft-push-pull.txt:
10844         * docs/design/draft-query.txt:
10845         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10846         (gst_basesrc_start):
10847         Added draft for new query API.
10848         Added draft for better selecting scheduling methods.
10849         Make basesrc ignore length if the subclass does not support
10850         it.
10851
10852 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10853
10854         * gst/Makefile.am:
10855           possible fixes for automake-1.5 - _LIBADD is reserved
10856
10857 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10858
10859         * docs/faq/Makefile.am:
10860         * docs/manual/Makefile.am:
10861         * docs/manuals.mak:
10862         * docs/pwg/Makefile.am:
10863         * gst/Makefile.am:
10864           possible fixes for automake-1.5
10865
10866 2005-04-28  Wim Taymans  <wim@fluendo.com>
10867
10868         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10869         (gst_basesink_pad_getcaps), (gst_basesink_init),
10870         (gst_basesink_do_sync):
10871         * gst/gstclock.c: (gst_clock_entry_new):
10872         * gst/gstevent.c: (gst_event_discont_get_value):
10873         * gst/gstpipeline.c: (pipeline_bus_handler),
10874         (gst_pipeline_change_state):
10875         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10876         Better debugging of clocking info.
10877         Allow NULL values when getting discont values.
10878
10879 2005-04-27  Wim Taymans  <wim@fluendo.com>
10880
10881         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10882         * check/gst/gstpad.c: (gst_pad_suite):
10883         Increase timeout for checks.
10884
10885 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10886
10887         * check/Makefile.am:
10888           fix the broken rule for cleanup.  Apparently this rule is
10889           only needed on FC2, so maybe this warrants further autotool
10890           inspection.
10891
10892 2005-04-26  Wim Taymans  <wim@fluendo.com>
10893
10894         * gst/gsttrashstack.h:
10895         Ooohh. a nasty one! After having a failed pop() from the stack,
10896         it's possible that the stack is empty. In that case, don't
10897         follow the NULL pointer.
10898
10899 2005-04-25  Wim Taymans  <wim@fluendo.com>
10900
10901         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10902         (gst_pad_set_checkgetrange_function),
10903         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10904         (gst_pad_check_pull_range), (gst_pad_pull_range),
10905         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10906         (gst_pad_pause_task), (gst_pad_stop_task):
10907         * gst/gstplugin.c: (gst_plugin_load):
10908         * gst/gstplugin.h:
10909         Remove gst_library_load as it does more harm than good with
10910         the new g_module flags.
10911         Revert bogus caps template check in pad linking, pad caps
10912         are important when linking not the template, which is more
10913         general than the current caps.
10914
10915 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10916
10917         * gst/autoplug/.cvsignore:
10918         * gst/autoplug/Makefile.am:
10919         * gst/autoplug/gstsearchfuncs.c:
10920         * gst/autoplug/gstsearchfuncs.h:
10921         * gst/autoplug/gstspider.c:
10922         * gst/autoplug/gstspider.h:
10923         * gst/autoplug/gstspideridentity.c:
10924         * gst/autoplug/gstspideridentity.h:
10925         * gst/autoplug/spidertest.c:
10926           Die, spider, die.
10927
10928 2005-04-25  Wim Taymans  <wim@fluendo.com>
10929
10930         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10931         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10932         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10933         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10934         * gst/gstpad.h:
10935         Added stubs for unimplemented functions. 
10936
10937 2005-04-24  David Schleef  <ds@schleef.org>
10938
10939         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
10940         please fix.
10941
10942 2005-04-24  David Schleef  <ds@schleef.org>
10943
10944         Convert everything from GstAtomicInt to g_atomic_int_*, and
10945         remove gstatomic.
10946         * gst/Makefile.am:
10947         * gst/gstatomic.c:
10948         * gst/gstatomic.h:
10949         * gst/gstatomic_impl.h:
10950         * gst/gstbuffer.c:
10951         * gst/gstcaps.c:
10952         * gst/gstcaps.h:
10953         * gst/gstclock.c:
10954         * gst/gstclock.h:
10955         * gst/gstdata.c:
10956         * gst/gstdata.h:
10957         * gst/gstdata_private.h:
10958         * gst/gstevent.c:
10959         * gst/gstinfo.c:
10960         * gst/gstinfo.h:
10961         * gst/gstmessage.c:
10962         * gst/gstobject.c:
10963         * gst/gstobject.h:
10964         * gst/gststructure.c:
10965         * gst/gststructure.h:
10966         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
10967         * gst/gstutils.h:
10968
10969 2005-04-24  David Schleef  <ds@schleef.org>
10970
10971         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
10972         make the regressions tests work.  Remove some code that is no
10973         longer true.
10974         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
10975         Disable warning for pads without templates.
10976
10977 2005-04-24  David Schleef  <ds@schleef.org>
10978
10979         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
10980         functions that handle filtered links.
10981         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
10982         removed functions.
10983         * gst/gstutils.c: Fix/remove utility functions that handle
10984         filtered caps.
10985         * gst/gstutils.h:
10986         * gst/gstvalue.c: Add serialization/deserialization of caps
10987         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
10988         requires fixing so that the filter caps notation creates
10989         a capsfilter element and sets the filter_caps property.  I
10990         think everyone probably wants to keep the shorthand notation.
10991         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
10992         * docs/gst/tmpl/gstpad.sgml:
10993
10994         * gst/elements/gstelements.c: Register capsfilter element.
10995         * gst/Makefile.am: fix spacing
10996         * docs/random/ds/0.9-suggested-changes: random
10997
10998 2005-04-23  David Schleef  <ds@schleef.org>
10999
11000         * gst/elements/Makefile.am:
11001         * gst/elements/gstcapsfilter.c: New element that acts like an
11002         identity, but filters caps.  Will eventually replace filtered
11003         caps in pad linking.
11004         * gst/gstutils.c: (gst_element_create_all_pads): New function
11005         to create all the ALWAYS pads that are registered with an
11006         element class.  This functionality should eventually be
11007         merged in with GstElement initialization.
11008         * gst/gstutils.h:
11009         * testsuite/trigger/README: part of trigger test code that should
11010         have been checked in a long time ago.
11011
11012 2005-04-23  David Schleef  <ds@schleef.org>
11013
11014         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11015         needed with new versions of libtool (nobody will confirm this),
11016         and hard to carry around.
11017         * gst/autoplug/Makefile.am:
11018         * gst/base/Makefile.am:
11019         * gst/elements/Makefile.am:
11020         * gst/indexers/Makefile.am:
11021         * gst/schedulers/Makefile.am:
11022         * libs/gst/bytestream/Makefile.am:
11023         * libs/gst/control/Makefile.am:
11024         * libs/gst/dataprotocol/Makefile.am:
11025         * libs/gst/getbits/Makefile.am:
11026
11027 2005-04-21  Wim Taymans  <wim@fluendo.com>
11028
11029         * docs/design/draft-push-pull.txt:
11030         * docs/design/part-MT-refcounting.txt:
11031         * docs/design/part-TODO.txt:
11032         * docs/design/part-caps.txt:
11033         * docs/design/part-events.txt:
11034         * docs/design/part-gstbus.txt:
11035         * docs/design/part-gstpipeline.txt:
11036         * docs/design/part-messages.txt:
11037         * docs/design/part-push-pull.txt:
11038         * docs/design/part-query.txt:
11039         Some more docs.
11040
11041 2005-04-21  Wim Taymans  <wim@fluendo.com>
11042
11043         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11044         (gst_message_new), (gst_message_new_error),
11045         (gst_message_new_warning), (gst_message_new_tag),
11046         (gst_message_new_state_changed), (gst_message_new_application),
11047         (gst_message_get_structure):
11048         * gst/gstmessage.h:
11049         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11050         (gst_structure_copy_conditional):
11051         Use parent refcount in GstMessage to ensure GstStructure
11052         consistency.
11053         Cleaned up headers a bit.
11054         
11055
11056 2005-04-20  Wim Taymans  <wim@fluendo.com>
11057
11058         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11059         (gst_basesink_pad_getcaps), (gst_basesink_init),
11060         (gst_basesink_chain_unlocked):
11061         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11062         (gst_type_find_helper):
11063         * gst/elements/gsttypefindelement.c:
11064         (gst_type_find_element_have_type), (gst_type_find_element_init),
11065         (stop_typefinding), (gst_type_find_element_handle_event),
11066         (find_suggest), (gst_type_find_element_chain),
11067         (gst_type_find_element_checkgetrange),
11068         (gst_type_find_element_getrange), (do_typefind),
11069         (gst_type_find_element_activate):
11070         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11071         (gst_buffer_default_free), (gst_buffer_default_copy),
11072         (gst_buffer_set_caps):
11073         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11074         (gst_caps_replace):
11075         * gst/gstmessage.c: (gst_message_new),
11076         (gst_message_new_state_changed):
11077         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11078         (gst_pad_set_checkgetrange_function),
11079         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11080         (gst_pad_set_caps), (gst_pad_check_pull_range),
11081         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11082         * gst/gstpad.h:
11083         * gst/gsttypefind.c: (gst_type_find_register):
11084         Make gst_caps_replace() work like other _replace() functions.
11085         Use _caps_replace() where possible.
11086         Make sure _message_new() initialises its field.
11087         Add gst_static_pad_template_get_caps()
11088
11089
11090 2005-04-18  Andy Wingo  <wingo@pobox.com>
11091
11092         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11093         on the peer, not the pad. I think that was a typo. Pass an extra
11094         arg to see if random access is possible. Activate the pads as
11095         PULL_RANGE if possible.
11096
11097         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11098
11099         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11100         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11101         to PROP_....
11102
11103 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11104
11105         * docs/faq/using.xml:
11106           Add note on gstreamer-properties (#154996).
11107
11108 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11109
11110         * docs/random/bbb/optional-properties:
11111           Some analysis on optional properties.
11112
11113 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11114
11115         * docs/gst/tmpl/gstelementfactory.sgml:
11116         * gst/gstelement.h:
11117         * gst/gstelementfactory.c: (gst_element_factory_init),
11118         (gst_element_factory_cleanup), (gst_element_register),
11119         (__gst_element_factory_add_static_pad_template),
11120         (gst_element_factory_get_static_pad_templates),
11121         (gst_element_factory_can_src_caps),
11122         (gst_element_factory_can_sink_caps):
11123         * gst/registries/Makefile.am:
11124         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11125         (gst_xml_registry_class_init), (gst_xml_registry_init),
11126         (gst_xml_registry_new), (gst_xml_registry_set_property),
11127         (gst_xml_registry_get_property), (get_time), (make_dir),
11128         (gst_xml_registry_get_perms_func),
11129         (plugin_times_older_than_recurse), (plugin_times_older_than),
11130         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11131         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11132         (add_to_char_array), (read_string), (read_uint), (read_enum),
11133         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11134         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11135         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11136         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11137         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11138         (gst_xml_registry_rebuild):
11139         * gst/registries/gstlibxmlregistry.h:
11140         * tools/gst-compprep.c: (main):
11141         * tools/gst-inspect.c: (print_pad_templates_info):
11142         * tools/gst-xmlinspect.c: (print_element_info):
11143           Use libxml2 for registry parsing, use staticpadtemplates in
11144           elementfactories. Makes gst_init() +/- 10x faster.
11145
11146 2005-04-12  Wim Taymans  <wim@fluendo.com>
11147
11148         * gst/base/Makefile.am:
11149         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11150         (gst_basesink_pad_getcaps), (gst_basesink_init),
11151         (gst_basesink_event), (gst_basesink_change_state):
11152         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11153         (gst_basesrc_init), (gst_basesrc_query),
11154         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11155         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11156         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11157         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11158         (gst_basesrc_stop), (gst_basesrc_activate),
11159         (gst_basesrc_change_state):
11160         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11161         (helper_find_suggest), (gst_type_find_helper):
11162         * gst/base/gsttypefindhelper.h:
11163         * gst/elements/Makefile.am:
11164         * gst/elements/gstelements.c:
11165         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11166         (gst_fakesink_get_times), (gst_fakesink_event),
11167         (gst_fakesink_preroll), (gst_fakesink_render):
11168         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11169         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11170         (gst_fakesrc_get_property), (gst_fakesrc_create),
11171         (gst_fakesrc_start), (gst_fakesrc_stop):
11172         * gst/elements/gstfakesrc.h:
11173         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11174         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11175         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11176         (gst_filesrc_create_read), (gst_filesrc_create),
11177         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11178         (gst_filesrc_start):
11179         * gst/elements/gsttypefindelement.c:
11180         (gst_type_find_element_have_type), (gst_type_find_element_init),
11181         (start_typefinding), (stop_typefinding), (push_buffer_store),
11182         (gst_type_find_element_handle_event),
11183         (gst_type_find_element_chain),
11184         (gst_type_find_element_checkgetrange),
11185         (gst_type_find_element_getrange), (do_typefind),
11186         (gst_type_find_element_activate),
11187         (gst_type_find_element_change_state):
11188         * gst/elements/gsttypefindelement.h:
11189         * gst/gstpipeline.c: (pipeline_bus_handler):
11190         Added typefind helper.
11191         Small preroll fix in the base sink.
11192         Disable typefind code in basesrc.
11193         Crude port of typefindelement.
11194         Fakesrc cleanups.
11195
11196
11197 2005-04-11  Wim Taymans  <wim@fluendo.com>
11198
11199         * check/gst/gstbus.c: (gstbus_suite):
11200         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11201         * check/gstcheck.h:
11202           Fix up the timeout so that the test does not fail.
11203
11204 2005-04-06  Wim Taymans  <wim@fluendo.com>
11205
11206         * gst/base/README:
11207         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11208         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11209         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11210         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11211         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11212         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11213         (gst_basesrc_stop), (gst_basesrc_activate),
11214         (gst_basesrc_change_state), (basesrc_find_peek),
11215         (basesrc_find_suggest), (gst_basesrc_type_find):
11216         * gst/base/gstbasesrc.h:
11217         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11218         (gst_filesrc_class_init), (gst_filesrc_init),
11219         (gst_filesrc_finalize), (gst_filesrc_set_location),
11220         (gst_filesrc_set_property), (gst_filesrc_get_property),
11221         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11222         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11223         (gst_filesrc_create_read), (gst_filesrc_create),
11224         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11225         * gst/elements/gstfilesrc.h:
11226         * gst/gstelement.c: (gst_element_get_state_func),
11227         (gst_element_lost_state), (gst_element_pads_activate):
11228         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11229         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11230         (gst_pad_pull_range):
11231         * gst/gstpad.h:
11232         More work on the generic source base class, implement seeking,
11233         query.
11234         Make filesrc extend the base source class.
11235         Added gst_pad_set_checkgetrange_function to GstPad.
11236
11237 2005-04-06  Andy Wingo  <wingo@pobox.com>
11238
11239         * pkgconfig/gstreamer-base.pc.in:
11240         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11241
11242         * pkgconfig/Makefile.am:
11243         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11244
11245 2005-04-04  Wim Taymans  <wim@fluendo.com>
11246
11247         * gst/base/Makefile.am:
11248         * gst/base/README:
11249         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11250         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11251         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11252         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11253         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11254         (gst_basesrc_base_init), (gst_basesrc_class_init),
11255         (gst_basesrc_init), (gst_basesrc_get_formats),
11256         (gst_basesrc_get_query_types), (gst_basesrc_query),
11257         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11258         (gst_basesrc_set_property), (gst_basesrc_get_property),
11259         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11260         (gst_basesrc_loop), (gst_basesrc_activate),
11261         (gst_basesrc_change_state):
11262         * gst/base/gstbasesrc.h:
11263         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11264         (gst_fakesrc_class_init), (gst_fakesrc_init),
11265         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11266         (gst_fakesrc_get_property), (gst_fakesrc_create):
11267         * gst/elements/gstfakesrc.h:
11268         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11269         (gst_filesrc_open_file), (gst_filesrc_loop),
11270         (gst_filesrc_activate), (filesrc_find_peek),
11271         (gst_filesrc_type_find):
11272         Made base source class, make fakesrc extend it.
11273         Add comments to basesink class.
11274         Some filesrc cleanup.
11275
11276 2005-03-31  David Schleef  <ds@schleef.org>
11277
11278         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11279         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11280         expected to link against libgstreamer.
11281         * gst/base/Makefile.am: link against libgstreamer
11282         * gst/elements/Makefile.am: same
11283
11284 2005-03-31  Andy Wingo  <wingo@pobox.com>
11285
11286         * tests/instantiate/Makefile.am:
11287         * tests/instantiate/caps.c: Add test to test speed of caps copy
11288         and free.
11289
11290         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11291         GMemChunk to be fair.
11292
11293         * gst/gsttrashstack.h: Remove warning about using the fallback
11294         trash stack implementation, it's still faster than malloc.
11295
11296 2005-03-30  Andy Wingo  <wingo@pobox.com>
11297
11298         * tests/complexity.c: Add a copyright.
11299
11300 2005-03-31  Wim Taymans  <wim@fluendo.com>
11301
11302         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11303         (gst_base_transform_class_init), (gst_base_transform_init),
11304         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11305         (gst_base_transform_get_property),
11306         (gst_base_transform_sink_activate),
11307         (gst_base_transform_src_activate),
11308         (gst_base_transform_change_state):
11309         * gst/base/gstbasetransform.h:
11310         * gst/elements/gstidentity.c: (gst_identity_class_init),
11311         (gst_identity_event), (gst_identity_check_perfect),
11312         (gst_identity_transform), (gst_identity_start),
11313         (gst_identity_stop):
11314         Added start/stop methods to transform base class so subclasses 
11315         don't need to deal with state changes even.
11316
11317 2005-03-31  Wim Taymans  <wim@fluendo.com>
11318
11319         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11320         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11321         * gst/gstevent.h:
11322         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11323         (gst_pad_pull_range):
11324         Added rate to the discont event to prepare for variable speed
11325         and reverse playback.
11326
11327 2005-03-29  David Schleef  <ds@schleef.org>
11328
11329         * configure.ac:
11330         * testsuite/trigger/Makefile.am:
11331         * testsuite/trigger/trigger.c: A little example program to show
11332         how trigger-based elements can work.
11333
11334 2005-03-29  Wim Taymans  <wim@fluendo.com>
11335
11336         * gst/base/Makefile.am:
11337         * gst/base/README:
11338         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11339         (gst_basesink_base_init), (gst_basesink_class_init),
11340         (gst_basesink_pad_getcaps), (gst_basesink_init),
11341         (gst_basesink_activate), (gst_basesink_change_state):
11342         * gst/base/gstbasesink.h:
11343         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11344         (gst_base_transform_base_init), (gst_base_transform_finalize),
11345         (gst_base_transform_class_init), (gst_base_transform_init),
11346         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11347         (gst_base_transform_event), (gst_base_transform_getrange),
11348         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11349         (gst_base_transform_set_property),
11350         (gst_base_transform_get_property),
11351         (gst_base_transform_sink_activate),
11352         (gst_base_transform_src_activate),
11353         (gst_base_transform_change_state):
11354         * gst/base/gstbasetransform.h:
11355         * gst/elements/gstidentity.c: (gst_identity_finalize),
11356         (gst_identity_class_init), (gst_identity_init),
11357         (gst_identity_event), (gst_identity_check_perfect),
11358         (gst_identity_transform), (gst_identity_set_property),
11359         (gst_identity_get_property), (gst_identity_change_state):
11360         * gst/elements/gstidentity.h:
11361         * gst/gstelement.c: (gst_element_get_state_func),
11362         (gst_element_lost_state), (gst_element_pads_activate):
11363         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11364         (gst_pad_check_pull_range), (gst_pad_pull_range):
11365         * gst/gstpad.h:
11366         Simplify pad activation.
11367         Added function to check if pull_range can be performed.
11368         Error out when pulling inactive or flushing pads.
11369         Removed const from refcounted types as it does not make sense.
11370         Simplify pad templates in basesink
11371         Added base class for simple 1-to-1 transforms.
11372         Make identity subclass the base transform.
11373
11374 2005-03-29  Andy Wingo  <wingo@pobox.com>
11375
11376         * docs/libs/gstreamer-libs-overrides.txt: 
11377         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11378         really don't understand what's going on, but like whatever. I want
11379         green buildbot!
11380
11381         * docs/gst/Makefile.am:
11382         * docs/libs/Makefile.am: Dist the overrides files.
11383
11384         * check/Makefile.am (clean-local): Remove .libs directories.
11385
11386         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11387         elements to EXTRA_DIST, so po/ files are happy.
11388
11389         * po/POTFILES.in: Er, remove it here.
11390
11391         * po/POTFILES: Remove gstspider.c.
11392
11393         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11394
11395         * docs/libs/gstreamer-libs-docs.sgml: 
11396         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11397         bytestream.
11398
11399         * tests/complexity.c (main): Set the length of the preroll queue
11400         on the sinks to prevent a lockup.
11401
11402         * libs/gst/dataprotocol/Makefile.am: 
11403         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11404         the same as the one in check/gst-libs/gdp.c.
11405
11406         * po/, docs/gst/: Commit automatic changes to docs and po files.
11407
11408         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11409         the versioned libgstbase.
11410
11411         * check/Makefile.am: Depend on an unversioned gst-register, seems
11412         to make autoconf happier.
11413
11414         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11415
11416 2005-03-28  Wim Taymans  <wim@fluendo.com>
11417
11418         * configure.ac:
11419         * docs/design/part-gstelement.txt:
11420         * docs/design/part-negotiation.txt:
11421         * docs/design/part-preroll.txt:
11422         * docs/design/part-scheduling.txt:
11423         * docs/design/part-states.txt:
11424         * gst/Makefile.am:
11425         * gst/base/Makefile.am:
11426         * gst/base/README:
11427         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11428         (gst_basesink_base_init), (gst_basesink_class_init),
11429         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11430         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11431         (gst_basesink_set_pad_functions),
11432         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11433         (gst_basesink_set_property), (gst_basesink_get_property),
11434         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11435         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11436         (gst_basesink_preroll_queue_push),
11437         (gst_basesink_preroll_queue_empty),
11438         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11439         (gst_basesink_event), (gst_basesink_get_times),
11440         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11441         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11442         (gst_basesink_loop), (gst_basesink_activate),
11443         (gst_basesink_change_state):
11444         * gst/base/gstbasesink.h:
11445         * gst/elements/Makefile.am:
11446         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11447         (gst_fakesink_class_init), (gst_fakesink_init),
11448         (gst_fakesink_set_property), (gst_fakesink_get_property),
11449         (gst_fakesink_get_times), (gst_fakesink_event),
11450         (gst_fakesink_preroll), (gst_fakesink_render),
11451         (gst_fakesink_change_state):
11452         * gst/elements/gstfakesink.h:
11453         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11454         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11455         * gst/gstelement.c: (gst_element_add_pad),
11456         (gst_element_get_state_func), (gst_element_abort_state),
11457         (gst_element_commit_state), (gst_element_lost_state),
11458         (gst_element_set_state), (gst_element_pads_activate):
11459         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11460         * gst/gstpipeline.c: (gst_pipeline_send_event),
11461         (gst_pipeline_change_state):
11462         Added state change code.
11463         Added/updated docs.
11464         Added sink base class, make fakesink extend the base class.
11465         Small cleanups in GstPipeline.
11466
11467 2005-03-26  David Schleef  <ds@schleef.org>
11468
11469         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11470         is broken and should be implemented in a different library.
11471         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11472         * gst/gst.h: remove gstcpu.h
11473         * gst/gstcpu.c: remove
11474         * gst/gstcpu.h: remove
11475         * gst/Makefile.am.future: Remove this file.  It's ancient.
11476
11477 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11478
11479         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11480         (gst_bin_send_event):
11481           Add default event/set_manager handlers. The set_manager handler
11482           takes care that the manager is distributed over kids that were
11483           already in the bin before the manager was set. The event handler
11484           is a utility virtual function that sends the event over all sinks,
11485           so that gst_element_send_event (bin, event); has the expected
11486           behaviour.
11487         * gst/gstpad.c: (gst_pad_event_default):
11488           Re-install default event handling for discontinuities, so that
11489           seeking works without requiring hacks in applications or extra
11490           code in sinks.
11491         * gst/gstpipeline.c: (gst_pipeline_class_init),
11492         (gst_pipeline_send_event):
11493           Half hack, half utility: set a pipeline to PAUSED for seek events,
11494           since that is the only way we can guarantee a/v sync. Means that
11495           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11496           and it "just works".
11497
11498 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11499
11500         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11501           Lock/unlock mismatch.
11502
11503 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11504
11505         * docs/faq/gst-uninstalled:
11506           add gst-plugins-base
11507         * docs/gst/Makefile.am:
11508           don't error out until docs are fixed
11509         * docs/gst/gstreamer.types:
11510           remove thread
11511
11512 2005-03-22  Wim Taymans  <wim@fluendo.com>
11513
11514         * check/Makefile.am:
11515         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11516         * gst/gststructure.c: (gst_structure_set_valist),
11517         (gst_structure_copy_conditional):
11518         Activated more tests.
11519         Added message test.
11520         Added G_TYPE_POINTER to GstStructure.
11521         
11522
11523 2005-03-22  Wim Taymans  <wim@fluendo.com>
11524
11525         * docs/design/part-TODO.txt:
11526         * docs/design/part-events.txt:
11527         * docs/design/part-gstbin.txt:
11528         * docs/design/part-gstbus.txt:
11529         * docs/design/part-gstpipeline.txt:
11530         * docs/design/part-messages.txt:
11531         * gst/gstbus.c:
11532         * gst/gstmessage.c:
11533         Docs updates
11534
11535 2005-03-21  Wim Taymans  <wim@fluendo.com>
11536
11537         * gst/gstbus.c: (gst_bus_post):
11538         Fix copy-and-paste error.
11539
11540 2005-03-21  Wim Taymans  <wim@fluendo.com>
11541
11542         * check/Makefile.am:
11543         * gst/Makefile.am:
11544         * gst/elements/Makefile.am:
11545         * gst/elements/gstelements.c:
11546         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11547         (gst_fakesink_event), (gst_fakesink_chain):
11548         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11549         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11550         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11551         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11552         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11553         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11554         (gst_fakesrc_loop), (gst_fakesrc_activate),
11555         (gst_fakesrc_change_state):
11556         * gst/elements/gstfakesrc.h:
11557         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11558         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11559         (gst_filesrc_open_file), (gst_filesrc_loop),
11560         (gst_filesrc_activate), (gst_filesrc_change_state),
11561         (filesrc_find_peek), (filesrc_find_suggest),
11562         (gst_filesrc_type_find):
11563         * gst/elements/gstidentity.c: (gst_identity_finalize),
11564         (gst_identity_class_init), (gst_identity_init),
11565         (gst_identity_proxy_getcaps), (identity_queue_push),
11566         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11567         (gst_identity_getrange), (gst_identity_chain),
11568         (gst_identity_sink_loop), (gst_identity_src_loop),
11569         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11570         (gst_identity_set_property), (gst_identity_get_property),
11571         (gst_identity_change_state):
11572         * gst/elements/gstidentity.h:
11573         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11574         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11575         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11576         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11577         (gst_tee_sink_activate):
11578         * gst/elements/gsttee.h:
11579         * gst/gst.c: (gst_register_core_elements), (init_post):
11580         * gst/gst.h:
11581         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11582         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11583         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11584         (gst_bin_change_state):
11585         * gst/gstbin.h:
11586         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11587         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11588         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11589         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11590         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11591         (bus_watch_callback), (bus_watch_destroy),
11592         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11593         (poll_timeout), (gst_bus_poll):
11594         * gst/gstbus.h:
11595         * gst/gstcaps.h:
11596         * gst/gstdata.h:
11597         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11598         (gst_element_post_message), (gst_element_message_full),
11599         (gst_element_get_state_func), (gst_element_get_state),
11600         (gst_element_abort_state), (gst_element_commit_state),
11601         (gst_element_lost_state), (gst_element_set_state),
11602         (gst_element_pads_activate), (gst_element_change_state),
11603         (gst_element_dispose), (gst_element_set_manager_func),
11604         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11605         (gst_element_set_manager), (gst_element_get_manager),
11606         (gst_element_set_bus), (gst_element_get_bus),
11607         (gst_element_set_scheduler), (gst_element_get_scheduler):
11608         * gst/gstelement.h:
11609         * gst/gstevent.c: (gst_event_new_segment_seek),
11610         (gst_event_new_flush):
11611         * gst/gstevent.h:
11612         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11613         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11614         (gst_message_new_eos), (gst_message_new_error),
11615         (gst_message_new_warning), (gst_message_new_tag),
11616         (gst_message_new_state_changed), (gst_message_new_application),
11617         (gst_message_get_structure), (gst_message_parse_tag),
11618         (gst_message_parse_state_changed), (gst_message_parse_error),
11619         (gst_message_parse_warning):
11620         * gst/gstmessage.h:
11621         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11622         (gst_real_pad_set_property), (gst_pad_set_active),
11623         (gst_pad_is_active), (gst_pad_set_blocked_async),
11624         (gst_pad_set_blocked), (gst_pad_is_blocked),
11625         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11626         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11627         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11628         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11629         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11630         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11631         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11632         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11633         (gst_pad_set_caps), (gst_pad_configure_sink),
11634         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11635         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11636         (gst_real_pad_dispose), (gst_real_pad_finalize),
11637         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11638         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11639         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11640         * gst/gstpad.h:
11641         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11642         (pipeline_bus_handler), (gst_pipeline_change_state),
11643         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11644         * gst/gstpipeline.h:
11645         * gst/gstprobe.h:
11646         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11647         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11648         (gst_queue_link_src), (gst_queue_bufferalloc),
11649         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11650         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11651         (gst_queue_loop), (gst_queue_handle_src_event),
11652         (gst_queue_handle_src_query), (gst_queue_src_activate),
11653         (gst_queue_change_state):
11654         * gst/gstqueue.h:
11655         * gst/gstscheduler.c: (gst_scheduler_init),
11656         (gst_scheduler_dispose), (gst_scheduler_create_task),
11657         (gst_scheduler_factory_create):
11658         * gst/gstscheduler.h:
11659         * gst/gststructure.c: (gst_structure_get_type),
11660         (gst_structure_copy_conditional):
11661         * gst/gststructure.h:
11662         * gst/gsttaginterface.h:
11663         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11664         (gst_task_init), (gst_task_dispose), (gst_task_create),
11665         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11666         (gst_task_pause):
11667         * gst/gsttask.h:
11668         * gst/gstthread.c:
11669         * gst/gstthread.h:
11670         * gst/gsttypes.h:
11671         * gst/schedulers/Makefile.am:
11672         * gst/schedulers/cothreads_compat.h:
11673         * gst/schedulers/entryscheduler.c:
11674         * gst/schedulers/faircothreads.c:
11675         * gst/schedulers/faircothreads.h:
11676         * gst/schedulers/fairscheduler.c:
11677         * gst/schedulers/gstbasicscheduler.c:
11678         * gst/schedulers/gstoptimalscheduler.c:
11679         * gst/schedulers/gthread-cothreads.h:
11680         * gst/schedulers/threadscheduler.c:
11681         (gst_thread_scheduler_task_get_type),
11682         (gst_thread_scheduler_task_class_init),
11683         (gst_thread_scheduler_task_init),
11684         (gst_thread_scheduler_task_start),
11685         (gst_thread_scheduler_task_stop),
11686         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11687         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11688         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11689         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11690         (plugin_init):
11691         * libs/gst/Makefile.am:
11692         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11693         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11694         (gst_file_pad_parent_set):
11695         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11696         (gst_dp_event_from_packet):
11697         * tests/complexity.c: (main):
11698         * tests/mass_elements.c: (main):
11699         * testsuite/states/locked.c: (message_received), (main):
11700         * testsuite/states/parent.c: (main):
11701         * tools/gst-inspect.c: (print_element_flag_info),
11702         (print_implementation_info), (print_pad_info):
11703         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11704         (main):
11705         * tools/gst-md5sum.c: (event_loop), (main):
11706         * tools/gst-typefind.c: (main):
11707         * tools/gst-xmlinspect.c: (print_element_info):
11708         Next big merge.
11709         Added GstBus for mainloop integration.
11710         Added GstMessage for sending notifications on the bus.
11711         Added GstTask as an abstraction for pipeline entry points.
11712         Removed GstThread.
11713         Removed Schedulers.
11714         Simplified GstQueue for multithreaded core.
11715         Made _link threadsafe, removed old capsnego.
11716         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11717         Added pad blocking functions.
11718         Reworked scheduling functions in GstPad to prepare for
11719         scheduling updates soon.
11720         Moved events out of data stream.
11721         Simplified GstEvent types.
11722         Added return values to push/pull.
11723         Removed clocking from GstElement.
11724         Added prototypes for state change function for next merge.
11725         Removed iterate from bins and state change management.
11726         Fixed some elements, disabled others for now.
11727         Fixed -inspect and -launch.
11728         Added check for GstBus.
11729
11730 2005-03-10  Wim Taymans  <wim@fluendo.com>
11731
11732         * docs/design/part-MT-refcounting.txt:
11733         * docs/design/part-clocks.txt:
11734         * docs/design/part-gstelement.txt:
11735         * docs/design/part-gstobject.txt:
11736         * docs/design/part-standards.txt:
11737         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11738         (gst_bin_remove_func), (gst_bin_remove):
11739         * gst/gstbin.h:
11740         * gst/gstbuffer.c:
11741         * gst/gstcaps.h:
11742         * testsuite/clock/clock1.c: (main):
11743         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11744         (main):
11745         * testsuite/dlopen/loadgst.c: (do_test):
11746         * testsuite/refcounting/bin.c: (add_remove_test1),
11747         (add_remove_test2), (main):
11748         * testsuite/refcounting/element.c: (main):
11749         * testsuite/refcounting/element_pad.c: (main):
11750         * testsuite/refcounting/pad.c: (main):
11751         * tools/gst-launch.c: (sigint_handler_sighandler):
11752         * tools/gst-typefind.c: (main):
11753         Doc updates.
11754         Added doc about clock.
11755         removed gst_bin_iterate_recurse_up(), marked methods
11756         for removal.
11757         Fix more testsuites.
11758
11759 2005-03-09  Wim Taymans  <wim@fluendo.com>
11760
11761         * gst/gstpad.c: (gst_pad_get_direction),
11762         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11763         (gst_pad_collect_valist):
11764         * testsuite/bins/interface.c: (main):
11765         * testsuite/caps/audioscale.c: (test_caps):
11766         * testsuite/caps/caps.c: (test1), (test2), (test3):
11767         * testsuite/caps/deserialize.c: (main):
11768         * testsuite/caps/enumcaps.c: (main):
11769         * testsuite/caps/filtercaps.c: (main):
11770         * testsuite/caps/intersect2.c: (main):
11771         * testsuite/caps/random.c: (main):
11772         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11773         * testsuite/caps/sets.c: (check_caps):
11774         * testsuite/caps/simplify.c: (check_caps), (main):
11775         * testsuite/caps/subtract.c: (check_caps):
11776         Fix _pad_get_direction wrt ghostpads.
11777         Fix caps testsuite.
11778
11779 2005-03-09  Wim Taymans  <wim@fluendo.com>
11780
11781         * check/Makefile.am:
11782         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11783         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11784         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11785         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11786         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11787         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11788         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11789         (bin_element_is_sink), (gst_bin_iterate_sinks),
11790         (gst_bin_iterate_all_by_interface):
11791         * gst/gstbin.h:
11792         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11793         (gst_element_change_state), (gst_element_dispose),
11794         (gst_element_finalize), (gst_element_set_loop_function):
11795         * gst/gstelement.h:
11796         * gst/gstiterator.c: (find_custom_fold_func):
11797         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11798         (gst_pad_collectv), (gst_pad_collect_valist),
11799         (gst_pad_template_new):
11800         * gst/gstpipeline.c: (gst_pipeline_class_init),
11801         (gst_pipeline_dispose), (gst_pipeline_set_property),
11802         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11803         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11804         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11805         * gst/gstutils.h:
11806         * gst/schedulers/entryscheduler.c:
11807         * gst/schedulers/gstbasicscheduler.c:
11808         (gst_basic_scheduler_cothreaded_chain),
11809         (gst_basic_scheduler_chain_add_element):
11810         * testsuite/bins/interface.c: (main):
11811         Added GstBin test.
11812         Added GstSystemClock test.
11813         Implemented clock distribution code in GstBin.
11814         Implemented iterate sinks method for future use.
11815         Rearranged gstelement.h
11816         Fix GstIterator comparison bug.
11817         Moved some code to GstPipeline, mostly clocking related.
11818
11819 2005-03-09  Wim Taymans  <wim@fluendo.com>
11820
11821         * configure.ac:
11822         * gst/gst_private.h:
11823         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11824         (gst_bin_remove_func), (gst_bin_remove),
11825         (gst_bin_get_by_name_recurse_up):
11826         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11827         (gst_clock_id_compare_func), (gst_clock_id_wait),
11828         (gst_clock_id_wait_async), (gst_clock_init),
11829         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11830         * gst/gstelement.h:
11831         * gst/gstinfo.c: (_gst_debug_init):
11832         * gst/gstobject.h:
11833         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11834         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11835         * gst/gstpad.h:
11836         Bump version number, we're now 0.9.0
11837         Add future debugging category.
11838         Fix NULL _unref() in _get_by_name_recurse_up
11839         Rearrange gstpad.h.
11840         Update some docs.
11841
11842 2005-03-08  Wim Taymans  <wim@fluendo.com>
11843
11844         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11845         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11846         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11847         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11848         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11849         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11850         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11851         * gst/elements/gstidentity.c: (gst_identity_class_init):
11852         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11853         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11854         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11855         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11856         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11857         (gst_tee_link):
11858         * gst/gstelement.c: (gst_element_class_init),
11859         (gst_element_base_class_init), (gst_element_init),
11860         (gst_element_get_random_pad), (gst_element_wait_state_change),
11861         (gst_element_change_state), (gst_element_dispose),
11862         (gst_element_finalize), (gst_element_set_loop_function):
11863         * gst/gstelement.h:
11864         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11865         * gst/gstthread.c: (gst_thread_class_init),
11866         (gst_thread_release_children_locks), (gst_thread_change_state):
11867         * gst/schedulers/gstbasicscheduler.c:
11868         (gst_basic_scheduler_loopfunc_wrapper),
11869         (gst_basic_scheduler_chain_wrapper),
11870         (gst_basic_scheduler_src_wrapper),
11871         (gst_basic_scheduler_remove_element):
11872         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11873         Remove threadsafe properties. Fix elements because GObject
11874         complains when installing a property before declaring a
11875         set/get_property handler.
11876         Rearrange gstelement.h file, use STATE macros for state locks.
11877         Free mutexes in the finalize method instead of dispose.
11878
11879 2005-03-08  Wim Taymans  <wim@fluendo.com>
11880
11881         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11882         * gst/gstthread.c: (gst_thread_release_children_locks):
11883         Added parentage check.
11884         Fix build og GstThread again.
11885
11886 2005-03-08  Wim Taymans  <wim@fluendo.com>
11887
11888         * docs/design/part-MT-refcounting.txt:
11889         * docs/design/part-conventions.txt:
11890         * docs/design/part-gstobject.txt:
11891         * docs/design/part-relations.txt:
11892         * docs/design/part-standards.txt:
11893         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11894         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11895         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11896         (gst_bin_iterate_all_by_interface):
11897         * gst/gstbuffer.h:
11898         * gst/gstclock.h:
11899         * gst/gstelement.c: (gst_element_class_init),
11900         (gst_element_change_state), (gst_element_set_loop_function):
11901         * gst/gstelement.h:
11902         * gst/gstiterator.c:
11903         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11904         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11905         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11906         (gst_object_set_parent), (gst_object_unparent),
11907         (gst_object_check_uniqueness):
11908         * gst/gstobject.h:
11909         Docs updates, clean up some headers.
11910
11911 2005-03-07  Wim Taymans  <wim@fluendo.com>
11912
11913         * check/.cvsignore:
11914         * check/Makefile.am:
11915         * check/gst-libs/.cvsignore:
11916         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11917         * check/gst/.cvsignore:
11918         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11919         (START_TEST), (gstbus_suite), (main):
11920         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11921         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11922         (gst_data_suite), (main):
11923         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11924         (add_fold_func), (gstiterator_suite), (main):
11925         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11926         (thread_name_object), (thread_name_object_default),
11927         (gst_object_name_compare), (gst_object_suite), (main):
11928         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11929         (gst_pad_suite), (main):
11930         * check/gstcheck.c: (gst_check_log_message_func),
11931         (gst_check_log_critical_func), (gst_check_init):
11932         * check/gstcheck.h:
11933         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11934         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11935         Added checks.
11936
11937 2005-03-07  Wim Taymans  <wim@fluendo.com>
11938
11939         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11940         (gst_list_iterator_next), (gst_list_iterator_resync),
11941         (gst_list_iterator_free), (gst_iterator_new_list),
11942         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11943         (gst_iterator_free), (gst_iterator_push), (filter_next),
11944         (filter_resync), (filter_uninit), (filter_free),
11945         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11946         (gst_iterator_foreach), (find_custom_fold_func),
11947         (gst_iterator_find_custom):
11948         * gst/gstiterator.h:
11949         Added missing files.
11950
11951 2005-03-07  Wim Taymans  <wim@fluendo.com>
11952
11953         * Makefile.am:
11954         * configure.ac:
11955         * docs/design/part-MT-refcounting.txt:
11956         * docs/design/part-conventions.txt:
11957         * docs/design/part-gstobject.txt:
11958         * docs/design/part-relations.txt:
11959         * examples/mixer/mixer.c: (main):
11960         * examples/thread/thread.c: (eos), (main):
11961         * gst/Makefile.am:
11962         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11963         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
11964         (gst_spider_plug_from_srcpad):
11965         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
11966         (gst_spider_identity_change_state),
11967         (gst_spider_identity_sink_loop_type_finding):
11968         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
11969         * gst/elements/gstidentity.c: (gst_identity_init):
11970         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
11971         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
11972         * gst/elements/gsttypefindelement.c: (free_entry):
11973         * gst/gst.c:
11974         * gst/gst.h:
11975         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
11976         (gst_bin_set_clock_func), (gst_bin_auto_clock),
11977         (gst_bin_set_index), (gst_bin_set_element_sched),
11978         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
11979         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
11980         (gst_bin_iterate_elements), (iterate_child_recurse),
11981         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
11982         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
11983         (compare_interface), (gst_bin_get_by_interface),
11984         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
11985         * gst/gstbin.h:
11986         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
11987         (gst_buffer_default_free), (gst_buffer_default_copy),
11988         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
11989         (gst_buffer_create_sub):
11990         * gst/gstbuffer.h:
11991         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
11992         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
11993         (gst_caps_unref), (gst_static_caps_get),
11994         (gst_caps_remove_and_get_structure), (gst_caps_append),
11995         (gst_caps_append_structure), (gst_caps_remove_structure),
11996         (gst_caps_copy_nth), (gst_caps_set_simple),
11997         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
11998         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
11999         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12000         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12001         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12002         (gst_caps_structure_figure_out_union),
12003         (gst_caps_switch_structures), (gst_caps_do_simplify),
12004         (gst_caps_replace), (gst_caps_from_string),
12005         (gst_caps_copy_conditional):
12006         * gst/gstcaps.h:
12007         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12008         (_gst_clock_id_free), (gst_clock_id_unref),
12009         (gst_clock_id_compare_func), (gst_clock_id_wait),
12010         (gst_clock_id_wait_async), (gst_clock_class_init),
12011         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12012         (gst_clock_get_time), (gst_clock_set_time_adjust),
12013         (gst_clock_set_property), (gst_clock_get_property):
12014         * gst/gstclock.h:
12015         * gst/gstcompat.h:
12016         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12017         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12018         * gst/gstdata.h:
12019         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12020         (gst_element_requires_clock), (gst_element_provides_clock),
12021         (gst_element_set_clock), (gst_element_clock_wait),
12022         (gst_element_wait), (gst_element_set_time_delay),
12023         (gst_element_is_indexable), (gst_element_add_pad),
12024         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12025         (pad_compare_name), (gst_element_get_static_pad),
12026         (gst_element_request_pad), (gst_element_get_request_pad),
12027         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12028         (gst_element_class_get_pad_template_list),
12029         (gst_element_class_get_pad_template), (gst_element_error_func),
12030         (gst_element_get_random_pad), (gst_element_get_event_masks),
12031         (gst_element_send_event), (gst_element_seek),
12032         (gst_element_get_query_types), (gst_element_query),
12033         (gst_element_get_formats), (gst_element_convert),
12034         (gst_element_is_locked_state), (gst_element_set_locked_state),
12035         (gst_element_sync_state_with_parent), (gst_element_change_state),
12036         (gst_element_finalize), (gst_element_yield),
12037         (gst_element_interrupt), (gst_element_set_scheduler),
12038         (gst_element_get_scheduler), (gst_element_set_loop_function):
12039         * gst/gstelement.h:
12040         * gst/gstevent.h:
12041         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12042         (gst_format_get_by_nick), (gst_format_get_details),
12043         (gst_format_iterate_definitions):
12044         * gst/gstformat.h:
12045         * gst/gstindex.c: (gst_index_gtype_resolver):
12046         * gst/gstinfo.c:
12047         * gst/gstinfo.h:
12048         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12049         (gst_mem_chunk_free):
12050         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12051         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12052         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12053         (gst_object_dispatch_properties_changed),
12054         (gst_object_set_name_default), (gst_object_set_name),
12055         (gst_object_get_name), (gst_object_set_name_prefix),
12056         (gst_object_get_name_prefix), (gst_object_set_parent),
12057         (gst_object_get_parent), (gst_object_unparent),
12058         (gst_object_check_uniqueness), (gst_object_save_thyself),
12059         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12060         (gst_object_set_property), (gst_object_get_property),
12061         (gst_object_get_path_string):
12062         * gst/gstobject.h:
12063         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12064         (gst_real_pad_init), (gst_real_pad_get_property),
12065         (gst_pad_custom_new), (gst_pad_get_direction),
12066         (gst_pad_set_active), (gst_pad_is_active),
12067         (gst_pad_set_event_function), (gst_pad_is_linked),
12068         (gst_pad_link_free), (gst_pad_link_intersect),
12069         (gst_pad_link_fixate), (gst_pad_set_caps),
12070         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12071         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12072         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12073         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12074         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12075         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12076         (gst_pad_realize), (gst_pad_get_allowed_caps),
12077         (gst_real_pad_dispose), (gst_real_pad_finalize),
12078         (gst_pad_collectv), (gst_pad_collect_valist),
12079         (gst_pad_template_dispose), (gst_pad_template_new),
12080         (gst_pad_get_internal_links):
12081         * gst/gstpad.h:
12082         * gst/gstpipeline.c: (gst_pipeline_dispose),
12083         (gst_pipeline_change_state):
12084         * gst/gstpipeline.h:
12085         * gst/gstplugin.c:
12086         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12087         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12088         * gst/gstpluginfeature.h:
12089         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12090         * gst/gstquery.c: (_gst_query_type_initialize),
12091         (gst_query_type_register), (gst_query_type_get_by_nick),
12092         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12093         * gst/gstquery.h:
12094         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12095         * gst/gstscheduler.c: (gst_scheduler_add_element),
12096         (gst_scheduler_factory_create):
12097         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12098         (gst_structure_free), (gst_structure_set_name),
12099         (gst_structure_id_set_value), (gst_structure_set_value),
12100         (gst_structure_set_valist), (gst_structure_remove_field),
12101         (gst_structure_remove_fields),
12102         (gst_structure_remove_fields_valist),
12103         (gst_structure_remove_all_fields), (gst_structure_foreach),
12104         (gst_structure_map_in_place),
12105         (gst_caps_structure_fixate_field_nearest_int),
12106         (gst_caps_structure_fixate_field_nearest_double):
12107         * gst/gststructure.h:
12108         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12109         (gst_system_clock_init), (gst_system_clock_dispose),
12110         (gst_system_clock_async_thread),
12111         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12112         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12113         * gst/gstsystemclock.h:
12114         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12115         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12116         * gst/gsttaginterface.c:
12117         * gst/gstthread.c: (gst_thread_dispose),
12118         (gst_thread_release_children_locks), (gst_thread_change_state),
12119         (gst_thread_main_loop):
12120         * gst/gsttrashstack.h:
12121         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12122         * gst/gsttypes.h:
12123         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12124         (gst_element_request_pad), (gst_element_get_pad_from_template),
12125         (gst_element_request_compatible_pad),
12126         (gst_element_get_compatible_pad_filtered),
12127         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12128         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12129         (gst_element_link_many), (gst_element_link),
12130         (gst_element_link_pads), (gst_element_unlink_pads),
12131         (gst_element_unlink_many), (gst_element_unlink),
12132         (gst_pad_can_link_filtered), (gst_pad_can_link),
12133         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12134         (gst_object_default_error), (gst_bin_add_many),
12135         (gst_bin_remove_many), (gst_element_populate_std_props),
12136         (gst_element_class_install_std_props), (gst_buffer_merge),
12137         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12138         (link_fold_func), (gst_pad_proxy_setcaps):
12139         * gst/gstutils.h:
12140         * gst/gstvalue.c: (gst_value_deserialize_string):
12141         * gst/parse/grammar.y:
12142         * gst/schedulers/gstbasicscheduler.c:
12143         (gst_basic_scheduler_cothreaded_chain),
12144         (gst_basic_scheduler_chain_recursive_add),
12145         (gst_basic_scheduler_pad_link):
12146         * gst/schedulers/gstoptimalscheduler.c:
12147         (get_group_schedule_function),
12148         (gst_opt_scheduler_state_transition),
12149         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12150         * libs/gst/bytestream/bytestream.c:
12151         * libs/gst/dataprotocol/dataprotocol.c:
12152         (gst_dp_header_from_buffer):
12153         * po/nb.po:
12154         * po/ru.po:
12155         * tests/threadstate/threadstate2.c: (eos):
12156         * tools/gst-compprep.c: (main):
12157         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12158         (print_pad_info), (print_children_info):
12159         * tools/gst-launch.c: (idle_func), (main):
12160         * tools/gst-md5sum.c: (idle_func), (main):
12161         * tools/gst-xmlinspect.c: (print_element_info):
12162         First THREADED backport attempt, focusing on adding locks and
12163         making sure the API is threadsafe. Needs more work. More docs
12164         follow this week.
12165
12166 2005-02-24  Andy Wingo  <wingo@pobox.com>
12167
12168         * tests/bench-complexity.scm:
12169         * tests/complexity.gnuplot: New files, good for running complexity
12170         benchmarks.
12171
12172         * tests/Makefile.am:
12173         * tests/complexity.c: New test, sets up N elements, at each level
12174         teeing into M streams per element. Eeeenteresting.
12175
12176         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12177         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12178         running bench-mass_elements.scm.
12179
12180         * tests/bench-mass_elements.scm: New script, runs mass_elements
12181         for various numbers of identities, outputting the results to a
12182         file. Requires guile 1.6. Just for testing.
12183
12184 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12185
12186         * gst/schedulers/fairscheduler.c:
12187           compile with debug disabled
12188
12189 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12190
12191         * configure.ac:
12192           hunting season on 0.9 is now OPEN