gst/gstvalue.*: Use gint, gdouble and gchar in our API instead of int, double and...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/gstvalue.c: (gst_value_serialize_any_list),
4         (gst_value_transform_any_list_string),
5         (gst_value_deserialize_list), (gst_value_deserialize_array),
6         (gst_value_set_int_range), (gst_value_deserialize_int_range),
7         (gst_value_set_double_range), (gst_value_deserialize_double_range),
8         (gst_value_set_fraction_range_full),
9         (gst_value_deserialize_fraction_range),
10         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
11         (gst_value_deserialize_boolean),
12         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
13         (gst_value_serialize_float), (gst_value_deserialize_float),
14         (gst_string_wrap), (gst_value_deserialize_string),
15         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
16         (gst_value_union_int_range_int_range),
17         (gst_value_intersect_int_range_int_range),
18         (gst_value_intersect_double_range_double_range),
19         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20         (gst_value_subtract_int_range_int_range),
21         (gst_value_subtract_double_double_range),
22         (gst_value_subtract_double_range_double_range),
23         (gst_value_deserialize_fraction):
24         * gst/gstvalue.h:
25           Use gint, gdouble and gchar in our API instead of int, double and
26           char (and make usage in gstvalue.c more consistent).
27
28 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29
30         * check/Makefile.am:
31         * libs/gst/controller/Makefile.am:
32         * libs/gst/dataprotocol/Makefile.am:
33           fix up Makefile.am and remove GST_ENABLE_NEW
34
35 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
36
37         * configure.ac:
38         * gst/Makefile.am:
39         * gst/base/Makefile.am:
40         * gst/check/Makefile.am:
41         * gst/elements/Makefile.am:
42         * gst/net/Makefile.am:
43           update LDFLAGS use some more
44
45 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
46
47         * common/m4/gst-doc.m4:
48           Fixes #312589
49
50 2005-11-26  Edward Hervey  <edward@fluendo.com>
51
52         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
53         This shouldn't issue a g_warning since it returns NULL if it
54         couldn't find the plugin, and all functions using this behave
55         properly on a NULL return. Switching to a GST_WARNING.
56
57 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
58
59         * gst/gstbin.c: (gst_bin_handle_message_func):
60         Don't leak clock messages.
61
62 2005-11-25  Wim Taymans  <wim@fluendo.com>
63
64         * gst/gstutils.c: (gst_util_uint64_scale_int64),
65         (gst_util_uint64_scale_int):
66         Optimisations, remove unneeded vars.
67
68 2005-11-25  Wim Taymans  <wim@fluendo.com>
69
70         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
71         Added more checks for the high precision uint64 cases.
72
73         * gst/gstutils.c: (gst_util_uint64_scale_int64),
74         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
75         Implement high precission (guint64 * guint64) / guint64.
76
77 2005-11-24  Wim Taymans  <wim@fluendo.com>
78
79         * gst/base/gstbasesrc.c: (gst_base_src_query):
80         Fix wrong percentage query.
81
82         * gst/gstutils.c: (gst_util_uint64_scale),
83         (gst_util_uint64_scale_int):
84         Add some more common cases that can be handled 
85         efficiently to _scale.
86
87 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
88
89         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
90         (gst_mini_object_suite):
91           don't use check calls from threads; check probably isn't
92           threadsafe and using a lock to make it threadsafe would
93           defeat the purpose of this check
94         * gst/check/gstcheck.c:
95         * gst/check/gstcheck.h:
96           use GST_DEBUG some more
97
98 2005-11-24  Wim Taymans  <wim@fluendo.com>
99
100         * gst/gstutils.c: (gst_util_uint64_scale),
101         (gst_util_uint64_scale_int):
102         Chain trivial case to _scale_int.
103
104 2005-11-24  Wim Taymans  <wim@fluendo.com>
105
106         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
107         Added test for scaling.
108
109         * gst/gstclock.h:
110         Small doc fix.
111
112         * gst/gstutils.c: (gst_util_uint64_scale_int):
113         Implemented high precision scaling code.
114
115 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
116
117         * gst/gstinfo.h:
118           do not crash on pad==NULL
119
120 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
121
122         Patch by: Stefan Kost
123
124         * common/gtk-doc.mak:
125         * docs/gst/Makefile.am:
126         * docs/libs/Makefile.am:
127           Fix distcheck issues for the libraries docs build
128           Closes #319599.
129
130 2005-11-24  Michael Smith <msmith@fluendo.com>
131
132         * docs/manual/basics-helloworld.xml:
133           Fix bug #315027: memory leak in example code in docs.
134
135 2005-11-24  Michael Smith <msmith@fluendo.com>
136
137         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
138           Unlock the PREROLL_LOCK in a failure case.
139
140 2005-11-24  Wim Taymans  <wim@fluendo.com>
141
142         * docs/gst/gstreamer-sections.txt:
143         * gst/base/gstadapter.h:
144         * gst/base/gstbasesink.h:
145         * gst/base/gstbasesrc.h:
146         * gst/base/gstbasetransform.h:
147         * gst/base/gstpushsrc.h:
148         * gst/elements/gstfakesink.h:
149         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
150         * gst/elements/gstfakesrc.h:
151         * gst/elements/gstfilesink.h:
152         * gst/elements/gstfilesrc.h:
153         * gst/gst.c:
154         * gst/gstbin.c:
155         * gst/gstbuffer.c: (_gst_buffer_copy):
156         * gst/gstbus.h:
157         * gst/gstcaps.c:
158         * gst/gstchildproxy.c:
159         * gst/gstclock.c:
160         * gst/gstelement.c:
161         * gst/gstelementfactory.c:
162         * gst/gstelementfactory.h:
163         * gst/gstevent.c:
164         * gst/gstghostpad.h:
165         * gst/gstindex.h:
166         * gst/gstinterface.h:
167         * gst/gstminiobject.c:
168         * gst/gstminiobject.h:
169         * gst/gstpad.c:
170         * gst/gstpad.h:
171         * gst/gstpadtemplate.h:
172         * gst/gstpipeline.h:
173         * gst/gstpluginfeature.h:
174         * gst/gstquery.h:
175         * gst/gstqueue.h:
176         * gst/gsttaglist.c:
177         * gst/gsttaglist.h:
178         * gst/gsttagsetter.c:
179         * gst/gsttagsetter.h:
180         * gst/gsttrace.c:
181         * gst/gsttrace.h:
182         * gst/gsttypefind.h:
183         * gst/gsturi.h:
184         * gst/gstvalue.c:
185         * gst/net/gstnetclientclock.c:
186         * gst/net/gstnetclientclock.h:
187         * gst/net/gstnettimepacket.c:
188         * gst/net/gstnettimeprovider.c:
189         * gst/net/gstnettimeprovider.h:
190         Doc fixes.
191
192 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
193
194         * configure.ac: back to HEAD
195
196 === release 0.9.6 ===
197
198 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
199
200         * configure.ac:
201           releasing 0.9.6, "Always On Time"
202
203 2005-11-23  Wim Taymans  <wim@fluendo.com>
204
205         * docs/gst/gstreamer-sections.txt:
206         * gst/glib-compat.c:
207         * gst/gsttagsetter.c:
208         * gst/gstvalue.c:
209         * gst/net/gstnetclientclock.c:
210         * gst/net/gstnettimepacket.h:
211         Doc updates.
212
213 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
214
215         * docs/faq/using.xml:
216         * docs/libs/tmpl/gstcontrol.sgml:
217         * docs/manual/advanced-dparams.xml:
218         * docs/manual/appendix-checklist.xml:
219         * docs/manual/basics-elements.xml:
220         * docs/pwg/other-source.xml:
221         * docs/random/moving-plugins:
222         * gst/gstpad.c:
223         * tools/gst-launch.1.in:
224           remove mentions of sinesrc
225
226 2005-11-23  Michael Smith <msmith@fluendo.com>
227
228         * docs/gst/gstreamer-sections.txt:
229           Update for new API and API changes.
230         * gst/gstobject.h:
231           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
232         * gst/gstvalue.c:
233           Documentation typo fix.
234         * gst/net/gstnettimepacket.c:
235           Documentation fixes for arguments.
236
237 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
238
239         * gst/gststructure.c: (gst_structure_get_fraction),
240         (gst_structure_parse_value),
241         (gst_structure_fixate_field_nearest_fraction):
242         * gst/gststructure.h:
243         * gst/gstutils.c: (gst_util_uint64_scale_int):
244         * gst/gstutils.h:
245         * scripts/update-funcnames:
246         API Changes. 
247         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
248         Make gst_structure_fixate_field_nearest_fraction take a numerator
249         and denominator argument instead of a GValue
250         add gst_structure_get_fraction helper function.
251
252 2005-11-23  Wim Taymans  <wim@fluendo.com>
253
254         * docs/design/part-TODO.txt:
255         Update TODO.
256
257         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
258         * gst/net/gstnetclientclock.h:
259         Use parent fields for timeout and window_size.
260
261 2005-11-23  Andy Wingo  <wingo@pobox.com>
262
263         * check/net/gstnetclientclock.c (test_functioning): Adjust to
264         rate_num/rate_denom change.
265
266         * gst/net/gstnetclientclock.c
267         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
268         OBJECT_LOCK. Don't call add_observation with the lock.
269
270         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
271         fraction.
272         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
273         rate fraction.
274         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
275         deal with rate as a fraction whose numerator and denominator are
276         GstClockTime values.
277         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
278         master; the other fields are protected by the SLAVE_LOCK.
279         (do_linear_regression): Note that this must be called with the
280         SLAVE_LOCK.
281         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
282         OBJECT_LOCK. Call set_calibration instead of touching the
283         variables directly.
284         (gst_clock_set_property, gst_clock_get_property): Protect
285         master/slave parameters with the SLAVE_LOCK.
286
287         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
288         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
289         note that all of the instance variables that add_observation and
290         the set_master functions use are protected by that lock and not
291         the OBJECT_LOCK.
292         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
293
294         * gst/gstclock.c (gst_clock_add_observation): No longer requires
295         the caller to take the object lock.
296
297 2005-11-23  Wim Taymans  <wim@fluendo.com>
298
299         * gst/gsterror.c: (_gst_core_errors_init):
300         * gst/gsterror.h:
301         Add error for clock stuff.
302
303         * gst/gstpipeline.c: (gst_pipeline_change_state),
304         (gst_pipeline_set_clock):
305         Post clock error when clock cannot be used in a pipeline.
306
307 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
308
309         * docs/gst/gstreamer-sections.txt:
310           make two symbols from gstinfo private for the docs
311         * gst/base/gstcollectpads.h:
312         * gst/gstutils.c:
313           fix doc typos, update docs
314
315 2005-11-22  Wim Taymans  <wim@fluendo.com>
316
317         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
318         (gst_base_sink_wait), (gst_base_sink_do_sync),
319         (gst_base_sink_handle_event):
320         * gst/base/gstbasesink.h:
321         No need to store the clock, the parent element class already
322         has it.
323
324         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
325         Updates for clock_set returning a gboolean
326
327         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
328         (gst_clock_id_wait_async), (gst_clock_class_init),
329         (gst_clock_init), (gst_clock_finalize),
330         (gst_clock_get_internal_time), (gst_clock_get_time),
331         (gst_clock_slave_callback), (gst_clock_set_master),
332         (gst_clock_get_master), (do_linear_regression),
333         (gst_clock_add_observation), (gst_clock_set_property),
334         (gst_clock_get_property):
335         * gst/gstclock.h:
336         Implement master/slave. When setting a clock as a slave, a
337         periodic timeout is scheduled to sample master and slave times.
338         Then the slave clock is recalibrated to match offset and rate
339         of the master clock.
340         Update logging a bit.
341         Add flag so that a clock can state that is cannot be slaved to
342         another clock.
343
344         * gst/gstelement.c: (gst_element_set_clock):
345         * gst/gstelement.h:
346         The set clock returns a gboolean for when an element cannot
347         deal with the selected clock in the pipeline. 
348
349         * gst/gstpipeline.c: (gst_pipeline_change_state),
350         (gst_pipeline_set_clock):
351         * gst/gstpipeline.h:
352         Handle the case where the selected clock cannot be set on
353         the pipeline.
354
355         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
356         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
357         (gst_net_client_clock_set_property),
358         (gst_net_client_clock_get_property),
359         (gst_net_client_clock_observe_times):
360         * gst/net/gstnetclientclock.h:
361         Use regression code in GstClock parent, remove duplicated
362         functionality.
363
364 2005-11-22  Michael Smith <msmith@fluendo.com>
365
366         * gst/gstutils.c: (gst_util_clock_time_scale):
367         * gst/gstutils.h:
368         * docs/gst/gstreamer-sections.txt:
369           Rename method to have extra underscore.
370
371 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
372
373         * gst/elements/Makefile.am:
374         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
375         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
376         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
377         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
378         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
379         * gst/elements/gstfakesrc.h:
380         * gst/gstqueue.c: (queue_leaky_get_type):
381           correctly fix GEnumValues so that nick is the short lowercase
382           dashed tag
383         * tools/gst-inspect.c: (print_element_properties_info):
384           also show the nick, since it's useful to use from parse_launch
385           syntax
386           Fixes #322139
387
388 2005-11-22  Michael Smith <msmith@fluendo.com>
389
390         * gst/gstutils.c: (gst_util_clocktime_scale):
391         * gst/gstutils.h:
392         * docs/gst/gstreamer-sections.txt:
393           Add util method for scaling a clocktime by a fraction. Useful 
394           implementation is left as an exercise for the reader.
395
396 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
397
398         * gst/gstvalue.c: (gst_value_collect_fraction_range):
399         If needed, allocate storage in the destination value during
400         collection.
401
402 2005-11-22  Edward Hervey  <edward@fluendo.com>
403
404         * docs/gst/gstreamer-sections.txt:
405         * gst/Makefile.am:
406         * gst/gst.h:
407         * gst/gsturitype.c:
408         * gst/gsturitype.h:
409         * gst/gstutils.c: (gst_util_set_object_arg):
410         * tools/gst-compprep.c: (main):
411         * tools/gst-inspect.c: (print_element_properties_info):
412         Removed GstURI, closes bug #321061
413
414 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
415
416         * check/gst/gststructure.c: (GST_START_TEST):
417         * gst/gststructure.c: (gst_structure_parse_value):
418           Oops, broke automatic string type parsing.
419           Add a test to catch it in future.
420
421 2005-11-22  Andy Wingo  <wingo@pobox.com>
422
423         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
424         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
425         Actually rename the function implementations. Grr.
426
427 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
428
429         * check/gst/capslist.h:
430           Comment test cases
431         * check/gst/gststructure.c: (GST_START_TEST),
432         (gst_structure_suite):
433           Test automatic value type detection in gst_structure_from_string.
434         * gst/gststructure.c: (gst_structure_parse_value):
435           Add fraction as a type we try and guess automatically in
436           caps/structure strings.
437
438 2005-11-22  Andy Wingo  <wingo@pobox.com>
439
440         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
441
442         * gst/gsttagsetter.h:
443         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
444         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
445         (gst_tag_setter_add_tag_valist)
446         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
447         _add_values, _add_valist, and _add_valist_values. Since this is an
448         interface the function suffixes should be more explicit so
449         language binding don't end up with element.add_valist ->
450         gst_tag_setter_add_valist, for example. Fixes #322069.
451
452 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
453
454         * check/gst/gstcaps.c: (GST_START_TEST):
455           Extend caps string tests to check that a caps to string
456           conversion is reversible and produces the same caps.
457
458         * gst/gststructure.c: (gst_structure_value_get_generic_type):
459           Output "fraction" as the generic type fraction range, so caps
460           serialisation and deserialisation works.
461         * check/gst/capslist.h:
462         * gst/gstvalue.c: (gst_value_deserialize_fraction):
463           Support 'MIN' and 'MAX' for deserialising fractions.
464
465 2005-11-22  Andy Wingo  <wingo@pobox.com>
466
467         * gst/gstevent.h (gst_event_new_new_segment)
468         (gst_event_parse_new_segment, gst_event_new_buffer_size)
469         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
470         Renamed from *_newsegment, *_buffersize, *_notarget.
471
472         * scripts/update-funcnames: New script, performs the changes
473         listed above.
474
475 2005-11-22  Wim Taymans  <wim@fluendo.com>
476
477         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
478         Make sure the GstFlowReturn is returned.
479
480         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
481         (gst_bus_add_signal_watch):
482         * gst/gstbus.h:
483         add gst_bus_add_signal_watch_full.
484
485         * gst/gstplugin.c: (gst_plugin_load_file):
486         Small style cleanup.
487
488 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
489
490         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
491           Block the fakesrc srcpad when we send an event, to avoid
492           contention on the stream_lock causing random test failures.
493
494 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
495
496         * check/gst/gstvalue.c: (GST_START_TEST):
497         * gst/gstvalue.c: (gst_value_fraction_subtract):
498           Fix subtraction.
499
500 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
501
502         * gst/gst.h:
503           include "gstchildproxy.h"
504         * gst/gstchildproxy.h:
505         * libs/gst/controller/gstcontroller.h:
506           use G_GNUC_NULL_TERMINATED
507
508 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
509
510         * check/gst/capslist.h:
511         * check/gst/gstcaps.c: (GST_START_TEST):
512         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
513         * gst/gststructure.c: (gst_structure_parse_range),
514         (gst_structure_fixate_field_nearest_fraction):
515         * gst/gststructure.h:
516         * gst/gstvalue.c: (gst_value_init_fraction_range),
517         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
518         (gst_value_collect_fraction_range),
519         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
520         (gst_value_set_fraction_range_full),
521         (gst_value_get_fraction_range_min),
522         (gst_value_get_fraction_range_max),
523         (gst_value_serialize_fraction_range),
524         (gst_value_transform_fraction_range_string),
525         (gst_value_compare_fraction_range),
526         (gst_value_deserialize_fraction_range),
527         (gst_value_intersect_fraction_fraction_range),
528         (gst_value_intersect_fraction_range_fraction_range),
529         (gst_value_subtract_fraction_fraction_range),
530         (gst_value_subtract_fraction_range_fraction),
531         (gst_value_subtract_fraction_range_fraction_range),
532         (gst_value_collect_fraction), (gst_value_fraction_multiply),
533         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
534         (gst_value_transform_string_fraction), (_gst_value_initialize):
535         * gst/gstvalue.h:
536           Implement fraction ranges and extend GstFraction to support
537           arithmetic subtraction, as well as deserialization from integer
538           strings such as "100"
539           Add a testsuite as for int and double range set operations
540
541 2005-11-21  Andy Wingo  <wingo@pobox.com>
542
543         * gst/gsttaglist.h: 
544         * gst/gstcaps.h: 
545         * gst/gststructure.h: Add glib-compat.h.
546
547 2005-11-21  Wim Taymans  <wim@fluendo.com>
548
549         * gst/gstbin.c: (gst_bin_change_state_func):
550         Fix for #321595
551
552 2005-11-21  Wim Taymans  <wim@fluendo.com>
553
554         * gst/gstsegment.h:
555         And add a nice define too.
556
557 2005-11-21  Wim Taymans  <wim@fluendo.com>
558
559         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
560         (gst_segment_new), (gst_segment_free), (gst_segment_init),
561         (gst_segment_set_duration), (gst_segment_set_last_stop),
562         (gst_segment_set_seek), (gst_segment_set_newsegment),
563         (gst_segment_to_stream_time), (gst_segment_to_running_time),
564         (gst_segment_clip):
565         * gst/gstsegment.h:
566         Make binding friendly.
567
568 2005-11-21  Andy Wingo  <wingo@pobox.com>
569
570         * gst/gsttagsetter.h: 
571         * gst/gsttaglist.h: 
572         * gst/gststructure.h: 
573         * gst/gstcaps.h: 
574         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
575         #319940.
576
577         * gst/gsterror.c (_gst_core_errors_init):
578         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
579         category.
580
581         * gst/Makefile.am (gst_headers): Add glib-compat.h.
582         (noinst_HEADERS): noinst the -private.
583
584 2005-11-21  Michael Smith <msmith@fluendo.com>
585
586         * gst/gstplugin.h:
587         * gst/gstregistry.h:
588           Remove unimplemented declarations for which we can see no sensible
589           use.
590
591 2005-11-21  Andy Wingo  <wingo@pobox.com>
592
593         * gst/gst.h: Include glib-compat.h.
594
595         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
596
597         * gst/glib-compat.c: Include the public and the private header.
598
599         * gst/glib-compat-private.h: Copied here from glib-compat.h.
600
601         * gst/gstvalue.c: 
602         * gst/gstpad.c: 
603         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
604
605         * check/gst/gstevent.c (create_custom_events): Check that
606         FLUSH_STOP is serialized.
607
608         * check/elements/identity.c (event_func): 
609         * check/elements/fakesrc.c (event_func): No stream lock, the core
610         takes it.
611
612         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
613         stream lock taking, yay.
614
615         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
616         ensure that core takes the stream lock.
617
618         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
619         lock name change.
620
621         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
622         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
623         it already. For the flush start we do take it though so we get the
624         right preroll state change messages.
625
626         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
627         the stream lock here, the core does it for us.
628
629         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
630         GST_STREAM_GET_LOCK.
631         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
632         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
633         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
634         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
635         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
636         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
637
638         * gst/gstpad.c: Update for stream lock name change.
639
640         * gst/base/gstbasesink.c: Update for preroll lock name change.
641
642 2005-11-21  Wim Taymans  <wim@fluendo.com>
643
644         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
645         (gst_clock_get_master):
646         * gst/gstclock.h:
647         * gst/gstsystemclock.c: (gst_system_clock_init):
648         Convert Clock flags to object flags.
649         Added methods to manage master/slave clocks.
650
651 2005-11-21  Wim Taymans  <wim@fluendo.com>
652
653         * check/gst/gstsegment.c: (GST_START_TEST):
654         * docs/design/part-TODO.txt:
655         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
656         (gst_base_sink_event), (gst_base_sink_do_sync),
657         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
658         (gst_base_sink_query), (gst_base_sink_change_state):
659         * gst/base/gstbasesink.h:
660         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
661         (gst_base_src_default_newsegment),
662         (gst_base_src_configure_segment), (gst_base_src_do_seek),
663         (gst_base_src_get_range), (gst_base_src_loop),
664         (gst_base_src_change_state):
665         * gst/base/gstbasesrc.h:
666         * gst/base/gstbasetransform.c:
667         (gst_base_transform_prepare_output_buf),
668         (gst_base_transform_event), (gst_base_transform_change_state):
669         * gst/base/gstbasetransform.h:
670         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
671         (gst_collect_pads_event):
672         * gst/base/gstcollectpads.h:
673         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
674         (gst_fake_src_create):
675         * gst/elements/gstfakesrc.h:
676         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
677         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
678         (gst_segment_set_last_stop), (gst_segment_set_seek),
679         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
680         (gst_segment_to_running_time), (gst_segment_clip):
681         * gst/gstsegment.h:
682         More segment updates, replace code in plugins with segment
683         helper functions.
684
685 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
686
687         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
688         Don't ignore sscanf results
689
690 2005-11-21  Andy Wingo  <wingo@pobox.com>
691
692         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
693
694         * *.h:
695         * *.c: Ran scripts/update-macros. Oh yes.
696
697         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
698         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
699         GST_GET_LOCK, etc.
700
701         * scripts/update-macros: New script. Run it on your files to
702         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
703         well.
704
705 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
706
707         * docs/gst/Makefile.am:
708         * docs/gst/gstreamer-docs.sgml:
709         * docs/gst/gstreamer-sections.txt:
710         * docs/gst/gstreamer.types:
711         * gst/gstinfo.h:
712           more docs fixes, add new api to the docs
713
714 2005-11-21  Andy Wingo  <wingo@pobox.com>
715
716         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
717         state_broadcast call.
718
719         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
720
721 2005-11-21  Julien MOUTTE  <julien@moutte.net>
722
723         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
724         function calls for arrays.
725
726 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
727
728         * docs/random/ensonic/media-device-daemon.txt:
729           wild idea, can this be done?
730         * docs/gst/gstreamer-sections.txt:
731         * gst/gsterror.h:
732         * gst/gstfilter.c:
733         * gst/gstfilter.h:
734         * gst/gstplugin.h:
735         * gst/gstpluginfeature.c:
736         * gst/gsttrace.c:
737         * gst/gstvalue.c:
738         * gst/gstvalue.h:
739           doc fixes and additions
740
741 2005-11-21  Andy Wingo  <wingo@pobox.com>
742
743         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
744         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
745         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
746         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
747         private to the basesrc implementation.
748
749         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
750         behalf of event function if necessary. It should no longer be
751         necessary to take the stream lock in pad's event functions. Fixes
752         #320299.
753
754 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
755         * docs/gst/gstreamer-sections.txt:
756         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
757         (gst_structure_fixate_field_nearest_double),
758         (gst_structure_fixate_field_boolean):
759         * gst/gststructure.h:
760         * win32/common/libgstreamer.def:
761         * win32/gstreamer.def:
762
763         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
764         (#322027)
765
766 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
767
768         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
769         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
770         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
771         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
772         (gst_fdsrc_uri_handler_init):
773         * gst/elements/gstfdsrc.h:
774           Port fd:// URI handler from 0.8 to fdsrc
775
776 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
777
778         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
779         (gst_value_serialize_fourcc):
780         * gst/gstvalue.h:
781           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
782           consistent with our other format defines (#320324).
783
784 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
785
786         * gst/gstvalue.c: (gst_value_is_fixed):
787           Revert previous commit. Value lists are by definition
788           not fixed, as they are a list of possible values.
789
790 2005-11-21  Andy Wingo  <wingo@pobox.com>
791
792         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
793         during the stable series if we need it. Fixes #319178.
794
795         * gst/gstevent.c (gst_event_new_filler): Removed.
796
797         * check/gst/gstevent.c: Update comment about filler events.
798
799 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
800
801         * gst/gstvalue.c: (gst_value_is_fixed):
802           Should handle both value arrays and value lists.
803
804 2005-11-21  Andy Wingo  <wingo@pobox.com>
805
806         patch by: Alessandro Dessina <alessandro nnva org>
807
808         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
809         functions to access arrays. Fixes #321962.
810
811 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
812
813         * docs/gst/gstreamer.types:
814           gst_collectpads_get_type => gst_collect_pads_get_type.
815           
816         * gst/base/gstbasetransform.c:
817           Remove unused SIGNAL_HANDOFF enum.
818
819 2005-11-21  Andy Wingo  <wingo@pobox.com>
820
821         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
822         the event type (upstream, downstream, serialized). Renamed
823         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
824         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
825         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
826
827         * gst/gstevent.c: Update for new CUSTOM event names.
828
829         * check/gst/gstevent.c: Update check for new CUSTOM event names.
830
831         * gst/gstevent.h:
832         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
833         bug #319392.
834
835 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
836
837         * docs/gst/gstreamer-sections.txt:
838         * win32/common/libgstbase.def:
839         * win32/libgstbase.def:
840         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
841         (gst_collect_pads_class_init), (gst_collect_pads_init),
842         (gst_collect_pads_finalize), (gst_collect_pads_new),
843         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
844         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
845         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
846         (gst_collect_pads_start), (gst_collect_pads_stop),
847         (gst_collect_pads_peek), (gst_collect_pads_pop),
848         (gst_collect_pads_available), (gst_collect_pads_read),
849         (gst_collect_pads_flush), (gst_collect_pads_event),
850         (gst_collect_pads_chain):
851         * gst/base/gstcollectpads.h:
852           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
853           unimplemented functions as unimplemented. Add padding to
854           GstCollectData. (#320766, #320423)
855
856 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
857
858         * gst/gstmessage.c:
859           Improve docs for DURATION message (usage of duration parameter)
860           (#320113)
861
862 2005-11-20  Wim Taymans  <wim@fluendo.com>
863
864         * check/Makefile.am:
865         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
866         (main):
867         * gst/Makefile.am:
868         * gst/gst.h:
869         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
870         (gst_segment_set_seek), (gst_segment_set_newsegment),
871         (gst_segment_to_stream_time), (gst_segment_to_running_time),
872         (gst_segment_clip):
873         * gst/gstsegment.h:
874         Added segment helper structure and methods. Not fully implemented
875         yet.
876         Added segment check.
877
878 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
879
880         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
881           Add a deserialisation test for fractions
882         * examples/metadata/read-metadata.c: (message_loop),
883         (make_pipeline), (main):
884           Fix up metadata reading sample.
885         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
886           Debug format fix
887         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
888           Don't try and fixate empty caps
889         * gst/gst_private.h:
890           Wrap in G_BEGIN_DECLS/G_END_DECLS
891         * gst/gstvalue.c: (gst_value_collect_fraction),
892         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
893         (gst_value_transform_string_fraction),
894         (gst_value_compare_fraction):
895           Add some extra guards to ensure that we don't end up 
896           with an invalid denominator of 0 in a gstfraction and
897           that fractions always get reduced.
898
899 2005-11-20  Wim Taymans  <wim@fluendo.com>
900
901         * docs/gst/gstreamer-sections.txt:
902         * gst/gstbuffer.h:
903         * gst/gstelement.c:
904         * gst/gstformat.c:
905         * gst/gstformat.h:
906         * gst/gstindex.h:
907         * gst/gstquery.c:
908         * gst/gstquery.h:
909         * gst/gstvalue.c:
910         Doc fixes.
911
912 2005-11-20  Wim Taymans  <wim@fluendo.com>
913
914         * docs/design/part-TODO.txt:
915         * gst/gstcaps.h:
916         Make a proper enum of the flag.
917
918 2005-11-19  Wim Taymans  <wim@fluendo.com>
919
920         * docs/design/part-TODO.txt:
921         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
922         (gst_format_to_quark), (gst_format_register):
923         * gst/gstformat.h:
924         * gst/gstquery.c: (_gst_query_initialize),
925         (gst_query_type_get_name), (gst_query_type_to_quark),
926         (gst_query_type_register):
927         * gst/gstquery.h:
928         Add type to quark and type to string conversions.
929
930 2005-11-19  Andy Wingo  <wingo@pobox.com>
931
932         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
933         #320097.
934
935 2005-11-19  Wim Taymans  <wim@fluendo.com>
936
937         * docs/design/part-TODO.txt:
938         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
939         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
940         (gst_bin_handle_message_func):
941         * gst/gstbin.h:
942         Make message handling overridable.
943
944 2005-11-19  Andy Wingo  <wingo@pobox.com>
945
946         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
947
948         * gst/gstclock.h:
949         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
950         be a GstClockTime.
951         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
952         is a GstClockTime. Fixes #321710.
953
954         * gst/gstclock.h (GstClock): Remove offset property. Add
955         internal_calibration and external_calibration. Fix padding. Pad
956         also by GstClockTime so we don't run into problems.
957
958         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
959         (gst_clock_get_rate_offset): Remove.
960         (gst_clock_set_time_adjust): Remove. Fixes #321712.
961
962         * gst/gstutils.h:
963         * gst/gstutils.c (g_static_rec_cond_wait)
964         (g_static_rec_cond_timed_wait): Removed, no longer needed.
965
966         * gst/gstbin.c: Remove terrible continue_state prototype.
967
968         * gst/gstelement.h (gst_element_continue_state): Make public.
969
970         * gst/gstelement.h:
971         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
972         by continue_state. Fixes #319389.
973
974         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
975         Really fixes #168438. However I don't see anywhere where the
976         filter function is called... stupid GStreamer...
977         
978         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
979         don't have a dispose function, so it won't get called when the
980         object is unreffed, but oh well!
981
982         * gst/gstindex.c (gst_index_set_filter_full): New API function,
983         allows a destroy function to be set so user_data can be freed.
984         Fixes #168438.
985         (gst_index_set_filter): Call gst_index_set_filter_full.
986
987         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
988
989         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
990         string should produce an error, given the lack of a way to
991         represent NULL strings. Fixes #165650.
992         
993         * gst/gstvalue.h: 
994         * gst/gstvalue.c (gst_value_array_append_value) 
995         (gst_value_array_prepend_value, gst_value_array_get_size) 
996         (gst_value_array_get_value): New API, copied from
997         gst_value_list_*, only operates on arrays.
998         (gst_value_list_append_value, gst_value_list_prepend_value) 
999         (gst_value_list_concat, gst_value_list_get_size) 
1000         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1001
1002         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1003         init_list, because it works on both.
1004         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1005         (gst_value_copy_list_or_array): Renamed from copy_list.
1006         (gst_value_free_list_or_array): Renamed from free_list.
1007         (gst_value_collect_list_or_array): Renamed from collect_list.
1008         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1009         (gst_value_list_or_array_peek_pointer): Renamed from
1010         list_peek_pointer.
1011         (_gst_value_array_value_table, _gst_value_list_value_table):
1012         Update value table functions.
1013         (gst_value_compare_list_or_array): Renamed from compare_list.
1014
1015         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1016         some constness.
1017
1018         * gst/gsttaglist.c:
1019         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1020         GstTagList*. Fixes #143472.
1021
1022         * gst/gststructure.h: Clarify what the foreach/map functions can
1023         or can't do to their arguments.
1024
1025 2005-11-18  Wim Taymans  <wim@fluendo.com>
1026
1027         * gst/gstclock.c: (gst_clock_set_calibration),
1028         (gst_clock_get_calibration):
1029         Doc and API fixes.
1030         Calibration can be set with internal time equal to current
1031         internal time too.
1032
1033 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1034
1035         * gst/gsterror.c:
1036         * gst/gsterror.h:
1037           document
1038
1039 2005-11-18  Andy Wingo  <wingo@pobox.com>
1040
1041         * configure.ac: 
1042         * pkgconfig/gstreamer-net.pc.in:
1043         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1044         * pkgconfig/Makefile.am: Add net pkgconfig files.
1045
1046 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1047
1048         * gst/gstcaps.c:
1049         * gst/gstghostpad.c:
1050         * gst/gsttrace.c:
1051         * gst/gstvalue.c:
1052         * gst/gstvalue.h:
1053           docs fixes
1054
1055 2005-11-18  Andy Wingo  <wingo@pobox.com>
1056
1057         * gst/net/gstnetclientclock.c: Turn off debugging.
1058
1059         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1060         times connverge somewhat. Can't make a real test.
1061
1062         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1063         integer arithmetic. Return the minimum of the domain, which can be
1064         set as "internal" for gst_clock_set_calibration.
1065         (gst_net_client_clock_observe_times): Call _set_calibration.
1066         (gst_net_client_clock_new): Call _set_calibration instead of
1067         rate_offset.
1068
1069         * check/net/gstnetclientclock.c (test_functioning): Use the right
1070         adjustment api.
1071
1072         * gst/gstclock.h:
1073         * gst/gstclock.c (gst_clock_get_calibration) 
1074         (gst_clock_set_calibration): New functions, obsolete the ones I
1075         added yesterday. Doh. Precision issues mean we have to extrapolate
1076         from a point in the more recent past than 1970.
1077         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1078         obsolete.
1079         (gst_clock_adjust_unlocked): Use the right calibration data.
1080
1081 2005-11-18  Edward Hervey  <edward@fluendo.com>
1082
1083         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1084         Also reset the ->current_* values in READY->PAUSED
1085
1086 2005-11-18  Andy Wingo  <wingo@pobox.com>
1087
1088         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1089         Whoops, check the right fd. Also add some debugging.
1090         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1091         (do_linear_regression): Add a crapload of debugging. Subtract off
1092         the minimum values from the input series to discard unneeded bits.
1093         Use only int arithmetic. There is still double arithmetic when
1094         calculating the intercept that needs fixing. Return boolean to
1095         indicate success; FALSE would mean the domain or range is too
1096         great. Still needs fixes.
1097
1098 2005-11-18  Wim Taymans  <wim@fluendo.com>
1099
1100         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1101         For the current position in stream time, we need to subtract
1102         accumulated time.
1103         
1104         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1105         Release lock before calling the callback function of async
1106         entries.
1107
1108 2005-11-18  Andy Wingo  <wingo@pobox.com>
1109
1110         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1111         Port goes all the way to MAXUINT16.
1112
1113         * gst/net/gstnettimeprovider.c: Make the port range the same as
1114         for the kernel: 0 assigns, otherwise ports are less than
1115         MAXUINT16.
1116
1117         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1118         port change.
1119
1120         * check/net/gstnetclientclock.c (test_functioning): Add the start
1121         of another test. 
1122
1123 2005-11-18  Wim Taymans  <wim@fluendo.com>
1124
1125         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1126         (gst_bin_remove_func), (bin_bus_handler):
1127         * gst/gstbin.h:
1128         Removing a clock provider from a bin, triggers a clock lost message
1129         so that a new clock will be selected.
1130         Adding a clock to a bin triggers a clock provider message.
1131         Make sure we reselect a clock when we received a clock lost message.
1132         Keep a reference to the element that provided the clock.
1133
1134 2005-11-18  Andy Wingo  <wingo@pobox.com>
1135
1136         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1137         the clock initially so it produces values around the base time.
1138         (gst_net_client_clock_class_init): Typo fix.
1139         (gst_net_client_clock_thread): Add note on when the socket gets
1140         closed.
1141
1142 2005-11-17  Wim Taymans  <wim@fluendo.com>
1143
1144         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1145         Free remote and local time arrays.
1146
1147 2005-11-17  Wim Taymans  <wim@fluendo.com>
1148
1149         * gst/net/gstnetclientclock.c: (do_linear_regression),
1150         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1151         Fix compilation, uninitialized vars and a forgotten continue.
1152
1153 2005-11-17  Andy Wingo  <wingo@pobox.com>
1154
1155         * check/Makefile.am (check_PROGRAMS): 
1156         * check/net/gstnetclientclock.c: Add a most minimal test for the
1157         net client clock. More to come later.
1158
1159         * gst/net/gstnet.h: 
1160         * gst/net/Makefile.am: Add netclientclock.
1161
1162         * gst/net/gstnetclientclock.h:
1163         * gst/net/gstnetclientclock.c: New files, implement an untested
1164         GstClock that takes its time from a network time provider.
1165         Implements the algorithm in network-clock.scm.
1166
1167         * tests/network-clock.scm (*window-size*): Rename from
1168         *queue-length*.
1169         * tests/network-clock.scm (network-time): 
1170         * tests/network-clock-utils.scm (q-push): Update callers.
1171
1172 2005-11-17  Wim Taymans  <wim@fluendo.com>
1173
1174         * gst/gstbin.c: (gst_bin_provide_clock_func),
1175         (gst_bin_sort_iterator_new):
1176         And unref the child too..
1177
1178 2005-11-17  Wim Taymans  <wim@fluendo.com>
1179
1180         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1181         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1182         Refactor the sort iterator so it can be used while holding the
1183         LOCK too.
1184         Make clock selection select a clock closest to the source.
1185
1186 2005-11-17  Michael Smith <msmith@fluendo.com>
1187
1188         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1189         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1190         * gst/gstclock.h:
1191           Anonymous structs are a gcc (and some other compilers) extension, so
1192           don't use them. Since this is only for ABI-compatibility, and our
1193           API/ABI freeze is over in a few days, this whole thing will only
1194           last a few days, so don't bother trying to think up a meaningful
1195           name for the struct.
1196
1197 2005-11-17  Andy Wingo  <wingo@pobox.com>
1198
1199         * gst/gstclock.h (GstClock): Add rate and offset properties,
1200         preserving ABI stability. Add rate/offset accessors. Will file bug
1201         for the freeze break.
1202
1203         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1204         and offset, trying to keep precision and avoiding
1205         underflow/overflow.
1206         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1207         functions. Make gst_clock_set_time_adjust obsolete.
1208         (gst_clock_set_time_adjust): Note that this function is obsolete.
1209         Will file bug soon.
1210
1211         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1212         greppable by using GST_PADDING-1+1.
1213
1214 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1215
1216         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1217
1218         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1219           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1220
1221         * gst/gstpadtemplate.h:
1222         * gst/gstpluginfeature.h:
1223           Don't use c++ style comments in headers (#321638).
1224
1225 2005-11-16  Andy Wingo  <wingo@pobox.com>
1226
1227         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1228         buffer.
1229
1230         * check/net/gstnettimeprovider.c: Check to see that the time
1231         provider actually provides times. Works, yo!
1232
1233 2005-11-16  Wim Taymans  <wim@fluendo.com>
1234
1235         * check/Makefile.am:
1236         Enable more tests.
1237
1238         * check/elements/fakesrc.c: (GST_START_TEST):
1239         Set element to NULL before disposing it.
1240
1241 2005-11-16  Andy Wingo  <wingo@pobox.com>
1242
1243         * gst/net/Makefile.am:
1244         * gst/net/gstnet.h:
1245         * gst/net/gstnettimeprovider.c: 
1246         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1247         provider, include it from gstnet.h, and add it to the build.
1248
1249         * gst/net/gstnettimepacket.h: 
1250         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1251         sending and receiving.
1252
1253 2005-11-16  Wim Taymans  <wim@fluendo.com>
1254
1255         * check/Makefile.am:
1256         Enable valgrind check.
1257
1258         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1259         (gst_fake_src_alloc_buffer):
1260         Fix memleak.
1261
1262 2005-11-16  Wim Taymans  <wim@fluendo.com>
1263
1264         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1265         Call parent finalize too.
1266
1267 2005-11-16  Wim Taymans  <wim@fluendo.com>
1268
1269         * check/Makefile.am:
1270         Enable valgrind check that should work fine now.
1271
1272         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1273         * gst/gstqueue.c: (gst_queue_init):
1274         Fix memleaks in pad allocation.
1275
1276 2005-11-16  Andy Wingo  <wingo@pobox.com>
1277
1278         * gst/net/Makefile.am:
1279         * gst/net/gstnet.h: New part of core to hold network elements and
1280         objects. Put in core because it exposes API that applications want
1281         to use. The library is named libgstnet-tempname right now because
1282         of the existing libgstnet in gst-plugins-base. Solution is
1283         probably to rename the one in plugins-base; will file a bug for
1284         the freeze break.
1285
1286         * gst/net/gstnettimeprovider.c: 
1287         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1288         get_time call over the network.
1289
1290         * configure.ac: 
1291         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1292
1293         * check/Makefile.am:
1294         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1295         get additions shortly.
1296
1297 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1298
1299         * gst/gstpad.c: (gst_pad_new_from_static_template):
1300         * gst/gstpad.h:
1301           add gst_pad_new_from_static_template functions
1302         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1303         (gst_check_setup_sink_pad):
1304         * gst/elements/gsttee.c: (gst_tee_init):
1305           and use them
1306
1307 2005-11-16  Wim Taymans  <wim@fluendo.com>
1308
1309         * gst/gstpad.c: (gst_pad_pause_task):
1310         Removed warning, it's not really an error either.
1311
1312 2005-11-16  Wim Taymans  <wim@fluendo.com>
1313
1314         * gst/base/gstbasetransform.c:
1315         (gst_base_transform_prepare_output_buf),
1316         (gst_base_transform_event):
1317         Check if the caps are NULL, this can happen if the element
1318         is shutting down and the pad caps are set to NULL.
1319
1320 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1321
1322         * gst/elements/gsttee.c: (gst_tee_init):
1323           fix pad template leak in tee
1324
1325 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1326
1327         * gst/glib-compat.c: (g_value_dup_gst_object):
1328         * gst/glib-compat.h:
1329         * gst/gstpad.c: (gst_pad_set_property):
1330           use gst_object_ref when setting the pad template; this will
1331           trigger the pad template leaks on GLib 2.6 and the slaves
1332
1333 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1334
1335         * gst/glib-compat.c: (gst_flags_get_first_value):
1336         * gst/glib-compat.h:
1337         * gst/gstregistryxml.c:
1338           remove functions copied from GLib 2.6
1339
1340 2005-11-16  Michael Smith <msmith@fluendo.com>
1341
1342         * gst/Makefile.am:
1343           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1344           do, but only breaks with newer valgrind versions. We're not a
1345           valgrind tool, we have no link-time dependencies on libcoregrind.
1346
1347 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1348
1349         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1350           some debug changes
1351         * gst/gstmessage.h:
1352           typo fixes
1353
1354 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1355
1356         * gst/base/gstbasesrc.c: (gst_base_src_init):
1357         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1358         * gst/gstqueue.c: (gst_queue_init):
1359         * gst/gstregistryxml.c: (load_feature):
1360           Revert all these unrefs, they don't even pass make check !
1361
1362 2005-11-15  Johan Dahlin  <johan@gnome.org>
1363
1364         * gst/base/gstbasesrc.c: (gst_base_src_init):
1365         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1366         * gst/gstqueue.c: (gst_queue_init): 
1367         Free pad templates, fixes a couple of leaks.
1368
1369 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1370
1371         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1372
1373         * gst/gstpad.c: (gst_pad_get_property):
1374           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1375           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1376           (#321452)
1377
1378 2005-11-15  Wim Taymans  <wim@fluendo.com>
1379
1380         * gst/gstevent.c:
1381         Small doc update.
1382
1383 2005-11-15  Andy Wingo  <wingo@pobox.com>
1384
1385         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1386
1387         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1388         using GST_CLOCK_TIME_NONE to disable base time management.
1389         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1390         time if it was NONE before.
1391         (gst_pipeline_change_state): Only munge the base time if
1392         stream_time != GST_CLOCK_TIME_NONE.
1393
1394         * check/gst/gstpipeline.c (test_base_time): Punt around the
1395         problem of the probe not being called, because that's not the
1396         issue I'm looking at. Add a check that setting stream_time to NONE
1397         disables base time management.
1398         
1399 2005-11-15  Wim Taymans  <wim@fluendo.com>
1400
1401         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1402         segment_stop == -1 at startup.
1403
1404         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1405         (gst_base_transform_change_state):
1406         Init segment values at start.
1407
1408 2005-11-15  Wim Taymans  <wim@fluendo.com>
1409
1410         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1411         0 segment values are 0 in any format.
1412
1413         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1414         * gst/base/gstbasetransform.h:
1415         Parse newsegment correctly in basetransform
1416
1417         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1418         Sync to clock using updated segment values.
1419
1420 2005-11-15  Andy Wingo  <wingo@pobox.com>
1421
1422         * check/gst/gstpipeline.c (test_base_time): Add check that the
1423         base time and stream time are reset correctly.
1424
1425 2005-11-15  Wim Taymans  <wim@fluendo.com>
1426
1427         * docs/design/part-TODO.txt:
1428         Some more TODO items.
1429
1430 2005-11-15  Andy Wingo  <wingo@pobox.com>
1431
1432         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1433         error if the user selected "no clock" as the clocking method.
1434
1435         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1436         timestamps with live capture.
1437
1438         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1439         is 0 but we are a live source, timestamp the buffers using the
1440         element's clock.
1441
1442 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1443
1444         * docs/gst/gstreamer-sections.txt:
1445         * gst/gsterror.c:
1446         * gst/gstghostpad.c:
1447         * gst/gstobject.h:
1448         * gst/gstxml.c:
1449           more section docs
1450
1451 2005-11-14  Wim Taymans  <wim@fluendo.com>
1452
1453         * common/gst.supp:
1454           add suppressions from Wim's Debian machine
1455
1456 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1457
1458         * common/gst.supp:
1459           add suppressions from Andy's AMD64 Ubuntu machine
1460
1461 2005-11-14  Andy Wingo  <wingo@pobox.com>
1462
1463         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1464         STATE_LOCK not necessary. Fixes #311489.
1465
1466         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1467         #305291.
1468
1469         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1470         this function is not implemented.
1471
1472 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1473
1474         * gst/base/gstbasetransform.c:
1475         (gst_base_transform_prepare_output_buf):
1476         Ref the source pad caps while we need them.
1477         Fixes (#321386)
1478
1479 2005-11-11  Wim Taymans  <wim@fluendo.com>
1480
1481         * docs/gst/gstreamer-sections.txt:
1482         Added some docs for GstCollectData.
1483
1484         * gst/base/gstadapter.c:
1485         Some small code example fix.
1486
1487         * gst/base/gstcollectpads.c:
1488         * gst/base/gstcollectpads.h:
1489         Document some more.
1490
1491 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1492
1493         * configure.ac: back to HEAD
1494
1495 === release 0.9.5 ===
1496
1497 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1498
1499         * configure.ac:
1500           releasing 0.9.5, "Bike Lunch Day"
1501
1502 2005-11-11  Wim Taymans  <wim@fluendo.com>
1503
1504         * gst/gstbuffer.c: (_gst_buffer_copy):
1505         Copy more flags.
1506
1507         * gst/gstcaps.c: (gst_caps_is_equal):
1508         Fix some docs.
1509         Make _is_equal fast in the trivial cases.
1510
1511         * gst/gstminiobject.c:
1512         * gst/gstminiobject.h:
1513         More docs. Spifify .h file.
1514
1515         * gst/gstutils.c:
1516         Small doc update.
1517
1518 2005-11-11  Wim Taymans  <wim@fluendo.com>
1519
1520         * gst/base/gstbasetransform.c:
1521         (gst_base_transform_prepare_output_buf),
1522         (gst_base_transform_handle_buffer):
1523         Small cleanups.
1524         If we're processing a buffer and need to allocate an output
1525         buffer, we cannot accept a format change. If we did get a 
1526         format change, we have to alloc a buffer ourselves of the 
1527         right size.
1528
1529 2005-11-11  Wim Taymans  <wim@fluendo.com>
1530
1531         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1532         While checking the flag for reentrancy in the gstcaps function
1533         is nice to detect recursive invocations, it also makes it 
1534         impossible to call getcaps from multiple threads, which must be
1535         possible. So, checking for recursive calls has to go.
1536
1537 2005-11-11  Michael Smith <msmith@fluendo.com>
1538
1539         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1540           Don't sync on buffers that fall partially outside our current
1541           segment. Prevents an assertion failure/abort playing some files.
1542
1543 2005-11-10  Andy Wingo  <wingo@pobox.com>
1544
1545         * check/gst/gstbin.c (test_message_state_changed_children): Style
1546         fix..
1547
1548         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1549         gst_bus_poll with the signal watch. Ensures that poll and a signal
1550         watch see the same messages.
1551
1552         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1553         a poll and a watch at the same time get the same messages.
1554
1555 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1556
1557         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1558         * gst/gstcaps.c: (gst_caps_intersect):
1559           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1560           and it's not needed.
1561
1562 2005-11-10  Wim Taymans  <wim@fluendo.com>
1563
1564         * docs/design/part-TODO.txt:
1565         Updated todo.
1566
1567 2005-11-10  Wim Taymans  <wim@fluendo.com>
1568
1569         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1570         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1571         (gst_base_src_do_sync), (gst_base_src_get_range):
1572         Implement clock sync in base class.
1573
1574 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1575
1576         patch by: Tim-Philipp Müller <tim at centricular dot net>
1577
1578         * gst/gststructure.c: (gst_structure_parse_field),
1579         (gst_structure_from_string):
1580           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1581           so that gst_parse_launch() can deal with spaces in filtered link
1582           caps (fixes #164479)
1583         * check/gst/capslist.h:
1584         * check/gst/gststructure.c: (GST_START_TEST):
1585           add unit tests for this change
1586
1587 2005-11-10  Wim Taymans  <wim@fluendo.com>
1588
1589         * docs/gst/gstreamer-sections.txt:
1590         * gst/gstelement.c:
1591         * gst/gstelement.h:
1592         Fix docs, move some STATE macros to private.
1593
1594 2005-11-10  Wim Taymans  <wim@fluendo.com>
1595
1596         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1597         Added check for bug #317341
1598
1599         * gst/gstbuffer.c:
1600         * gst/gstbuffer.h:
1601         Some more spiffifying.
1602
1603         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1604         Call peer linkfunction if we are a source pad. Totally fixes
1605         #317341
1606
1607         * gst/gstpad.c:
1608         Update docs, source pads should call the peer linkfunction
1609         so they can atomically perform the pad link.
1610
1611 2005-11-09  Wim Taymans  <wim@fluendo.com>
1612
1613         * gst/gstbuffer.c:
1614         * gst/gstbuffer.h:
1615         Uber-spiffy-spiffify some more.
1616
1617 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1618
1619         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1620         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1621         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1622         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1623         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1624         * gst/gstpad.c: (gst_pad_init):
1625           Use GST_DEBUG_FUNCPTR() more extensively.
1626
1627 2005-11-09  Wim Taymans  <wim@fluendo.com>
1628
1629         * gst/gstobject.c: (gst_object_class_init):
1630         * gst/gstobject.h:
1631         Documentation fixes.
1632
1633 2005-11-09  Edward Hervey  <edward@fluendo.com>
1634
1635         * gst/gsttypefindfactory.c:
1636         Fix docs.
1637         
1638 2005-11-09  Edward Hervey  <edward@fluendo.com>
1639
1640         * gst/base/gsttypefindhelper.c:
1641         * gst/gsttypefind.c:
1642         * gst/gsttypefind.h:
1643         Fix docs.
1644
1645 2005-11-09  Wim Taymans  <wim@fluendo.com>
1646
1647         * gst/gstiterator.c:
1648         Fix revision data.
1649
1650         * gst/gsttask.c:
1651         * gst/gsttask.h:
1652         Fix docs.
1653
1654 2005-11-09  Wim Taymans  <wim@fluendo.com>
1655
1656         * gst/gstevent.h:
1657         * gst/gsturi.h:
1658         Fix docs.
1659
1660 2005-11-09  Wim Taymans  <wim@fluendo.com>
1661
1662         * docs/gst/gstreamer-sections.txt:
1663         Moved the message async delivery private lock and cond
1664         to the private section.
1665
1666         * gst/gstmessage.c:
1667         * gst/gstmessage.h:
1668         Fixed docs.
1669
1670 2005-11-09  Edward Hervey  <edward@fluendo.com>
1671
1672         * docs/gst/gstreamer-sections.txt:
1673         * gst/gsturi.c:
1674         * gst/gsturi.h:
1675         Document GstURIHandler
1676
1677 2005-11-09  Wim Taymans  <wim@fluendo.com>
1678
1679         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1680         (gst_iterator_find_custom):
1681         * gst/gstiterator.h:
1682         Fix iterator docs.
1683
1684 2005-11-09  Wim Taymans  <wim@fluendo.com>
1685
1686         * gst/gstbin.h:
1687         Document another field.
1688
1689         * gst/gststructure.c:
1690         * gst/gststructure.h:
1691         Document.
1692
1693 2005-11-09  Wim Taymans  <wim@fluendo.com>
1694
1695         * gst/gstbin.h:
1696         Documented structs.
1697
1698 2005-11-09  Wim Taymans  <wim@fluendo.com>
1699
1700         * docs/gst/gstreamer-sections.txt:
1701         Added some new macros.
1702
1703         * gst/gstclock.c:
1704         * gst/gstclock.h:
1705         * gst/gstobject.h:
1706         Docs updates.
1707
1708 2005-11-09  Wim Taymans  <wim@fluendo.com>
1709
1710         * docs/design/part-TODO.txt:
1711         Some more items for the TODO
1712
1713         * gst/gstcaps.c:
1714         * gst/gstcaps.h:
1715         Document GstCaps.
1716
1717 2005-11-09  Andy Wingo  <wingo@pobox.com>
1718
1719         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1720         to work on something else now tho...
1721
1722         * gst/base/gstadapter.c: More adapter docs.
1723
1724         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1725         (gst_file_sink_stop): New functions, replace the state change
1726         handler.
1727         (gst_file_sink_class_init): Hook up the start and stop functions.
1728         (gst_file_sink_base_init): Don't set the state change handler any
1729         more. It was a bit ugly too, being set from here...
1730         (gst_file_sink_get_property, gst_file_sink_set_property):
1731         Cleanups...
1732         (gst_file_sink_set_location): More robust check that doesn't call
1733         GST_STATE. Ugggggg.
1734
1735 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1736
1737         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1738           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1739
1740 2005-11-08  Wim Taymans  <wim@fluendo.com>
1741
1742         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1743         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1744         (gst_base_sink_chain), (gst_base_sink_change_state):
1745         * gst/base/gstbasesink.h:
1746         * gst/base/gstbasesrc.h:
1747         * gst/gstelement.h:
1748         * gst/gstevent.h:
1749         Avoid excessive typechecking in macros.
1750
1751         * gst/gstminiobject.c: (gst_mini_object_get_type),
1752         (gst_mini_object_init), (gst_mini_object_new),
1753         (gst_mini_object_free):
1754         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1755         (gst_object_finalize):
1756         Remove cruft code, optimize alloc_trace.
1757
1758 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1759
1760         * docs/faq/gst-uninstalled:
1761           fix up PS1 for systems that try to reset it
1762
1763 2005-11-07  Wim Taymans  <wim@fluendo.com>
1764
1765         * gst/base/gstbasesrc.c: (gst_base_src_init),
1766         (gst_base_src_get_range):
1767         Set the segment_end to -1 initially. Fixed typefind.
1768
1769 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1770
1771         * gst/base/gstadapter.c:
1772           Debug category should be 'adapter', not 'GstAdapter'.
1773           
1774         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1775         (gst_collectpads_class_init), (gst_collectpads_init),
1776         (gst_collectpads_peek), (gst_collectpads_pop),
1777         (gst_collectpads_event), (gst_collectpads_chain):
1778           Add debug category and some debugging output. Use boilerplate
1779           macros. Remove some extraneous words from docs.
1780
1781 2005-11-05  Andy Wingo  <wingo@pobox.com>
1782
1783         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1784         macro.
1785
1786 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1787
1788         * docs/gst/gstreamer-sections.txt:
1789         * gst/gstcaps.h:
1790         * gst/gstinfo.c:
1791         * gst/gstminiobject.h:
1792         * gst/gstobject.h:
1793         * gst/gstutils.h:
1794           more docs added
1795
1796 2005-11-04  Wim Taymans  <wim@fluendo.com>
1797
1798         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1799         Small update to stop at the configured segment_end
1800         position.
1801
1802 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1803
1804         * gst/gstregistry.c:
1805         * gst/gstregistry.h:
1806           added missing docs
1807
1808 2005-11-04  Edward Hervey  <edward@fluendo.com>
1809
1810         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1811         Check if we are doing a segment seek and have arrived at the
1812         end of that segment.
1813
1814 2005-11-04  Wim Taymans  <wim@fluendo.com>
1815
1816         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1817         Don't leak a mutex unlock in case of an error.
1818
1819         * gst/gstbus.h:
1820         Doc fixes.
1821
1822 2005-11-04  Wim Taymans  <wim@fluendo.com>
1823
1824         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1825         (gst_bus_post):
1826         Get the context to wake up only once.
1827
1828 2005-11-03  Wim Taymans  <wim@fluendo.com>
1829
1830         * check/states/sinks.c: (GST_START_TEST):
1831         Uncomment fixed check.
1832
1833         * docs/design/part-TODO.txt:
1834         Updated TODO.
1835
1836         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1837         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1838         (gst_base_sink_get_position):
1839         If we are going to PLAYING, post the right pending state
1840         when we post the intermediate paused message.
1841
1842         * gst/gstelement.c: (gst_element_continue_state),
1843         (gst_element_set_state_func), (gst_element_change_state):
1844         Don't post state changes that were between the same state
1845         and were not ASYNC.
1846
1847 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1848
1849         * docs/gst/gstreamer-sections.txt:
1850         * gst/gstcaps.h:
1851         * gst/gstinfo.c:
1852         * gst/gstminiobject.h:
1853         * gst/gstobject.h:
1854         * gst/gstutils.h:
1855           more docs and doc style fixes
1856
1857 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1858
1859         * docs/gst/gstreamer-sections.txt:
1860         * gst/gstelement.c:
1861         * gst/gstminiobject.c:
1862         doc fixes
1863
1864 2005-11-03  Andy Wingo  <wingo@pobox.com>
1865
1866         * check/states/sinks.c (test_livesrc_sink): Add checks that the
1867         state-changed messages actually have the right order and the right
1868         values.
1869
1870 2005-11-03  Wim Taymans  <wim@fluendo.com>
1871
1872         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1873         Added some more checks. Specifically the case where NO_PREROLL
1874         elements are in the pipeline.
1875
1876         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1877         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1878         (gst_base_sink_get_position):
1879         Post READY->PAUSED state change messages too.
1880         Fix bug where VOID was posted as pending state...
1881
1882         * gst/gstbin.c: (gst_bin_recalc_state):
1883         use _element_continue_state() to continue the state change.
1884
1885         * gst/gstelement.c: (gst_element_continue_state),
1886         (gst_element_commit_state), (gst_element_set_state_func),
1887         (gst_element_change_state), (gst_element_change_state_func):
1888         Lots of state change cleanups, assign the STATE_RETURN in
1889         a new continue_state() function that also propagates the
1890         last return value from a state change to the app.
1891         Update some debug statements with proper category.
1892
1893 2005-11-03  Wim Taymans  <wim@fluendo.com>
1894
1895         * docs/design/part-events.txt:
1896         * docs/design/part-gstpipeline.txt:
1897         * docs/design/part-messages.txt:
1898         * docs/design/part-overview.txt:
1899         * docs/design/part-seeking.txt:
1900         * docs/design/part-states.txt:
1901         * docs/design/part-trickmodes.txt:
1902         * docs/manual/advanced-position.xml:
1903         Small docs updates.
1904
1905         * gst/gstobject.h:
1906         People think !! is ugly, this looks better.
1907
1908         * gst/gstpad.c: (gst_pad_set_blocked_async):
1909         Remove !! since it's fixed elsewhere now.
1910
1911 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1912
1913         * gst/gstminiobject.h:
1914         * gst/gstobject.h:
1915           Add !! to _FLAG_IS_SET macros to make the result boolean.
1916
1917 2005-11-03  Edward Hervey  <edward@fluendo.com>
1918
1919         * gst/gstpad.c: (gst_pad_set_blocked_async):
1920         comparing a flag and a gboolean rarely returns coherent results...
1921         Added two characters (!!) to make that work correctly.
1922         
1923 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1924
1925         * gst/gstbus.c: (gst_bus_class_init):
1926           Fix some typos.
1927           
1928         * gst/gstqueue.c: (gst_queue_loop):
1929           Don't assume a miniobject that isn't a buffer is an
1930           event (it could be that there is a refcounting
1931           problem somewhere and the pointer is stale and
1932           refers to an already destroyed miniobject).
1933
1934 2005-11-03  Julien MOUTTE  <julien@moutte.net>
1935
1936         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
1937
1938 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1939
1940         * docs/manual/advanced-position.xml:
1941           Update seek example and explanations to current 0.9 API.
1942
1943         * gst/elements/gsttypefindelement.c:
1944         (gst_type_find_element_activate):
1945           Remove FIXME comment now that the found caps
1946           are unreffed.
1947
1948 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1949
1950         * gst/gstregistryxml.c: (load_feature):
1951           Add another GST_STR_NULL instance
1952
1953 2005-11-02  Edward Hervey  <edward@fluendo.com>
1954
1955         * gst/gstpad.c: (handle_pad_block):
1956         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
1957         
1958 2005-11-02  Wim Taymans  <wim@fluendo.com>
1959
1960         * gst/gstbin.c:
1961         Fix typo in docs.
1962
1963         * gst/gstelement.c: (gst_element_commit_state):
1964         Remove unused value.
1965
1966         * gst/gstiterator.c:
1967         Mention that the returned element is reffed in the docs.
1968
1969 2005-11-02  Wim Taymans  <wim@fluendo.com>
1970
1971         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
1972         (gst_pad_push), (gst_pad_push_event):
1973         Unlock blocked pads when they are flushed.
1974
1975 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1976
1977         * docs/README:
1978         * docs/gst/gstreamer-sections.txt:
1979         * gst/gstbin.c:
1980           doc updates
1981         * gst/gstregistry.c: (gst_registry_scan_path_level):
1982           fix for a nasty little missed situation where an installed plug-in
1983           which was in the cache did not get overridden by an uninstalled one
1984           which was earlier in the plugin path because the newly created plugin
1985           for the uninstalled one (not in the registry) didn't get its
1986           ->registered set to TRUE
1987
1988 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1989
1990         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
1991         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
1992         (gst_collectpads_is_active), (gst_collectpads_collect),
1993         (gst_collectpads_collect_range), (gst_collectpads_start),
1994         (gst_collectpads_stop), (gst_collectpads_peek),
1995         (gst_collectpads_pop), (gst_collectpads_available),
1996         (gst_collectpads_read), (gst_collectpads_flush):
1997           Guard public API with assertions.
1998         
1999         * gst/gstpad.c:
2000           Fix docs for gst_pad_set_link_function().
2001
2002 2005-11-02  Johan Dahlin  <johan@gnome.org>
2003
2004         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2005         Unref found_caps after we used it.
2006
2007 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2008
2009         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2010           Don't try to ref NULL.
2011
2012 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2013
2014         * win32/common/config.h.in:
2015           provide a GST_FUNCTION that just gives a string for now
2016
2017 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2018
2019         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2020         (gst_object_flags_get_type), (register_gst_bin_flags),
2021         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2022         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2023         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2024         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2025         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2026         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2027         (gst_clock_flags_get_type), (register_gst_state),
2028         (gst_state_get_type), (register_gst_state_change_return),
2029         (gst_state_change_return_get_type), (register_gst_state_change),
2030         (gst_state_change_get_type), (register_gst_element_flags),
2031         (gst_element_flags_get_type), (register_gst_core_error),
2032         (gst_core_error_get_type), (register_gst_library_error),
2033         (gst_library_error_get_type), (register_gst_resource_error),
2034         (gst_resource_error_get_type), (register_gst_stream_error),
2035         (gst_stream_error_get_type), (register_gst_event_type),
2036         (gst_event_type_get_type), (register_gst_seek_type),
2037         (gst_seek_type_get_type), (register_gst_seek_flags),
2038         (gst_seek_flags_get_type), (register_gst_format),
2039         (gst_format_get_type), (register_gst_index_certainty),
2040         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2041         (gst_index_entry_type_get_type),
2042         (register_gst_index_lookup_method),
2043         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2044         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2045         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2046         (gst_index_flags_get_type), (register_gst_debug_level),
2047         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2048         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2049         (gst_iterator_result_get_type), (register_gst_iterator_item),
2050         (gst_iterator_item_get_type), (register_gst_message_type),
2051         (gst_message_type_get_type), (register_gst_mini_object_flags),
2052         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2053         (gst_pad_link_return_get_type), (register_gst_flow_return),
2054         (gst_flow_return_get_type), (register_gst_activate_mode),
2055         (gst_activate_mode_get_type), (register_gst_pad_direction),
2056         (gst_pad_direction_get_type), (register_gst_pad_flags),
2057         (gst_pad_flags_get_type), (register_gst_pad_presence),
2058         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2059         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2060         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2061         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2062         (gst_plugin_flags_get_type), (register_gst_rank),
2063         (gst_rank_get_type), (register_gst_query_type),
2064         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2065         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2066         (gst_tag_flag_get_type), (register_gst_task_state),
2067         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2068         (gst_alloc_trace_flags_get_type),
2069         (register_gst_type_find_probability),
2070         (gst_type_find_probability_get_type), (register_gst_uri_type),
2071         (gst_uri_type_get_type), (register_gst_parse_error),
2072         (gst_parse_error_get_type):
2073         * win32/common/gstversion.h:
2074           update win32 copies
2075
2076 2005-11-01  Luca Ognibene  <luogni@tin.it>
2077
2078         * gst/gst.c:
2079           fix docs. popt is dead, long live GOption.
2080
2081 2005-10-31  Wim Taymans  <wim@fluendo.com>
2082
2083         * gst/gstbuffer.h:
2084         Small doc fix.
2085
2086 2005-10-31  Andy Wingo  <wingo@pobox.com>
2087
2088         * Boo!
2089
2090         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2091
2092         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2093         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2094         the possibility of deadlocks here if code calling notify() or
2095         set() has a lock that can be taken in another notify handler (ABBA
2096         with class lock and e.g. python GIL state lock).
2097
2098 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2099
2100         * gst/gstbus.c: Doc updates.
2101
2102 2005-10-28  Wim Taymans  <wim@fluendo.com>
2103
2104         * docs/design/part-TODO.txt:
2105         * gst/gstiterator.c:
2106         * gst/gstsystemclock.c:
2107         * gst/gstsystemclock.h:
2108         Doc updates.
2109
2110 2005-10-28  Edward Hervey  <edward@fluendo.com>
2111
2112         * docs/gst/gstreamer-docs.sgml:
2113         * docs/gst/gstreamer-sections.txt:
2114         the GstURIType documentation page is private, it only defines GstURIType
2115         which should be defined in the GstURIHandler page
2116         
2117 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2118
2119         * gst/gstbin.c: (gst_bin_class_init):
2120         * gst/gstbin.h:
2121         * gst/gstutils.c:
2122         Documentation updates.
2123
2124 2005-10-28  Wim Taymans  <wim@fluendo.com>
2125
2126         * docs/gst/gstreamer-sections.txt:
2127         * gst/gstclock.c:
2128         * gst/gstclock.h:
2129         Documented the clocks.
2130
2131 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2132
2133         * docs/gst/gstreamer-sections.txt:
2134           move some macros to private sections
2135         * gst/gstminiobject.c:
2136         * gst/gstminiobject.h:
2137           add descriptions provided by ds and some more
2138         * gst/gstpad.h:
2139           mark macro as to be removed
2140
2141 2005-10-28  Wim Taymans  <wim@fluendo.com>
2142
2143         * docs/design/part-TODO.txt:
2144         Add an item to TODO.
2145
2146         * gst/gstiterator.c: (gst_iterator_fold),
2147         (gst_iterator_find_custom):
2148         * gst/gstiterator.h:
2149         Add iterator docs.
2150
2151 2005-10-28  Wim Taymans  <wim@fluendo.com>
2152
2153         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2154         (gst_base_transform_init):
2155         Don't leak class.
2156
2157         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2158         An EOS event marks the queue as completely filled.
2159
2160 2005-10-27  Wim Taymans  <wim@fluendo.com>
2161
2162         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2163         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2164         Some more debugging.
2165
2166         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2167         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2168         (gst_base_transform_event), (gst_base_transform_getrange),
2169         (gst_base_transform_chain):
2170         * gst/base/gstbasetransform.h:
2171         Fix debugging,
2172         Protect transform and concurrent buffer alloc with a new lock.
2173         Try not to break ABI/API.
2174
2175 2005-10-27  Wim Taymans  <wim@fluendo.com>
2176
2177         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2178         (gst_base_src_init), (gst_base_src_query),
2179         (gst_base_src_default_newsegment),
2180         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2181         (gst_base_src_send_event), (gst_base_src_event_handler),
2182         (gst_base_src_pad_get_range), (gst_base_src_loop),
2183         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2184         (gst_base_src_start), (gst_base_src_deactivate),
2185         (gst_base_src_activate_push), (gst_base_src_change_state):
2186         Move some stuff around and cleanup things.
2187
2188 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2189
2190         * gst/base/gstbasesrc.c: (gst_base_src_query):
2191           Add missing break statements.
2192
2193 2005-10-27  Wim Taymans  <wim@fluendo.com>
2194
2195         * check/gst/gstbin.c: (GST_START_TEST):
2196         An extra refcount is taken in basesrc.
2197
2198         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2199         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2200         (gst_base_src_loop):
2201         Small cleanups, check for flushing after being unlocked from the 
2202         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2203         Don't send out EOS when going to READY.
2204
2205 2005-10-27  Wim Taymans  <wim@fluendo.com>
2206
2207         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2208         (gst_base_sink_get_position):
2209         Some more debug.
2210
2211         * gst/gstbin.c: (message_check), (bin_replace_message),
2212         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2213         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2214         (bin_query_duration_init), (bin_query_duration_fold),
2215         (bin_query_duration_done), (bin_query_generic_fold),
2216         (gst_bin_query):
2217         * tools/gst-launch.c: (main):
2218         Remove old option.
2219
2220 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2221
2222         * examples/controller/audio-example.c: (main):
2223         * examples/queue/queue.c: (event_loop):
2224         * gst/base/gstbasetransform.h:
2225         * gst/gstelement.c: (gst_element_send_event):
2226         * gst/gstevent.h:
2227         * gst/gstpad.c: (gst_pad_send_event):
2228           fixing examples
2229           fixing docs typos
2230           changing log priority in error situations
2231
2232 2005-10-25  Wim Taymans  <wim@fluendo.com>
2233
2234         * gst/gstbin.c: (message_check), (bin_replace_message),
2235         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2236         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2237         (bin_query_duration_init), (bin_query_duration_fold),
2238         (bin_query_duration_done), (bin_query_generic_fold),
2239         (gst_bin_query):
2240         Some doc and debug updates.
2241         Cache previously requested query DURATION for speed. invalidate
2242         cached duration if element posts a DURATION message.
2243
2244 2005-10-25  Wim Taymans  <wim@fluendo.com>
2245
2246         * docs/design/part-TODO.txt:
2247         Update TODO.
2248
2249         * gst/gstbin.c: (message_check), (bin_replace_message),
2250         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2251         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2252         (bin_query_duration_init), (bin_query_duration_fold),
2253         (bin_query_duration_done), (bin_query_generic_fold),
2254         (gst_bin_query):
2255         Handle SEGMENT_START/DONE messages correctly.
2256         More evolved query algorithm that handles duration queries
2257         correctly.
2258
2259         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2260         (gst_element_get_state_func), (gst_element_abort_state),
2261         (gst_element_commit_state), (gst_element_lost_state):
2262         Some more debugging.
2263
2264         * gst/gstmessage.h:
2265         Added doc.
2266
2267 2005-10-25  Wim Taymans  <wim@fluendo.com>
2268
2269         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2270         Don't use invalid stream_time.
2271
2272         * gst/gstevent.c: (gst_event_new_newsegment):
2273         stream_time in newsegment cannot be undefined.
2274
2275 2005-10-24  Wim Taymans  <wim@fluendo.com>
2276
2277         * gst/gstbus.c:
2278         Doc fix.
2279
2280         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2281         (gst_queue_loop):
2282         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2283
2284 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2285
2286         * docs/libs/tmpl/gstdparam.sgml:
2287         * docs/libs/tmpl/gstdplinint.sgml:
2288         * docs/libs/tmpl/gstdpman.sgml:
2289         * docs/libs/tmpl/gstdpsmooth.sgml:
2290         * docs/libs/tmpl/gstunitconvert.sgml:
2291           these are obsolete
2292
2293 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2294
2295         * configure.ac:
2296           back to HEAD
2297
2298 === release 0.9.4 ===
2299
2300 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2301
2302         * configure.ac:
2303           releasing 0.9.4, "Tyrannosaurus Rex"
2304
2305 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2306
2307         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2308         (gst_file_sink_get_current_offset):
2309           Use fseeko() and ftello() if available. When falling back on
2310           lseek() to get the current offset, fflush() first to make sure
2311           everything is up-to-date and we get the right offset.
2312
2313 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2314
2315         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2316         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2317         * gst/gsterror.c: (_gst_stream_errors_init):
2318         * gst/gsterror.h:
2319         * gst/gstqueue.c: (gst_queue_loop):
2320         * po/POTFILES.in:
2321           remove prematurely added error category and clean up the instances
2322
2323 2005-10-21  Wim Taymans  <wim@fluendo.com>
2324
2325         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2326         (gst_base_sink_get_position), (gst_base_sink_query),
2327         (gst_base_sink_change_state):
2328         Simply set the right flag when going to playing, that's all
2329         we need to do instead of calling a function inside the object
2330         lock (that could take the lock as well and deadlock)
2331
2332 2005-10-21  Wim Taymans  <wim@fluendo.com>
2333
2334         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2335         (gst_base_src_loop):
2336         Don't warn, the peer element knows what to do best when
2337         the seek failed, it might try something else.
2338
2339 2005-10-21  Wim Taymans  <wim@fluendo.com>
2340
2341         * gst/base/gstbasesrc.c: (gst_base_src_init),
2342         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2343         Fix seeking.
2344
2345 2005-10-21  Wim Taymans  <wim@fluendo.com>
2346
2347         * docs/design/part-segments.txt:
2348         More docs.
2349
2350         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2351         Correctly set caps, even on the subbufer.
2352
2353 2005-10-21  Wim Taymans  <wim@fluendo.com>
2354
2355         * docs/gst/gstreamer-docs.sgml:
2356         * docs/gst/gstreamer-sections.txt:
2357         * gst/gstelement.h:
2358         * gst/gstevent.c:
2359         * gst/gstevent.h:
2360         * gst/gstmessage.h:
2361         * gst/gstpad.h:
2362         * gst/gstparse.h:
2363         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2364         * gst/gsttask.h:
2365         * gst/gstutils.c:
2366         * gst/gstutils.h:
2367         And 2% more doc coverage.
2368
2369 2005-10-21  Andy Wingo  <wingo@pobox.com>
2370
2371         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2372         position reporting.
2373
2374 2005-10-20  Wim Taymans  <wim@fluendo.com>
2375
2376         * gst/gsterror.c: (gst_error_get_message):
2377         * gst/gstparse.h:
2378         * gst/gstquery.h:
2379         * gst/gststructure.c:
2380         * gst/gsttrace.c:
2381         * gst/gstutils.c:
2382         More docs.
2383
2384 2005-10-20  Wim Taymans  <wim@fluendo.com>
2385
2386         * gst/gstbuffer.h:
2387         * gst/gstpad.c:
2388         * gst/gstparse.c:
2389         Another 1% more coverage.
2390
2391 2005-10-20  Wim Taymans  <wim@fluendo.com>
2392
2393         * docs/gst/gstreamer-sections.txt:
2394         * gst/gstelement.c: (gst_element_get_state_func),
2395         (gst_element_abort_state), (gst_element_commit_state),
2396         (gst_element_lost_state):
2397         * gst/gstevent.h:
2398         * gst/gstquery.c: (gst_query_set_position),
2399         (gst_query_parse_position), (gst_query_set_duration),
2400         (gst_query_parse_duration), (gst_query_new_convert):
2401         * gst/gstutils.c:
2402         Yay! 1% more docs coverage.
2403
2404 2005-10-20  Wim Taymans  <wim@fluendo.com>
2405
2406         * gst/gstpad.h:
2407         * gst/gstquery.c: (gst_query_set_position),
2408         (gst_query_parse_position), (gst_query_set_duration),
2409         (gst_query_parse_duration), (gst_query_new_convert):
2410         * gst/gstquery.h:
2411         * gst/gstutils.c: (gst_element_query_convert):
2412         * gst/gstutils.h:
2413         Docs and consistency fixes.
2414
2415 2005-10-20  Wim Taymans  <wim@fluendo.com>
2416
2417         * gst/gsttask.c:
2418         * gst/gsttask.h:
2419         More docs.
2420
2421 2005-10-20  Wim Taymans  <wim@fluendo.com>
2422
2423         * gst/gstbin.c: (message_check), (bin_replace_message),
2424         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2425         (update_degree), (gst_bin_sort_iterator_next),
2426         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2427         Reworked the message handling a bit, cache the messages instead of
2428         only the senders. alows us to do more in the future.
2429
2430 2005-10-20  Wim Taymans  <wim@fluendo.com>
2431
2432         * docs/design/part-TODO.txt:
2433         Update TODO
2434
2435         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2436         (gst_base_sink_query):
2437         Don't use clock time to report position when in EOS.
2438
2439 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2440
2441         * tools/gst-inspect.c: (print_interfaces),
2442         (print_element_properties_info), (print_element_info):
2443           Fix interface output with gst-inspect -a; don't print
2444           newlines after double/float properties.
2445
2446 2005-10-20  Wim Taymans  <wim@fluendo.com>
2447
2448         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2449         (gst_base_sink_query):
2450         Speed up current position calculation.
2451
2452         * gst/base/gstbasesrc.c: (gst_base_src_query),
2453         (gst_base_src_default_newsegment):
2454         Correctly set stream position in newsegment.
2455
2456         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2457         (update_degree), (gst_bin_sort_iterator_next),
2458         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2459         * gst/gstmessage.c: (gst_message_new_custom):
2460         Clean up debugging info
2461
2462         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2463         (gst_queue_loop), (gst_queue_handle_src_query):
2464         Pause task faster.
2465
2466 2005-10-19  Wim Taymans  <wim@fluendo.com>
2467
2468         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2469         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2470         Fix query handling again.
2471
2472 2005-10-19  Wim Taymans  <wim@fluendo.com>
2473
2474         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2475         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2476         * gst/base/gstbasesrc.c: (gst_base_src_query):
2477         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2478         * gst/elements/gsttypefindelement.c:
2479         (gst_type_find_handle_src_query), (find_element_get_length),
2480         (gst_type_find_element_activate):
2481         API change fix.
2482
2483         * gst/gstquery.c: (gst_query_new_position),
2484         (gst_query_set_position), (gst_query_parse_position),
2485         (gst_query_new_duration), (gst_query_set_duration),
2486         (gst_query_parse_duration), (gst_query_set_segment),
2487         (gst_query_parse_segment):
2488         * gst/gstquery.h:
2489         Bundling query position/duration is not a good idea since duration
2490         does not change much and we don't want to recalculate it for every
2491         position query, so they are separated again..
2492         Base value in segment query is not needed.
2493
2494         * gst/gstqueue.c: (gst_queue_handle_src_query):
2495         * gst/gstutils.c: (gst_element_query_position),
2496         (gst_element_query_duration), (gst_pad_query_position),
2497         (gst_pad_query_duration):
2498         * gst/gstutils.h:
2499         Updates for query API change.
2500         Added some docs here and there.
2501
2502 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2503
2504         * check/gst/gstbin.c: (GST_START_TEST):
2505         * check/gst/gstghostpad.c: (GST_START_TEST):
2506         * check/pipelines/cleanup.c: (GST_START_TEST):
2507           wait on thread to die so we can check refcount correctly
2508
2509 2005-10-18  Wim Taymans  <wim@fluendo.com>
2510
2511         * check/pipelines/stress.c: (GST_START_TEST):
2512         Make check a little more time consuming.
2513
2514 2005-10-18  Wim Taymans  <wim@fluendo.com>
2515
2516         * check/Makefile.am:
2517         * check/pipelines/stress.c: (GST_START_TEST),
2518         (simple_launch_lines_suite), (main):
2519         Small state change torture test.
2520
2521         * docs/design/part-states.txt:
2522         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2523         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2524         (gst_base_sink_change_state):
2525         Never take state lock from streaming thread, clean up ugly
2526         hacks. Unfortunatly core does not yet support nice ways to
2527         async commit state.
2528         
2529         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2530         (bin_bus_handler):
2531         Start state recalc if a STATE_DIRTY message is posted, but only
2532         on the toplevel bin.
2533
2534         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2535         (gst_element_get_state_func), (gst_element_abort_state),
2536         (gst_element_commit_state), (gst_element_lost_state),
2537         (gst_element_set_state_func), (gst_element_change_state):
2538         * gst/gstelement.h:
2539         State variables are now protected with the LOCK, the state
2540         lock is only used to serialize _set_state().
2541
2542 2005-10-18  Wim Taymans  <wim@fluendo.com>
2543
2544         * check/gst/gstbin.c: (GST_START_TEST):
2545         * check/gst/gstmessage.c: (GST_START_TEST):
2546         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2547         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2548         (bin_bus_handler):
2549         * gst/gstelement.c: (gst_element_abort_state),
2550         (gst_element_commit_state), (gst_element_lost_state):
2551         * gst/gstmessage.c: (gst_message_new_state_changed),
2552         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2553         (gst_message_new_segment_done), (gst_message_new_duration),
2554         (gst_message_parse_state_changed),
2555         (gst_message_parse_segment_start),
2556         (gst_message_parse_segment_done), (gst_message_parse_duration):
2557         * gst/gstmessage.h:
2558         * tools/gst-launch.c: (event_loop):
2559         Seriously, this is better than a previous commit as we only need
2560         to notify the fact that an element changed state in a streaming
2561         thread, marking the state of the parents dirty, hence the 
2562         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2563         message.
2564
2565 2005-10-18  Wim Taymans  <wim@fluendo.com>
2566
2567         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2568         (gst_bin_recalc_func):
2569         * gst/gstelement.c: (gst_element_set_clock),
2570         (gst_element_abort_state), (gst_element_lost_state):
2571         Cleanups, prepare for state change fixes.
2572
2573 2005-10-18  Wim Taymans  <wim@fluendo.com>
2574
2575         * gst/gstbin.h:
2576         * gst/gstelement.c: (gst_element_class_init),
2577         (gst_element_set_state), (gst_element_set_state_func):
2578         * gst/gstelement.h:
2579         Pending ABI changes.
2580         GThreadPool in GstBinClass to monitor async state changes.
2581         state_cookie in GstElement to detect concurrent gst/set state.
2582         set_state is now virtual too in case a very complicated element
2583         has to be constructed.
2584
2585 2005-10-18  Wim Taymans  <wim@fluendo.com>
2586
2587         * check/gst/gstbin.c: (GST_START_TEST):
2588         * check/gst/gstmessage.c: (GST_START_TEST):
2589         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2590         * gst/gstbin.c: (bin_bus_handler):
2591         * gst/gstelement.c: (gst_element_commit_state),
2592         (gst_element_lost_state):
2593         * gst/gstmessage.c: (gst_message_new_state_changed),
2594         (gst_message_new_segment_start), (gst_message_new_segment_done),
2595         (gst_message_new_duration), (gst_message_parse_state_changed),
2596         (gst_message_parse_segment_start),
2597         (gst_message_parse_segment_done), (gst_message_parse_duration):
2598         * gst/gstmessage.h:
2599         * tools/gst-launch.c: (event_loop):
2600         Make messages future proof.
2601         state-change gets a flag if it was a message comming from the
2602         streaming thread.
2603         segment-start/stop can also be specified in other formats.
2604         A message to notify an app that a pipeline changed playback 
2605         duration.
2606         Also fix a GstMessage leak in -launch
2607
2608 2005-10-18  Andy Wingo  <wingo@pobox.com>
2609
2610         * gst/gstelement.c (gst_element_dispose): More helpful message.
2611
2612 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2613
2614         reviewed by: <delete if not using a buddy>
2615
2616         * common/gtk-doc.mak:
2617
2618 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2619
2620         * gst/gstregistry.c: (gst_registry_scan_path_level):
2621           unref a plug-in we get that was already initialized
2622
2623 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2624
2625         * docs/gst/gstreamer-sections.txt:
2626         * docs/libs/gstreamer-libs-sections.txt:
2627         * gst/gstelement.h:
2628           add new api entries
2629           hide internal macro
2630
2631 2005-10-17  Andy Wingo  <wingo@pobox.com>
2632
2633         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2634         cleanup.
2635
2636         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2637
2638         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2639
2640         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2641         (gst_element_get_state_func): Better debug message.
2642         (gst_element_commit_state): s/INFO/DEBUG/.
2643         (gst_element_lost_state, gst_element_change_state): 
2644
2645         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2646         (gst_message_new_custom): s/INFO/LOG/.
2647
2648 2005-10-17  Michael Smith <msmith@fluendo.com>
2649
2650         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2651           Check if end time is valid using end time, not start time.
2652
2653 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2654
2655         * check/gst-libs/controller.c: (GST_START_TEST),
2656         (gst_controller_suite):
2657         * libs/gst/controller/gstcontroller.c:
2658         (gst_controlled_property_set_interpolation_mode):
2659         * libs/gst/controller/gstcontroller.h:
2660         * libs/gst/controller/gstinterpolation.c:
2661         * testsuite/controller/.cvsignore:
2662         * testsuite/controller/Makefile.am:
2663         * testsuite/controller/interpolator.c:
2664           merge controller testsuites
2665           fix broken tests
2666           remove mem-chunk from docs
2667
2668 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2669
2670         * gst/gstmemchunk.c:
2671         * gst/gstmemchunk.h:
2672         * gst/gsttrashstack.c:
2673         * gst/gsttrashstack.h:
2674           out.  get out.  you're fired.  to the Attic !
2675
2676 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2677
2678         * gst/gstcaps.c: (gst_caps_intersect):
2679           fix signedness issues in a (hopefully) correct way
2680         * gst/gstelement.c: (gst_element_pads_activate):
2681           some debugging
2682         * gst/gstobject.c: (gst_object_set_parent):
2683           some debugging
2684
2685 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2686
2687         * gst/gstvalue.h: Fix prototypes.
2688
2689 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2690
2691         * docs/gst/gstreamer-sections.txt:
2692         * gst/gst.c: (gst_version_string):
2693         * gst/gst.h:
2694         * gst/gstversion.h.in:
2695         * win32/common/libgstreamer.def:
2696           add gst_version_string ()
2697
2698 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2699
2700         * configure.ac:
2701           clean up further
2702         * gst/gst.c: (init_post):
2703         * win32/common/config.h.in:
2704           it's PLUGINDIR now
2705         * gst/gstcaps.c: (gst_caps_intersect):
2706           use gint64, the range could be bigger than a guint
2707
2708 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2709
2710         * gst/gstclock.h:
2711           document potential problem in 2038
2712
2713 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2714
2715         * gst/gstcaps.c: (gst_caps_intersect):
2716           Fix guint j diving under 0
2717
2718 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2719
2720         * configure.ac:
2721         * win32/common/config.h:
2722         * win32/common/config.h.in:
2723           check for process.h, declares getpid() on Windows
2724         * gst/gstinfo.c:
2725           include process.h if we have it
2726         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2727         * gst/gstmemchunk.h:
2728           fix signedness issues
2729         * win32/common/libgstreamer.def:
2730           fix get_type's
2731
2732 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2733
2734         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2735         fix. Because of unsigned ints, caps intersection was going nuts and
2736         trying to access structures with G_MAXUINT index. That fixes
2737         videotestsrc ! ffmpegcolorspace ! fakesink
2738         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2739         consistency.
2740
2741 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2742
2743         * configure.ac:
2744           use the gettext macro
2745         * gst/elements/gstelements.c:
2746         * gst/gst.c:
2747         * gst/indexers/gstindexers.c:
2748           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2749         * win32/common/config.h:
2750           updated config.h
2751         * win32/common/config.h.in:
2752           add the template to generate config.h
2753         * win32/common/gstenumtypes.c:
2754         * win32/common/gstversion.h:
2755           updated copies
2756
2757 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2758
2759         * gst/gst.c: (gst_version):
2760         * gst/gstversion.h.in:
2761           add the nano
2762
2763 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2764
2765         * gst/gstevent.h:
2766           Oops, add missing closing bracket.
2767
2768 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2769
2770         * configure.ac:
2771           use common m4's for argument checking
2772
2773 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2774
2775         * docs/gst/gstreamer-sections.txt:
2776         * gst/gstevent.h:
2777           Add GST_EVENT_TYPE_NAME() macro.
2778
2779 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2780
2781         * gst/gstinfo.c:
2782         * gst/gstpluginfeature.c:
2783         * gst/gsttask.c:
2784           privatize more symbols
2785
2786 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2787
2788         * configure.ac:
2789           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2790           everything that uses GStreamer API should have the includes
2791
2792 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2793
2794         * docs/gst/gstreamer-sections.txt:
2795         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2796         * gst/gstvalue.h:
2797           give each value a _get_type, removes the DATA exports
2798
2799 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2800
2801         * gst/gst.c:
2802         * gst/gst.h:
2803           remove _gst_registry_auto_load, not used anymore
2804         * gst/gstbin.c: (gst_bin_get_type):
2805         * gst/gstbin.h:
2806         * gst/gstelement.c: (gst_element_get_type):
2807         * gst/gstelement.h:
2808         * gst/gstobject.c: (gst_object_get_type):
2809         * gst/gstobject.h:
2810         * gst/gstpad.c: (gst_pad_get_type):
2811         * gst/gstpad.h:
2812           make _get_type functions similar, fixes data export from library
2813
2814 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2815
2816         * configure.ac:
2817           correctly make conditionals
2818         * gst/elements/Makefile.am:
2819         * gst/elements/gstelements.c:
2820           fix typo causing fdsrc not to build
2821
2822 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2823
2824         * testsuite/Makefile.am:
2825         * testsuite/bytestream/.cvsignore:
2826         * testsuite/bytestream/Makefile.am:
2827         * testsuite/bytestream/filepadsink.c:
2828         * testsuite/bytestream/gstbstest.c:
2829         * testsuite/bytestream/test1.c:
2830         * testsuite/bytestream/testfile1:
2831         * testsuite/caps/normalisation.c:
2832         * testsuite/caps/random.c: (main):
2833         * testsuite/cleanup/.cvsignore:
2834         * testsuite/cleanup/Makefile.am:
2835         * testsuite/cleanup/cleanup1.c:
2836         * testsuite/cleanup/cleanup2.c:
2837         * testsuite/cleanup/cleanup3.c:
2838         * testsuite/cleanup/cleanup4.c:
2839         * testsuite/cleanup/cleanup5.c:
2840         * testsuite/controller/interpolator.c:
2841         * testsuite/debug/printf_extension.c: (main):
2842         * testsuite/elements/tee.c:
2843         * testsuite/negotiation/.cvsignore:
2844         * testsuite/negotiation/Makefile.am:
2845         * testsuite/negotiation/pad_link.c:
2846         * testsuite/pad/Makefile.am:
2847         * testsuite/pad/chainnopull.c:
2848         * testsuite/pad/getnopush.c:
2849         * testsuite/pad/link.c:
2850         * testsuite/refcounting/sched.c: (create_pipeline):
2851         * testsuite/registry/Makefile.am:
2852         * testsuite/registry/gst-print-formats.c:
2853         * testsuite/schedulers/.cvsignore:
2854         * testsuite/schedulers/142183-2.c:
2855         * testsuite/schedulers/142183.c:
2856         * testsuite/schedulers/143777-2.c:
2857         * testsuite/schedulers/143777.c:
2858         * testsuite/schedulers/147713.c:
2859         * testsuite/schedulers/147819.c:
2860         * testsuite/schedulers/147894-2.c:
2861         * testsuite/schedulers/147894.c:
2862         * testsuite/schedulers/Makefile.am:
2863         * testsuite/schedulers/group_link.c:
2864         * testsuite/schedulers/queue_link.c:
2865         * testsuite/schedulers/relink.c:
2866         * testsuite/schedulers/unlink.c:
2867         * testsuite/schedulers/unref.c:
2868         * testsuite/schedulers/useless_iteration.c:
2869         * testsuite/states/bin.c:
2870           clean out/remove some stuff from the testsuite directories
2871
2872 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2873
2874         * configure.ac:
2875           check for some headers
2876         * gst/elements/Makefile.am:
2877         * gst/elements/gstelements.c:
2878           don't compile fdsrc without sys/socket.h
2879         * gst/indexers/Makefile.am:
2880         * gst/indexers/gstindexers.c: (plugin_init):
2881           don't compile fileindex without mmap
2882
2883 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2884
2885         * configure.ac:
2886           reorganize
2887           clean up
2888           document more
2889           remove cruft
2890         * check/Makefile.am:
2891         * docs/gst/Makefile.am:
2892         * examples/helloworld/Makefile.am:
2893         * gst/Makefile.am:
2894         * gst/base/Makefile.am:
2895         * gst/check/Makefile.am:
2896         * gst/elements/Makefile.am:
2897         * gst/indexers/Makefile.am:
2898         * gst/parse/Makefile.am:
2899         * libs/gst/controller/Makefile.am:
2900         * libs/gst/dataprotocol/Makefile.am:
2901         * examples/helloworld/helloworld.c: (event_loop):
2902           compile fixes, though it's not being compiled currently
2903
2904 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2905
2906         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
2907           Add some simple tests for the new taglist date API.
2908
2909 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2910
2911         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
2912         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
2913           Beautify 'last-message' output: print 'none' for buffer timestamps
2914           and durations if none is set; improve alignment with next messages.
2915
2916 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2917
2918         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
2919         * gst/gstpluginfeature.h:
2920         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
2921         * gst/gstregistry.h:
2922         * docs/gst/gstreamer-sections.txt:
2923           Add new API to check plugin feature version requirements.
2924
2925         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
2926           Some basic tests for the above.         
2927
2928 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2929
2930         * gst/gststructure.c: (gst_structure_to_string):
2931           guard against NULL printf - happens when for example
2932           a message structure with GstClock gets serialized
2933
2934 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2935
2936         * gst/base/gstcollectpads.c: (gst_collectpads_event):
2937           Fix presumable copy'n'pasto.
2938
2939 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2940
2941         * gst/elements/gstfakesrc.h:
2942         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
2943         * gst/elements/gsttypefindelement.c:
2944           fix some signedness
2945         * gst/elements/gstfilesink.c: (gst_file_sink_render):
2946           I wonder if this could actually write +2GB files before
2947
2948 2005-10-13  Andy Wingo  <wingo@pobox.com>
2949
2950         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
2951         Fix Timmeke Waymans bug.
2952         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
2953         string of the proper length to gst_caps_from_string. There's a
2954         potential for, before this fix, that this could cause someone
2955         connecting over the network to cause a segfault if the payload is
2956         not NUL-terminated.
2957
2958 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
2959
2960         * docs/design/draft-push-pull.txt:
2961         * docs/design/part-overview.txt:
2962         * docs/random/TODO-pre-0.9:
2963         * docs/random/old/ChangeLog.gstreamer:
2964         * gst/base/gstpushsrc.c:
2965         * gst/gstclock.c:
2966           fixed typos
2967
2968 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2969
2970         * gst/glib-compat.c: (gst_flags_get_first_value):
2971         * gst/glib-compat.h:
2972         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
2973         (gst_value_compare_double), (gst_value_serialize_flags):
2974           GLib 2.6 g_flags_get_first_value has a bug that triggers an
2975           infinite loop
2976
2977 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2978
2979         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2980         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2981           fix up debugging
2982         * tools/gst-launch.c: (event_loop):
2983           print out clock nicely
2984
2985 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2986
2987         * docs/gst/gstreamer-sections.txt:
2988         * gst/gsttaglist.h:
2989         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
2990         (gst_tag_list_get_date_index):
2991           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
2992           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
2993
2994 2005-10-13  Julien MOUTTE  <julien@moutte.net>
2995
2996         * gst/base/gstcollectpads.c: (gst_collectpads_event),
2997         (gst_collectpads_chain):
2998         * gst/base/gstcollectpads.h: Handle newsegment and store informations
2999         in CollectData.
3000
3001 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3002
3003         * docs/gst/gstreamer-sections.txt:
3004         * gst/gst.c:
3005         * gst/gsterror.h:
3006         * tools/gst-inspect.c: (main):
3007         * tools/gst-launch.c: (main):
3008         * tools/gst-run.c: (main):
3009         * tools/gst-xmlinspect.c: (main):
3010           fix GOption context leaks
3011           doc fixes
3012
3013 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3014
3015         * gst/gstbus.c:
3016           use HAVE_UNISTD_H
3017         * win32/common/config.h:
3018           update config
3019         * win32/vs6/grammar.dsp:
3020         * win32/vs6/libgstelements.dsp:
3021         * win32/vs6/libgstreamer.dsp:
3022           update vs6 files
3023
3024 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3025
3026         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3027         * gst/base/gstbasesrc.c: (gst_base_src_query):
3028           fix more guint64<->gdouble conversions
3029
3030 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3031
3032         * Makefile.am:
3033           add win32-update target
3034         * win32/common/gstconfig.h:
3035         * win32/common/gstenumtypes.c:
3036         * win32/common/gstenumtypes.h:
3037         * win32/common/gstversion.h:
3038           add files that visual studio can't generate
3039
3040 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3041
3042         * Makefile.am:
3043           add a win32-update target
3044         * configure.ac:
3045
3046 2005-10-12  Wim Taymans  <wim@fluendo.com>
3047
3048         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3049         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3050         * gst/gstelement.c: (gst_element_commit_state),
3051         (gst_element_set_state):
3052         Protect flags with proper lock.
3053         unref provided cached clock in dispose.
3054
3055 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3056
3057         * gst/gst.c:
3058         * gst/gstminiobject.h:
3059         * gst/gstpad.h:
3060         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3061           removed unused flags from miniobject
3062           doc fixes
3063
3064 2005-10-12  Wim Taymans  <wim@fluendo.com>
3065
3066         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3067         (gst_file_sink_event), (gst_file_sink_render):
3068         Flush before seeking.
3069
3070 2005-10-12  Andy Wingo  <wingo@pobox.com>
3071
3072         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3073         always been the case.
3074
3075 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3076
3077         * check/gst/gstbin.c: (GST_START_TEST):
3078         * docs/gst/gstreamer-sections.txt:
3079         * gst/base/gstbasesink.c: (gst_base_sink_init):
3080         * gst/base/gstbasesrc.c: (gst_base_src_init),
3081         (gst_base_src_get_range), (gst_base_src_check_get_range),
3082         (gst_base_src_start), (gst_base_src_stop):
3083         * gst/base/gstbasesrc.h:
3084         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3085         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3086         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3087         (bin_bus_handler):
3088         * gst/gstbin.h:
3089         * gst/gstbuffer.h:
3090         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3091         * gst/gstbus.h:
3092         * gst/gstelement.c: (gst_element_is_locked_state),
3093         (gst_element_set_locked_state), (gst_element_commit_state),
3094         (gst_element_set_state):
3095         * gst/gstelement.h:
3096         * gst/gstindex.c: (gst_index_init):
3097         * gst/gstindex.h:
3098         * gst/gstminiobject.h:
3099         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3100         (gst_object_set_parent):
3101         * gst/gstobject.h:
3102         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3103         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3104         * gst/gstpad.h:
3105         * gst/gstpadtemplate.h:
3106         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3107         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3108         * gst/gstpipeline.h:
3109         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3110         (gst_file_index_commit):
3111         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3112         * testsuite/pad/link.c: (gst_test_src_init),
3113         (gst_test_filter_init), (gst_test_sink_init):
3114         * testsuite/states/locked.c: (main):
3115           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3116           moved bitshift from macro to enum definition
3117
3118 2005-10-12  Wim Taymans  <wim@fluendo.com>
3119
3120         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3121         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3122         (gst_file_sink_render):
3123         Some more debugging info.
3124
3125 2005-10-12  Wim Taymans  <wim@fluendo.com>
3126
3127         * docs/design/part-states.txt:
3128         * tools/gst-launch.c: (main):
3129         Some doc updates.
3130         Revert non-intentional change.
3131
3132 2005-10-12  Wim Taymans  <wim@fluendo.com>
3133
3134         * check/gst/gstbin.c: (GST_START_TEST):
3135         * check/gst/gstelement.c: (GST_START_TEST):
3136         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3137         * check/gst/gstghostpad.c: (GST_START_TEST):
3138         * check/gst/gstpipeline.c: (GST_START_TEST):
3139         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3140         * check/states/sinks.c: (GST_START_TEST):
3141         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3142         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3143         (gst_bin_remove_func), (gst_bin_get_state_func),
3144         (gst_bin_recalc_state), (gst_bin_change_state_func),
3145         (bin_bus_handler):
3146         * gst/gstelement.c: (gst_element_get_state_func),
3147         (gst_element_get_state), (gst_element_abort_state),
3148         (gst_element_commit_state), (gst_element_set_state),
3149         (gst_element_change_state), (gst_element_change_state_func):
3150         * gst/gstelement.h:
3151         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3152         (gst_pipeline_provide_clock_func):
3153         * gst/gstutils.c: (gst_element_link_pads_filtered):
3154         * tools/gst-launch.c: (main):
3155         * tools/gst-typefind.c: (main):
3156         Use GstClockTime in _get_state() instead of GTimeVal.
3157         Remove old code in gstutils.c
3158
3159 2005-10-12  Andy Wingo  <wingo@pobox.com>
3160
3161         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3162         removed.
3163
3164         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3165         there is no task. Shouldn't affect any code, as nothing in our
3166         plugins checks this return value.
3167         (gst_pad_stop_task): Also take the stream lock if the pad has no
3168         task. Docs updated.
3169
3170 2005-10-12  Wim Taymans  <wim@fluendo.com>
3171
3172         * gst/gstpad.c: (pre_activate), (post_activate),
3173         (gst_pad_activate_pull), (gst_pad_activate_push):
3174         Cleanup activation code. Reset old state if
3175         activation failed.
3176
3177 2005-10-12  Wim Taymans  <wim@fluendo.com>
3178
3179         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3180         (gst_base_sink_change_state):
3181         No need to prerol after receiving EOS.
3182
3183         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3184         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3185         * gst/elements/gstidentity.c: (gst_identity_event):
3186         Print events more verbosely.
3187
3188 2005-10-12  Wim Taymans  <wim@fluendo.com>
3189
3190         * check/Makefile.am:
3191         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3192         * check/states/sinks2.c:
3193         Moved sinks2 testcode in sinks check.
3194
3195         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3196         (gst_bin_remove_func), (gst_bin_recalc_state),
3197         (gst_bin_change_state_func), (bin_bus_handler):
3198         Fix potential race condition when _get_state() iterated over an
3199         ASYNC element right before it posted a state completion.
3200
3201         * gst/gstclock.h:
3202         Do proper cast here.
3203
3204         * gst/gstevent.c: (gst_event_new_newsegment),
3205         (gst_event_parse_newsegment):
3206         A playback rate of 0.0 is not allowed.
3207
3208 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3209
3210         * win32/common/config.h:
3211         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3212         (_trewinddir), (_ttelldir), (_tseekdir):
3213         * win32/common/dirent.h:
3214         * win32/common/gtchar.h:
3215         * win32/common/libgstbase.def:
3216         * win32/common/libgstreamer.def:
3217         * win32/vs6/grammar.dsp:
3218         * win32/vs6/gst_inspect.dsp:
3219         * win32/vs6/gst_launch.dsp:
3220         * win32/vs6/gstreamer.dsw:
3221         * win32/vs6/libgstbase.dsp:
3222         * win32/vs6/libgstelements.dsp:
3223         * win32/vs6/libgstreamer.dsp:
3224           Visual Studio 6 project files, and a new common directory.
3225           Phear.
3226
3227 2005-10-11  Wim Taymans  <wim@fluendo.com>
3228
3229         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3230         (gst_base_sink_do_sync), (gst_base_sink_query),
3231         (gst_base_sink_change_state):
3232         * gst/base/gstbasesink.h:
3233         Correctly parse newsegment info.
3234
3235 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3236
3237         * gst/gst.c: (init_post):
3238           split plugin paths correctly
3239
3240 2005-10-11  Wim Taymans  <wim@fluendo.com>
3241
3242         * check/gst/gstevent.c: (GST_START_TEST):
3243         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3244         (gst_base_sink_change_state):
3245         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3246         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3247         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3248         * gst/gstevent.c: (gst_event_new_newsegment),
3249         (gst_event_parse_newsegment):
3250         * gst/gstevent.h:
3251         Added extra flag to newsegment for future API freeze.
3252         Updated check and base elements.
3253
3254 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3255
3256         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3257         (gst_collectpads_add_pad), (gst_collectpads_pop),
3258         (gst_collectpads_event), (gst_collectpads_chain):
3259         * gst/base/gstcollectpads.h: Handle EOS correctly.
3260
3261 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3262
3263         * tools/gst-launch.c: (main):
3264           more null protecting
3265
3266 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3267
3268         * gst/gst-i18n-lib.h:
3269           check for ENABLE_NLS, not GETTEXT_PACKAGE
3270         * gst/gstregistry.c: (gst_registry_add_plugin),
3271         (gst_registry_scan_path_level),
3272         (_gst_registry_remove_cache_plugins):
3273           protect possibly NULL strings
3274         * gst/parse/types.h:
3275           config.h already included before
3276         * tools/gst-inspect.c: (main):
3277           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3278           check for ENABLE_NLS, not GETTEXT_PACKAGE
3279         * tools/gst-launch.c: (main):
3280           check for ENABLE_NLS, not GETTEXT_PACKAGE
3281
3282 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3283
3284         * configure.ac:
3285           if we don't have glib, fail before testing 2.8
3286         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3287           fix a leak, should fix plugins-base testsuite
3288
3289 2005-10-11  Andy Wingo  <wingo@pobox.com>
3290
3291         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3292         take the mode we're going to as an arg. Go head and set the mode
3293         and flushing flags now, so that if the activate function starts a
3294         thread all the flags will be in the right state.
3295         (post_activate): Renamed also. Just handle making sure streaming
3296         finishes for the deactivation case, and setting the deactivated
3297         mode.
3298         (gst_pad_set_active): Complain loudly if deactivation fails.
3299         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3300         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3301         remove the terrible hack.
3302
3303 2005-10-11  Wim Taymans  <wim@fluendo.com>
3304
3305         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3306         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3307         (gst_bin_recalc_state), (gst_bin_change_state_func),
3308         (gst_bin_dispose), (bin_bus_handler):
3309         * gst/gstbin.h:
3310         Prepare to make current EOS message queue more generic.
3311         Fix some typos.
3312
3313         * gst/gstevent.c: (gst_event_new_newsegment),
3314         (gst_event_parse_newsegment):
3315         * gst/gstevent.h:
3316         Rename base to stream_time.
3317
3318         * gst/gstmessage.h:
3319         Fix typo in docs.
3320
3321 2005-10-11  Wim Taymans  <wim@fluendo.com>
3322
3323         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3324         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3325         (gst_bin_change_state_func), (bin_bus_handler):
3326         * gst/gstbin.h:
3327         Work on proper clock selection.
3328
3329 2005-10-11  Edward Hervey  <edward@fluendo.com>
3330
3331         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3332         * libs/gst/controller/gstcontroller.h:
3333         Added GList* version of _remove_properties() in order to be able to wrap
3334         it in bindings.
3335
3336 2005-10-11  Wim Taymans  <wim@fluendo.com>
3337
3338         * docs/design/part-states.txt:
3339         Some more docs.
3340
3341         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3342         (gst_bin_change_state_func), (bin_bus_handler):
3343         Doc updates. Don't distribute the same clock over and over again.
3344
3345         * gst/gstclock.c:
3346         * gst/gstclock.h:
3347         Doc updates.
3348
3349         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3350         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3351         (gst_pad_send_event):
3352         * gst/gstpad.h:
3353         Make probe emission threadsafe again.
3354         Register quarks and move _get_name() from utils.
3355         Doc updates.
3356
3357         * gst/gstpipeline.c: (gst_pipeline_class_init),
3358         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3359         Only redistribute the clock of it changed.
3360
3361         * gst/gstsystemclock.h:
3362         Doc updates. 
3363
3364         * gst/gstutils.c:
3365         * gst/gstutils.h:
3366         Moved the _flow_get_name() to GstPad.
3367
3368 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3369
3370         * check/gst-libs/gdp.c: (GST_START_TEST):
3371         * check/gst/gstcaps.c: (GST_START_TEST):
3372         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3373         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3374         (gst_dp_packet_from_caps):
3375           fix more valgrind warnings before turning up the heat
3376
3377 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3378
3379         * gst/parse/grammar.y:
3380           some cleanup before the hacking
3381
3382 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3383
3384         * gst/base/gstbasesrc.c: (gst_base_src_query):
3385           use conversions
3386         * gst/gstutils.c: (gst_guint64_to_gdouble),
3387         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3388         * gst/gstutils.h:
3389           externalize, basesrc uses it
3390           obviously the implementation needs testing
3391
3392 2005-10-10  Wim Taymans  <wim@fluendo.com>
3393
3394         * tests/sched/Makefile.am:
3395         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3396         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3397
3398 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3399
3400         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3401           apparently converting from guint64 to double is not implemented
3402           on MSVC
3403
3404 2005-10-10  Wim Taymans  <wim@fluendo.com>
3405
3406         * check/Makefile.am:
3407         * check/generic/states.c: (GST_START_TEST):
3408         * check/gst/gstbin.c: (GST_START_TEST):
3409         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3410         * check/states/sinks.c: (GST_START_TEST):
3411         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3412         (main):
3413         Check fixes, use API as stated in design docs, remove hacks.
3414
3415         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3416         (gst_base_sink_change_state):
3417         Catch stopping our task while we're shutting down.
3418
3419         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3420         (gst_bin_remove_func), (gst_bin_get_state_func),
3421         (gst_bin_recalc_state), (gst_bin_change_state_func),
3422         (bin_bus_handler):
3423         * gst/gstbin.h:
3424         * gst/gstelement.c: (gst_element_init),
3425         (gst_element_get_state_func), (gst_element_abort_state),
3426         (gst_element_commit_state), (gst_element_lost_state),
3427         (gst_element_set_state), (gst_element_change_state),
3428         (gst_element_change_state_func):
3429         * gst/gstelement.h:
3430         New state change algorithm (see #318116)
3431
3432         * gst/gstpipeline.c: (gst_pipeline_class_init),
3433         (gst_pipeline_init), (gst_pipeline_set_property),
3434         (gst_pipeline_get_property), (do_pipeline_seek),
3435         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3436         * gst/gstpipeline.h:
3437         Remove crude state change hacks.
3438
3439         * gst/gstutils.h:
3440         Remove crude hacks.
3441
3442         * tools/gst-launch.c: (main):
3443         Fixes for state change. Needs some more work to fully use the
3444         new stuff.
3445
3446 2005-10-10  Andy Wingo  <wingo@pobox.com>
3447
3448         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3449
3450         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3451         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3452         issue.
3453
3454 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3455
3456         * gst/gstiterator.c: (gst_iterator_new):
3457           Fix my previous commit: GTypes passed to gst_iterator_new()
3458           can be fundamental types.
3459
3460 2005-10-10  Wim Taymans  <wim@fluendo.com>
3461
3462         * gst/gstelement.c: (gst_element_iterate_pad_list),
3463         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3464         (gst_element_iterate_sink_pads):
3465         Use src/sink pads lists for the respective iterators instead
3466         of filtering.
3467
3468 2005-10-10  Andy Wingo  <wingo@pobox.com>
3469
3470         Merged in popt removal + GOption addition patch from Ronald, bug
3471         #169772.
3472
3473         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3474         GstElement macros around, remove popt-related symbols, add goption
3475         stuff.
3476
3477         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3478         
3479         * docs/gst/Makefile.am:
3480         * docs/libs/Makefile.am: No POPT_CFLAGS.
3481         
3482         * examples/manual/Makefile.am:
3483         * docs/manual/basics-init.xml: Doc updates with an example.
3484         
3485         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3486         (gst_init), (parse_one_option), (parse_goption_arg):
3487         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3488         bit of hand merging and debugging to get the GOption stuff working
3489         tho.
3490         
3491         * tests/Makefile.am:
3492         * tools/Makefile.am:
3493         * tools/gst-inspect.c: (main):
3494         * tools/gst-launch.c: (main):
3495         * tools/gst-run.c: (main):
3496         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3497
3498 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3499
3500         * gst/gstiterator.c: (gst_iterator_new):
3501           Add assertions to make sure passed GType is likely to really
3502           be a GType (as the compiler won't catch it if the size and
3503           GType arguments get mixed up, see #318447).
3504
3505 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3506
3507         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3508
3509         * gst/gstbin.c: (gst_bin_iterate_sorted):
3510           Pass GType and size arguments to gst_iterator_new() in the right
3511           order (maybe we should make _new() take the GType as first argument
3512           just like _new_list()?) (#318447).
3513           
3514
3515 2005-10-10  Wim Taymans  <wim@fluendo.com>
3516
3517         * gst/gstelement.c: (gst_element_finalize):
3518         And free the GStaticRecMutex too
3519
3520 2005-10-10  Andy Wingo  <wingo@pobox.com>
3521
3522         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3523         Allocate and free the mutex properly.
3524
3525         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3526         New macros.
3527         (GstElement): The state_lock is now recursive. Rebuild your
3528         plugins, suckers. Old macros adapted.
3529
3530         * docs/gst/gstreamer-sections.txt: Doc updates.
3531
3532         * gst/gstutils.h:
3533         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3534         (g_static_rec_cond_wait): Ported from state changes patch, while
3535         we wait on bug #317802 to be solved in a well-distributed GLib.
3536
3537         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3538         gst_element_change_state, variable name changes.
3539         (gst_element_change_state): Split out of gst_element_set_state in
3540         preparation for the state change merge. Doesn't pay attention to
3541         the 'transition' argument.
3542         (gst_element_set_state): Updates, hopefully purely cosmetic.
3543         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3544         state change patch.
3545         (gst_element_get_state_func): Renamed from get_state, cosmetic
3546         changes.
3547
3548 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3549
3550         * gst/elements/gstelements.c:
3551         * win32/GStreamer.vcproj:
3552         * win32/config.h:
3553         * win32/dirent.c: (_tseekdir):
3554         * win32/gst-inspect.vcproj:
3555         * win32/gst-launch.vcproj:
3556         * win32/gstconfig.h:
3557         * win32/gstelements.vcproj:
3558         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3559         * win32/gstreamer.def:
3560         * win32/msvc71.sln:
3561           updates for the win32 build (patch from Sebastien Moutte)
3562
3563 2005-10-10  Andy Wingo  <wingo@pobox.com>
3564
3565         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3566         gst_bin_get_state, cleaned up (but no logic changes).
3567         (bin_element_is_sink): Comment updates.
3568         (sink_iterator_filter): Remove needless cast.
3569         (gst_bin_iterate_sinks): Doc update.
3570         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3571         cleaned up (but no logic changes).
3572
3573         * check/states/sinks.c (test_src_sink): Cleanups from the state
3574         change patch.
3575         (test_livesrc_sink): Sync on the state.
3576
3577         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3578         the state change patch.
3579
3580         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3581         change patch.
3582
3583         * check/gst/gstbin.c: Merge in some style fixes and additional
3584         checks from Wim's state change patch.
3585
3586 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3587
3588         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3589         (gst_type_find_helper):
3590           Check whether we have the requested data already in our list of
3591           cached buffers before pulling a new buffer; also make the buffer
3592           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3593
3594 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3595
3596         * gst/gstcaps.c:
3597         * gst/gstevent.c:
3598           doc updates
3599         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3600           don't use long long, it's not portable.  Replacing with
3601           gint64 seems to work; let's hope no skeletons fall out of the closet.
3602
3603 2005-10-10  Andy Wingo  <wingo@pobox.com>
3604
3605         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3606
3607 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3608
3609         * docs/gst/gstreamer-sections.txt:
3610         * gst/gstevent.c:
3611         * gst/gstevent.h:
3612         * gst/gstinfo.c:
3613         * gst/gstinfo.h:
3614         * gst/gstmessage.c: (gst_message_parse_state_changed):
3615         * gst/gstpad.c:
3616         * gst/gstpad.h:
3617           more docs, fix compilation
3618
3619 2005-10-09  Philippe Khalaf <burger@speedy.org>
3620         * gst/gstmessage.c:
3621           Fixed a few forgotten variables on previous commit
3622
3623 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3624
3625         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3626           Fix evil typefind crasher: getrange() might return a short
3627           buffer at the end of a file, but gst_type_find_peek() must
3628           either return the full data as requested or NULL, but
3629           never a short buffer.
3630
3631 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3632
3633         * gst/gstmessage.c: (gst_message_new_state_changed),
3634         (gst_message_parse_state_changed):
3635         * gst/gstmessage.h:
3636           don't use "new", it's a C++ keyword
3637
3638 2005-10-08  Wim Taymans  <wim@fluendo.com>
3639
3640         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3641         * gst/gstelement.c: (gst_element_post_message):
3642         * gst/gstpipeline.c: (gst_pipeline_change_state):
3643         Small docs and debug updates.
3644
3645 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3646
3647         * docs/gst/gstreamer-sections.txt:
3648         * gst/gstelementfactory.c:
3649         * gst/gstevent.c:
3650         * gst/gsttaglist.c:
3651           more docs
3652
3653 2005-10-08  Wim Taymans  <wim@fluendo.com>
3654
3655         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3656         (gst_bin_dispose), (bin_bus_handler):
3657         Fix typos, add comments.
3658         Clear EOS list when going to PAUSED from any direction and do it
3659         in a threadsafe way.
3660         Get base time in a threadsafe way too.
3661         Fix confusing debug in the change_state function.
3662         Various other small cleanups.
3663         
3664         * gst/gstelement.c: (gst_element_post_message):
3665         Fix very verbose bus posting code.
3666
3667         * gst/gstpipeline.c: (gst_pipeline_class_init),
3668         (gst_pipeline_set_property), (gst_pipeline_get_property),
3669         (gst_pipeline_change_state):
3670         Small ARG_ -> PROP_ cleanup
3671
3672 2005-10-08  Wim Taymans  <wim@fluendo.com>
3673
3674         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3675         Do a less CPU demanding EOS check because we can.
3676
3677 2005-10-08  Wim Taymans  <wim@fluendo.com>
3678
3679         * libs/gst/dataprotocol/dataprotocol.c:
3680         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3681         (gst_dp_packet_from_event):
3682         * libs/gst/dataprotocol/dataprotocol.h:
3683         * libs/gst/dataprotocol/dp-private.h:
3684         It's about time we bump the version number.
3685         Since event types don't fit in the guint8 anymore describing
3686         the payload type, make payload type 16 bits wide.
3687
3688 2005-10-08  Wim Taymans  <wim@fluendo.com>
3689
3690         * docs/design/part-TODO.txt:
3691         * docs/design/part-clocks.txt:
3692         * docs/design/part-events.txt:
3693         * docs/design/part-gstbin.txt:
3694         * docs/design/part-gstelement.txt:
3695         * docs/design/part-gstpipeline.txt:
3696         * docs/design/part-live-source.txt:
3697         * docs/design/part-messages.txt:
3698         * docs/design/part-overview.txt:
3699         * docs/design/part-states.txt:
3700         Many doc updates.
3701
3702 2005-10-08  Wim Taymans  <wim@fluendo.com>
3703
3704         * gst/gstevent.c:
3705         * gst/gstevent.h:
3706         Fix event quark registration.
3707         Add some space between events so we can insert them in the
3708         right groups.
3709
3710 2005-10-08  Wim Taymans  <wim@fluendo.com>
3711
3712         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3713         (gst_base_sink_handle_buffer):
3714         Better log message.
3715
3716         * gst/gstbus.h:
3717         * gst/gstelement.h:
3718         More docs.
3719
3720         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3721         (gst_queue_set_property), (gst_queue_get_property):
3722         * gst/gstqueue.h:
3723         Remove old unused properties.
3724
3725 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3726         * docs/gst/gstreamer-sections.txt:
3727         * gst/gstmessage.c:
3728         * gst/gstmessage.h:
3729         * gst/gstminiobject.c:
3730         * gst/gstminiobject.h:
3731         * gst/gstobject.h:
3732         * gst/gstpad.h:
3733         * gst/gstutils.h:
3734           lots of new docs and doc fixes
3735
3736 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3737
3738         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3739         * gst/gstplugin.h:
3740         * gst/gstregistry.c: (gst_registry_lookup_locked),
3741         (gst_registry_scan_path_level):
3742         * gst/gstregistryxml.c: (load_plugin):
3743           Only ever load one plugin for a given plugin basename.
3744           This ensures correct overriding of GST_PLUGIN_PATH over
3745           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3746           system installed plugins.
3747
3748 2005-10-08  Wim Taymans  <wim@fluendo.com>
3749
3750         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3751         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3752         Prepare for doing QOS.
3753
3754 2005-10-08  Wim Taymans  <wim@fluendo.com>
3755
3756         * check/gst/gstbin.c: (GST_START_TEST):
3757         * check/pipelines/cleanup.c: (GST_START_TEST):
3758         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3759         Allow new clock message too.
3760
3761 2005-10-08  Wim Taymans  <wim@fluendo.com>
3762
3763         * gst/gstmessage.c: (gst_message_new_error),
3764         (gst_message_new_warning), (gst_message_new_tag),
3765         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3766         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3767         (gst_message_new_segment_start), (gst_message_new_segment_done),
3768         (gst_message_parse_state_changed),
3769         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3770         (gst_message_parse_new_clock):
3771         * gst/gstmessage.h:
3772         Also carry the clock in question.
3773
3774 2005-10-08  Wim Taymans  <wim@fluendo.com>
3775
3776         * gst/gstmessage.c: (gst_message_new_custom),
3777         (gst_message_new_eos), (gst_message_new_error),
3778         (gst_message_new_warning), (gst_message_new_tag),
3779         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3780         (gst_message_new_new_clock), (gst_message_new_segment_start),
3781         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3782         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3783         * gst/gstmessage.h:
3784         Clean up.
3785         Added clock related messages.
3786
3787         * gst/gstpipeline.c: (gst_pipeline_change_state):
3788         Post message when the clock changed.
3789
3790         * tools/gst-launch.c: (event_loop):
3791         Print new clock.
3792
3793 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3794
3795         * tools/gst-inspect.c: (print_element_properties_info):
3796           Can't pass NULL strings to g_print() on windows.
3797
3798 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3799
3800         * docs/Makefile.am:
3801         * docs/gst/Makefile.am:
3802         * docs/gst/gstreamer-docs.sgml:
3803         * docs/gst/running.xml:
3804         * docs/version.entities.in:
3805           add a chapter on running GStreamer.
3806           document GST_DEBUG and GST_PLUGIN* env vars
3807
3808 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3809
3810         * Makefile.am:
3811           remove include dir
3812         * configure.ac:
3813           remove PLUGINS_BUILDDIR stuff
3814         * gst/gst.c: (init_post):
3815           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3816         * idiottest.mak:
3817           remove, it was condescending and not needed
3818
3819 2005-10-08  Wim Taymans  <wim@fluendo.com>
3820
3821         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3822         (gst_base_sink_handle_object), (gst_base_sink_event),
3823         (gst_base_sink_wait), (gst_base_sink_handle_event),
3824         (gst_base_sink_change_state):
3825         * gst/base/gstbasesink.h:
3826         Repost EOS message while going to PLAYING if still EOS.
3827         Make sure that when receiving a FLUSH_START we don't attempt
3828         to sync on the clock anymore.
3829
3830 2005-10-08  Wim Taymans  <wim@fluendo.com>
3831
3832         * tools/gst-launch.c: (event_loop):
3833         Better message printout.
3834
3835 2005-10-08  Wim Taymans  <wim@fluendo.com>
3836
3837         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3838         (gst_bin_child_proxy_get_children_count):
3839         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3840         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3841         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3842         (gst_child_proxy_set_valist):
3843         * gst/parse/grammar.y:
3844         Make ChildProxy threadsafe and fix mem leaks.
3845
3846 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3847
3848         * gst/gst.c: (init_post):
3849           debug the GST_PLUGIN_ env vars
3850
3851 2005-10-08  Wim Taymans  <wim@fluendo.com>
3852
3853         * check/gst/gstbin.c: (GST_START_TEST):
3854         * check/gst/gstmessage.c: (GST_START_TEST):
3855         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3856         * gst/gstelement.c: (gst_element_commit_state),
3857         (gst_element_lost_state):
3858         * gst/gstmessage.c: (gst_message_new_state_changed),
3859         (gst_message_parse_state_changed):
3860         * gst/gstmessage.h:
3861         * tools/gst-launch.c: (event_loop):
3862         Added extra field to STATE_CHANGE message with the pending
3863         state, which will be different from the new state soon.
3864
3865 2005-10-08  Wim Taymans  <wim@fluendo.com>
3866
3867         * gst/gstbus.c: (gst_bus_pop):
3868         * gst/gstclock.c:
3869         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3870         Small cleanups and doc updates.
3871
3872 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3873
3874         * gst/gst.c: (init_pre):
3875         * gst/gstbin.c: (gst_bin_add_func):
3876           log distributing clocks and base time
3877         * gst/gstregistry.c: (gst_registry_add_plugin),
3878         (gst_registry_scan_path_level), (gst_registry_scan_path):
3879           clean up the debugging output a little
3880         * gst/gstutils.c: (gst_element_state_get_name):
3881           warn about a memleak (I've actually seen this be used, though
3882           it was probably a bug)
3883
3884 2005-10-07  Wim Taymans  <wim@fluendo.com>
3885
3886         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3887         (gst_base_src_init), (gst_base_src_default_newsegment),
3888         (gst_base_src_newsegment), (gst_base_src_do_seek),
3889         (gst_base_src_loop), (gst_base_src_start):
3890         * gst/base/gstbasesrc.h:
3891         Make the newsegment event customizable by subclasses.
3892
3893 2005-10-07  Wim Taymans  <wim@fluendo.com>
3894
3895         * gst/gstevent.c: (gst_event_new_buffersize),
3896         (gst_event_parse_buffersize):
3897         * gst/gstevent.h:
3898         New event for future idea.
3899
3900 2005-10-07  Andy Wingo  <wingo@pobox.com>
3901
3902         * gst/gstelement.c (gst_element_post_message): Doc update.
3903
3904         * docs/gst/gstreamer-sections.txt: Update.
3905
3906         * gst/gstmessage.c (gst_message_new_application): Made into a
3907         function like honest API calls.
3908         (gst_message_new_element): New message type.
3909
3910         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
3911
3912         * check/elements/fakesrc.c (test_no_preroll): New check, checks
3913         that setting a live fakesrc to PAUSED returns NO_PREROLL both
3914         times.
3915
3916         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
3917         NO_PREROLL from gst_element_change_state to fall through.
3918
3919 2005-10-07  Wim Taymans  <wim@fluendo.com>
3920
3921         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
3922         (gst_ghost_pad_do_activate_push):
3923         Activating a ghostpad with no internal pad in push mode
3924         is ok.
3925
3926 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3927
3928         * gst/gstobject.h:
3929           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
3930           Fixes compilation on Windows.
3931
3932 2005-10-07  Michael Smith <msmith@fluendo.com>
3933
3934         * tools/gst-inspect.c:
3935           Print out feature and plugin count at the end when printing out
3936           all features.
3937
3938 2005-10-04  Michael Smith <msmith@fluendo.com>
3939
3940         * gst/gsterror.c: (_gst_stream_errors_init):
3941           Add another error string used in a few existing plugins.
3942
3943         * gst/gstplugin.c:
3944         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3945         * tools/gst-inspect.c: (print_element_info):
3946           When a feature disappears from a plugin (and the feature exists in
3947           the cached registry file), things went horribly wrong. This isn't a
3948           complete fix, we should actually be removing the 'missing' features
3949           from the features list when we load the actual plugin. That's not
3950           yet implemented. 
3951
3952 2005-10-04  Johan Dahlin  <johan@gnome.org>
3953
3954         * check/gst/gstiterator.c: (GST_START_TEST):
3955         * gst/gstbin.c: (gst_bin_iterate_elements),
3956         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
3957         * gst/gstelement.c: (gst_element_iterate_pads):
3958         * gst/gstformat.c: (gst_format_iterate_definitions):
3959         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
3960         (gst_iterator_new_list), (gst_iterator_filter):
3961         * gst/gstiterator.h:
3962         * gst/gstquery.c: (gst_query_type_iterate_definitions):
3963         Add a GType to GstIterator, update callsites and tests.
3964
3965 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3966
3967         * gst/gstpad.c: (gst_pad_event_default_dispatch):
3968           give events a chance to be handled by event probes when the pad
3969           is not linked
3970
3971 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3972
3973         * gst/gstevent.c: (gst_event_type_get_name),
3974         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
3975         * gst/gstevent.h:
3976           add string representations for event types
3977
3978 2005-10-06  Wim Taymans  <wim@fluendo.com>
3979
3980         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
3981         Don't use NULL pointers.
3982
3983 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3984
3985         * gst/gst_private.h:
3986         * gst/gstbus.c:
3987         * gst/gstelement.c:
3988         * gst/gstinfo.c:
3989         * gst/gstpluginfeature.c:
3990           widen the debug category in output to fit the biggest one we have
3991           add a bus category and use it
3992           play with the colors
3993           fix up some categories
3994
3995 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3996
3997         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
3998           add push activation of sink ghost pads.
3999           Andye, please verify
4000
4001 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4002
4003         * gst/gstutils.c: (gst_element_link_pads):
4004           fix a bug in the case where neither element has a pad
4005         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4006           add a test for that case
4007
4008 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4009
4010         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4011           emit have-data before checking for peers.  This allows
4012           for probe handlers to connect elements.  This helps autopluggers.
4013         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4014         (gst_pad_suite):
4015           add six checks, linked/unlinked with no/true/false probe
4016
4017 2005-10-04  Wim Taymans  <wim@fluendo.com>
4018
4019         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4020         (gst_fake_sink_event), (gst_fake_sink_preroll),
4021         (gst_fake_sink_render), (gst_fake_sink_change_state):
4022         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4023         (gst_fake_src_get_property), (gst_fake_src_create),
4024         (gst_fake_src_stop):
4025         * gst/elements/gstidentity.c: (gst_identity_stop):
4026         Protect last_message with lock.
4027
4028 2005-10-04  Edward Hervey  <edward@fluendo.com>
4029
4030         * gst/gstformat.h: 
4031         Added precision in the comments for GST_FORMAT_DEFAULT
4032
4033 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4034
4035         * tools/gst-launch.c: (main):
4036           Don't try to run erroneous pipelines.
4037
4038 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4039
4040         * gst/gstbus.c: We don't need this header.
4041
4042 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4043
4044         * configure.ac:
4045           back to development
4046
4047 === release 0.9.3 ===
4048
4049 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4050
4051         * README:
4052         * configure.ac:
4053           Releasing 0.9.3, "Unregistered"
4054
4055 2005-10-03  Andy Wingo  <wingo@pobox.com>
4056
4057         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4058         whereby calling a pad's activatepush() function can start a thread
4059         that starts to push or pull before the pad gets the FLUSHING flag
4060         unset. Hack around it by holding the stream lock until the flag is
4061         set. Need to replace this with a proper solution. Together with
4062         the ghost pad fixes, this fixes mp3 playing/tagreading.
4063
4064         * docs/design/part-gstghostpad.txt: Add a note about activation of
4065         proxy pads outside of ghost pads.
4066
4067         * gst/gstghostpad.c: Implement the ghost pad activation design.
4068
4069 2005-10-02  Andy Wingo  <wingo@pobox.com>
4070
4071         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4072         It is volatile, after all.
4073
4074         * docs/design/part-gstghostpad.txt: Flesh out activation with
4075         ghost pads.
4076
4077         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4078         GST_DEBUG_FUNCPTR.
4079
4080 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4081
4082         * configure.ac:
4083           Fix (unused) AM_CONDITIONAL tests.
4084
4085 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4086
4087         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4088
4089         * gst/gstutils.c: (gst_pad_query_convert):
4090           Add assertion that makes sure src_val is >=0, just like
4091           gst_query_new_convert() has. (#315895)
4092
4093 2005-09-30  Edward Hervey  <edward@fluendo.com>
4094
4095         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4096         Let's not iterate pads we're not interested in, it avoids getting 
4097         sky-high refcounts on sinkpad.
4098
4099 2005-09-30  Wim Taymans  <wim@fluendo.com>
4100
4101         * gst/gstelement.c: (gst_element_set_state),
4102         (gst_element_change_state):
4103         Small tweak, element in ASYNC remains ASYNC.
4104
4105 2005-09-30  Wim Taymans  <wim@fluendo.com>
4106
4107         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4108         Only error is an error.
4109
4110         * gst/gstbin.c: (gst_bin_change_state):
4111         Better debugging.
4112
4113         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4114         Also call pad_block in pad alloc.
4115
4116         * gst/gstutils.c: (gst_flow_get_name):
4117         Better debugging.
4118
4119 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4120
4121         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4122         (gst_base_src_get_range):
4123           Fix documentation typos. Add some more debug info.
4124
4125 2005-09-29  David Schleef  <ds@schleef.org>
4126
4127         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4128           more end-user friendly.
4129         * tools/gst-inspect.c: (main): Check if command-line argument is
4130           a file and attempt to load that file as a plugin.
4131
4132 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4133
4134         * check/gst/gstbin.c:
4135         * check/states/sinks.c:
4136           fix tests for the new warning
4137         * check/gst/gstpipeline.c:
4138           add a test for pipeline and bus interaction
4139         * gst/gstelement.c:
4140           elements should be NULL if they get disposed; add a warning if not
4141
4142 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4143
4144         * gst/gstobject.c:
4145           for 2.6 refcounting, make debug log more correct by printing
4146           the actual refcounts at the time of swap (Wim)
4147
4148 2005-09-29  Andy Wingo  <wingo@pobox.com>
4149
4150         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4151         removes signal watches previously added via
4152         gst_bus_add_signal_watch.
4153         (gst_bus_add_signal_watch): Don't return the source id, just store
4154         it on the bus if there wasn't an id already.
4155
4156         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4157         add_signal_watch and remove_signal_watch.
4158
4159 2005-09-29  Edward Hervey  <edward@fluendo.com>
4160
4161         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4162         Better if we actually iterate the list :)
4163
4164 2005-09-29  Wim Taymans  <wim@fluendo.com>
4165
4166         * check/gst/gstbin.c: (GST_START_TEST):
4167         Change for new bus API.
4168
4169         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4170         (send_messages), (GST_START_TEST), (gstbus_suite):
4171         Change for new bus signal API.
4172
4173         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4174         (gst_bus_source_prepare), (gst_bus_source_check),
4175         (gst_bus_create_watch), (gst_bus_add_watch_full),
4176         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4177         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4178         * gst/gstbus.h:
4179         Remove support for multiple GSources operating on different
4180         message types as it is too complex and unneeded when using
4181         signals.
4182         Added support for receiving signals from the bus.
4183
4184 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4185
4186         * docs/libs/tmpl/gstdataprotocol.sgml:
4187         * docs/manual/advanced-dataaccess.xml:
4188         * gst/elements/gstcapsfilter.c:
4189         * gst/gstutils.c:
4190           rename filter-caps to caps property
4191
4192 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4193
4194         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4195           More robust fraction string parsing.
4196
4197         * docs/pwg/appendix-porting.xml:
4198           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4199
4200 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4201
4202         * gst/gstcaps.c: (gst_caps_do_simplify):
4203           Thou shalt not free a structure and then continue using it
4204           in the next loop iteration.
4205
4206         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4207         (gst_caps_suite):
4208           Add test case for caps simplification.
4209
4210 2005-09-29  Wim Taymans  <wim@fluendo.com>
4211
4212         * check/gst/gstbin.c: (GST_START_TEST):
4213         Oops.
4214
4215 2005-09-29  Wim Taymans  <wim@fluendo.com>
4216
4217         * check/gst/gstbin.c: (GST_START_TEST):
4218         Add bus to bin.
4219
4220         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4221         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4222         (find_element), (gst_bin_sort_iterator_next),
4223         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4224         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4225         (gst_bin_change_state), (gst_bin_dispose):
4226         A bin does not have a bus, it gets the bus from the parent.
4227
4228         * gst/gstelement.c: (gst_element_requires_clock),
4229         (gst_element_provides_clock), (gst_element_is_indexable),
4230         (gst_element_is_locked_state), (gst_element_change_state),
4231         (gst_element_set_bus_func):
4232         Small cleanups.
4233
4234         * gst/gstpipeline.c: (gst_pipeline_class_init),
4235         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4236         The pipeline provides a bus.
4237
4238 2005-09-28  Johan Dahlin  <johan@gnome.org>
4239
4240         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4241         gst_structure_get_enum instead of gst_structure_get_int
4242
4243         * gst/gststructure.c (gst_structure_get_enum): Impl.
4244
4245         * gst/gststructure.h (gst_structure_get_enum): Add
4246
4247         * docs/gst/gstreamer-sections.txt: Ditto
4248
4249         * gst/gstmessage.c (gst_message_new_state_changed): Use
4250         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4251         which does introspection.
4252         Reviewed by Christian Schaller
4253
4254 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4255
4256         * gst/gstinfo.c: (gst_debug_log_default):
4257           don't do dummy g_strdup()s
4258         * libs/gst/controller/gstcontroller.c:
4259         (on_object_controlled_property_changed),
4260         (gst_controlled_property_new), (gst_controller_new_valist),
4261         (gst_controller_new_list),
4262         (gst_controller_remove_properties_valist), (gst_controller_set),
4263         (gst_controller_get), (gst_controller_sync_values),
4264         (gst_controller_get_value_array), (_gst_controller_class_init),
4265         (gst_controller_get_type):
4266         * libs/gst/controller/gstcontroller.h:
4267         * libs/gst/controller/gstinterpolation.c:
4268         (gst_controlled_property_find_timed_value_node):
4269           convert // to /**/ comments
4270
4271 2005-09-28  Wim Taymans  <wim@fluendo.com>
4272
4273         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4274         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4275         (gst_bus_sync_signal_handler):
4276         * gst/gstbus.h:
4277         Added async-message and sync-message signals to the bus.
4278         Added helper BusFunc to emit signals for all posted messages.
4279
4280         * gst/gstmessage.c: (gst_message_type_get_name),
4281         (gst_message_type_to_quark), (gst_message_get_type):
4282         * gst/gstmessage.h:
4283         Register quarks for message names.
4284
4285 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4286
4287         * docs/libs/gstreamer-libs-sections.txt:
4288         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4289         (gst_controller_new_list):
4290         * libs/gst/controller/gstcontroller.h:
4291           added another constructor for language bindings
4292
4293 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4294
4295         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4296           add another check
4297         * gst/gstbus.c:
4298           add some doc
4299         * gst/gstinfo.c: (_gst_debug_init):
4300           slightly more readable color for refcount debugging
4301
4302 2005-09-28  Wim Taymans  <wim@fluendo.com>
4303
4304         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4305         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4306         (find_element), (gst_bin_sort_iterator_next),
4307         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4308         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4309         (gst_bin_change_state), (gst_bin_dispose):
4310         Small doc fixes. get_clock -> provide_clock.
4311
4312         * gst/gstelement.c: (gst_element_class_init),
4313         (gst_element_provides_clock), (gst_element_provide_clock),
4314         (gst_element_get_clock), (gst_element_commit_state),
4315         (gst_element_lost_state):
4316         * gst/gstelement.h:
4317         Make get/set_clock() symetric. Add provide_clock vmethod since
4318         that is actually what this function does.
4319
4320         * gst/gstpipeline.c: (gst_pipeline_class_init),
4321         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4322         (gst_pipeline_get_clock):
4323         get_clock -> provide_clock.
4324
4325 2005-09-28  Andy Wingo  <wingo@pobox.com>
4326
4327         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4328         lieu of real docs...
4329
4330         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4331
4332 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4333
4334         * gst/elements/gstcapsfilter.c:
4335         * gst/elements/gstfakesink.c:
4336         * gst/elements/gstfakesrc.c:
4337         * gst/elements/gstfdsink.c:
4338         * gst/elements/gstfdsrc.c:
4339         * gst/elements/gstfilesink.c:
4340         * gst/elements/gstfilesrc.c:
4341         * gst/elements/gstidentity.c:
4342         * gst/elements/gsttee.c:
4343         * gst/elements/gsttypefindelement.c:
4344           Make element details static.
4345
4346 2005-09-28  Wim Taymans  <wim@fluendo.com>
4347
4348         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4349         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4350         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4351         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4352         (gst_bin_change_state), (gst_bin_dispose):
4353         Some documentation updates.
4354         Clean up dispose handlers.
4355
4356         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4357         * gst/gstpad.c: (gst_pad_dispose):
4358         Clean up dispose handler.
4359
4360         * gst/gstpipeline.c: (gst_pipeline_change_state):
4361         Removed spurious UNLOCK.
4362
4363 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4364
4365         * docs/gst/gstreamer-sections.txt:
4366         * gst/base/gstbasesrc.h:
4367         * gst/gstelement.h:
4368         * gst/gstevent.h:
4369         * gst/gstobject.h:
4370         * gst/gstpad.h:
4371         * gst/gstpipeline.c:
4372         * gst/gstpipeline.h:
4373         * gst/gstutils.h:
4374         * gst/gstxml.h:
4375           added two new functions to the docs
4376                 documents all undocumented GstXXXFlags
4377                 completed some incomplete docs 
4378
4379 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4380
4381         * gst/gstbin.c: (gst_bin_dispose):
4382         * gst/gstelement.c: (gst_element_dispose):
4383           remove now useless and leaky resurrection code in dispose
4384         * gst/base/gstbasesrc.c: (gst_base_src_init):
4385         * gst/gstelementfactory.c: (gst_element_factory_create):
4386         * gst/gstobject.c: (gst_object_set_parent):
4387           add some debugging
4388
4389 2005-09-27  Wim Taymans  <wim@fluendo.com>
4390
4391         * docs/design/part-TODO.txt:
4392         Update TODO.
4393
4394         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4395         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4396         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4397         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4398         (gst_bin_change_state):
4399         * gst/gstelement.h:
4400         Remove element variable, we keep element info in the iterator now.
4401
4402 2005-09-27  Andy Wingo  <wingo@pobox.com>
4403
4404         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4405         values.
4406
4407 2005-09-27  Wim Taymans  <wim@fluendo.com>
4408
4409         * check/gst/gstbin.c: (GST_START_TEST):
4410         Enable check that works now.
4411
4412         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4413         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4414         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4415         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4416         (gst_bin_change_state):
4417         * gst/gstbin.h:
4418         Redid the state change algorithm using a topological sort algo.
4419         Handles all cases correctly.
4420         Exposed iterator for state change order.
4421
4422         * gst/gstelement.h:
4423         Temp storage for state changes. Need to get rid of this soon.
4424
4425 2005-09-27  Wim Taymans  <wim@fluendo.com>
4426
4427         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4428         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4429         (link_fold_func), (gst_pad_proxy_setcaps):
4430         Leak fixes, the fold functions need to unref the passed object and
4431         _get_parent_*() returns ref to parent.
4432
4433 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4434
4435         * check/gst/gstbuffer.c: (test_make_writable):
4436           Plug leak in test case and fix 'make check-valgrind'
4437
4438 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4439
4440         * gst/gstbuffer.c: (gst_subbuffer_init):
4441           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4442           works correctly in all circumstances (we could have just copied
4443           the parent buffer's readonly flag, but conceptually it seems
4444           cleaner to mark all subbuffers as read-only). (based on patch
4445           by Alessandro Decina, #314710).
4446         
4447         * check/gst/gstbuffer.c: (create_read_only_buffer),
4448         (test_make_writable), (test_subbuffer_make_writable),
4449         (gst_test_suite):
4450           Add some tests for gst_buffer_make_writable().
4451
4452 2005-09-27  Wim Taymans  <wim@fluendo.com>
4453
4454         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4455         use gst_object_has_ancestor().
4456
4457         * gst/gstobject.c: (gst_object_has_ancestor):
4458         * gst/gstobject.h:
4459         gst_object_has_ancestor() copied from gstbin.c as it is a
4460         usefull function.
4461
4462         * tests/instantiate/create.c: (create_all_elements):
4463         * tests/lat.c: (handoff_src), (handoff_sink):
4464         * tests/sched/runxml.c: (main):
4465         * tests/seeking/seeking1.c: (main):
4466         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4467         (main):
4468         Fix compilation of some tests.
4469
4470 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4471
4472         * gst/gsterror.h:
4473           Remove comment. GST_TYPE_G_ERROR is here to stay,
4474           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4475           (#316961, #300610).
4476
4477 2005-09-26  Wim Taymans  <wim@fluendo.com>
4478
4479         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4480         Added check that shows error in state change order.
4481
4482 2005-09-26  Wim Taymans  <wim@fluendo.com>
4483
4484         * gst/gstbin.c: (gst_bin_change_state):
4485         Make state change function use 3 queues again, we were
4486         adding elements in the wrong order.
4487
4488         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4489         Some debug info,
4490
4491         * gst/gstpad.c: (gst_pad_dispose):
4492         Added some debug info first.
4493
4494 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4495
4496         * docs/design/draft-push-pull.txt:
4497         * docs/design/part-events.txt:
4498         * docs/design/part-overview.txt:
4499         * docs/design/part-scheduling.txt:
4500           Replace all _pull_region() with _pull_range()
4501           
4502 2005-09-26  Andy Wingo  <wingo@pobox.com>
4503
4504         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4505
4506         * check/gst-libs/controller.c: Update for controller api change.
4507
4508         * configure.ac: 
4509         * tests/Makefile.am:
4510         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4511         over by GLib bug 118439.
4512         
4513         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4514         routines to a function.
4515
4516         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4517
4518         * libs/gst/controller/gsthelper.c:
4519         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4520         (gst_object_sync_values): Renamed from sink_values. Ugh.
4521
4522         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4523
4524         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4525         Renamed from controller_key, as it is exported.
4526
4527         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4528
4529 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4530
4531         * gst/Makefile.am:
4532         * gst/gst.h:
4533         * gst/gstpad.h:
4534         * gst/gstpadtemplate.h:
4535         * gst/gstquery.c:
4536         * gst/gstquery.h:
4537         * gst/gstqueryutils.c:
4538         * gst/gstqueryutils.h:
4539           remove queryutils headers after moving the two used functions
4540           to gstquery.  also fixes build problem for gstsiddec
4541
4542 2005-09-26  Michael Smith <msmith@fluendo.com>
4543
4544         * tools/gst-launch.1.in:
4545         Correct documentation in manpage of debug syntax
4546
4547 2005-09-26  Wim Taymans  <wim@fluendo.com>
4548
4549         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4550         (gst_base_src_is_seekable), (gst_base_src_change_state):
4551         Some more debugging info.
4552
4553 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4554
4555         * docs/gst/gstreamer-sections.txt:
4556         * gst/base/gstbasetransform.h:
4557         * gst/gstindex.h:
4558           added more docs
4559
4560 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4561
4562         * docs/gst/.cvsignore:
4563         * docs/gst/tmpl/.cvsignore:
4564         * docs/gst/tmpl/gstpipeline.sgml:
4565         * docs/gst/tmpl/gstplugin.sgml:
4566         * gst/gstpipeline.c:
4567         * gst/gstplugin.c:
4568         * gst/gstplugin.h:
4569           inlined the last two docs files
4570           removed the tmpl directory from cvs (no more conflicts here!)
4571
4572 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4573
4574         * docs/gst/gstreamer-sections.txt:
4575         * docs/gst/tmpl/.cvsignore:
4576         * docs/gst/tmpl/gstpad.sgml:
4577         * docs/gst/tmpl/gstpadtemplate.sgml:
4578         * gst/Makefile.am:
4579         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4580         (gst_pad_finalize), (gst_pad_set_pad_template):
4581         * gst/gstpad.h:
4582         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4583         (gst_pad_template_class_init), (gst_pad_template_init),
4584         (gst_pad_template_dispose), (name_is_valid),
4585         (gst_static_pad_template_get), (gst_pad_template_new),
4586         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4587         (gst_pad_template_pad_created):
4588         * gst/gstpadtemplate.h:
4589           inlined two more docs
4590           factored gstpadtemplate out of gstpad
4591
4592 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4593
4594         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4595         (test_children_state_change_order_semi_sink):
4596           Fix test case: we can't rely on a fixed state change order when
4597           going from READY => PAUSED because the sink might commit its 
4598           new state first when the first buffer created by the source 
4599           reaches the sink before the source has finished its change state.
4600           (Test case still fails at times, see #316856, comment 5 onwards)
4601
4602 2005-09-24  Wim Taymans  <wim@fluendo.com>
4603
4604         * docs/design/part-events.txt:
4605         * docs/design/part-gstbus.txt:
4606         * docs/design/part-gstpipeline.txt:
4607         * docs/design/part-messages.txt:
4608         * docs/design/part-overview.txt:
4609         * docs/design/part-segments.txt:
4610         * gst/gstbin.c:
4611         * gst/gstbuffer.c:
4612         * gst/gstclock.c:
4613         * gst/gstelement.c:
4614         * gst/gstevent.c:
4615         * gst/gstfilter.c:
4616         * gst/gstiterator.c:
4617         Various documentation updates.
4618
4619 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4620
4621         * gst/gstclock.h:
4622           Well, that's embarassing.  Luckily we weren't using
4623           GST_CLOCK_DIFF anywhere.
4624
4625 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4626
4627         * common/gtk-doc.mak:
4628           don't fail on building XML, FC4 slave shows a bunch of doc
4629           missing bits that I don't get
4630         * gst/gstpad.c:
4631         * gst/gstpipeline.c:
4632         * gst/gststructure.c:
4633           some doc updates
4634
4635 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4636
4637         * docs/design/part-gstbin.txt:
4638         * docs/design/part-gstbus.txt:
4639         * gst/gstbus.c:
4640           Add blurb about how the bus goes into flushing mode and
4641           drops all messages when its bin goes from READY into NULL 
4642           state.
4643
4644 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4645
4646         * docs/gst/gstreamer-sections.txt:
4647         * gst/gststructure.c: (gst_structure_get_clock_time):
4648         * gst/gststructure.h:
4649           add a method to get a GstClockTime out of a structure
4650
4651 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4652
4653         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4654         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4655           Added test to check state change order in bins (can still be made
4656           to fail here under heavy disk load; bails out with 'Push on pad
4657           fakesink:sink0, but it was not activated in push mode').
4658
4659         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4660           Fix state change order when there is only a semi sink (#316856)
4661
4662         * gst/gstbus.c: (gst_bus_class_init):
4663           Use _class_peek_parent(), not _class_ref(); fix docs to say
4664           'default main context' instead of 'mainloop' where that is
4665           what's meant.
4666
4667         * gst/gstelement.c: (gst_element_commit_state),
4668         (gst_element_set_state):
4669           Fix typos in debug messages
4670
4671 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4672
4673         * docs/README:
4674         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4675         * gst/gstpluginfeature.c:
4676         * gst/gstutils.c:
4677           various doc updates
4678         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4679           change an assert into an error until it gets fixed properly
4680
4681 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4682
4683         * docs/gst/gstreamer-sections.txt:
4684         * docs/gst/tmpl/.cvsignore:
4685         * docs/gst/tmpl/gstelement.sgml:
4686         * docs/gst/tmpl/gstinfo.sgml:
4687         * docs/gst/tmpl/gstobject.sgml:
4688         * gst/gstelement.c:
4689         * gst/gstelement.h:
4690         * gst/gstinfo.c:
4691         * gst/gstinfo.h:
4692         * gst/gstobject.c: (gst_object_class_init):
4693         * gst/gstobject.h:
4694           inlined 3 more biiiig doc files and added some missing docs on the fly
4695
4696 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4697
4698         * check/gst/.cvsignore:
4699         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4700         * gst/gstregistryxml.c: (load_plugin),
4701         (gst_registry_xml_save_plugin):
4702           put back source in registry.  add checks for find_plugin.
4703         * testsuite/states/bin.c: (assert_state), (empty_bin),
4704         (test_adding_one_element), (main):
4705         * testsuite/states/locked.c: (main):
4706           some compile/run fixes
4707
4708 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4709
4710         * check/gst/gstvalue.c: (GST_START_TEST):
4711           fix leaks in the test itself
4712
4713 2005-09-22  Wim Taymans  <wim@fluendo.com>
4714
4715         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4716         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4717         (gst_base_sink_query):
4718         Prepare for more accurate position reporting and query
4719         handling.
4720
4721         * gst/gstelement.c: (gst_element_send_event),
4722         (gst_element_set_state):
4723         Add some comment.
4724
4725 2005-09-22  Wim Taymans  <wim@fluendo.com>
4726
4727         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4728         (gst_query_parse_segment):
4729         * gst/gstquery.h:
4730         More documentation.
4731         Add segment query for future use.
4732
4733 2005-09-22  Wim Taymans  <wim@fluendo.com>
4734
4735         * gst/gstbin.c: (gst_bin_add_func):
4736         Some more debug info.
4737
4738         * gst/gstelement.c: (gst_element_send_event):
4739         Simplify send_event
4740
4741         * gst/gstelement.h:
4742         Don't know how flags got broken.
4743
4744         * gst/gstquery.h:
4745         Added new query.
4746
4747 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4748
4749         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4750           Add simplistic test suite for GST_TYPE_DATE serialisation and
4751           deserialisation.
4752
4753 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4754
4755         * docs/gst/gstreamer-sections.txt:
4756         * gst/gststructure.c: (gst_structure_set_valist),
4757         (gst_structure_get_date):
4758         * gst/gststructure.h:
4759         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4760         (gst_date_copy), (gst_value_compare_date),
4761         (gst_value_serialize_date), (gst_value_deserialize_date),
4762         (gst_value_transform_date_string),
4763         (gst_value_transform_string_date), (_gst_value_initialize):
4764         * gst/gstvalue.h:
4765           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4766           bunch of utility functions along with a hack that checks that
4767           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4768           is required. Part of the grand scheme in #170777.
4769
4770 2005-09-22  Andy Wingo  <wingo@pobox.com>
4771
4772         * gst/gstconfig.h.in: Psych out gtk-doc.
4773
4774         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4775
4776         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4777
4778         * tools/gst-inspect.c (print_element_list): Plug some
4779         inconsequential leaks.
4780
4781         * gst/gstregistry.c (gst_registry_get_default): Doc.
4782
4783         * check/gst/gstplugin.c: 
4784         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4785         * gst/gstelementfactory.c (gst_element_factory_create): 
4786         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4787         refcount changes.
4788
4789         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4790         (gst_plugin_feature_load): Doc, don't eat refs.
4791
4792         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4793         (gst_plugin_list_free): Doc.
4794         (gst_plugin_load_file): Doc updates.
4795
4796         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4797         accessors returning refcounted objects, return a ref.
4798
4799         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4800         accessor for caps. IDEMPOTENCE. Oh yes.
4801
4802 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4803
4804         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4805
4806         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4807         (_gst_debug_register_funcptr):
4808           Add mutex to serialise access to the hash table with
4809           the function pointer => function name string mapping;
4810           make that hash table static scope (#316809).
4811
4812         * gst/registries/.cvsignore:
4813           Remove left-over file.
4814
4815 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4816
4817         * docs/pwg/appendix-porting.xml:
4818           And something about newsegment events and caps-on-buffers to
4819           the porting guide (feel free to improve).
4820
4821 2005-09-21  Andy Wingo  <wingo@pobox.com>
4822
4823         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4824         data and event probes on the same pad.
4825         (test_buffer_probe_once): Test that removing probes from within
4826         the probe functions works.
4827
4828 2005-09-21  Andy Wingo  <wingo@pobox.com>
4829
4830         * check/gst/gstutils.c: New file.
4831         (test_buffer_probe_n_times): A simple buffer probe test. More to
4832         come, foolios.
4833
4834         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4835         have-data::buffer, not have-data.
4836         (gst_pad_add_event_probe): Likewise for have-data::event.
4837         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4838         peer' isn't quite right yet though.
4839         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4840         (gst_pad_remove_data_probe): Change to take the guint handler_id
4841         as their arg, not the function+data, which is more glib-like.
4842
4843         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4844         the signal emission to indicate if the data is a buffer or an
4845         event.
4846         (gst_pad_get_type): Initialize buffer and event quarks.
4847         (gst_pad_class_init): have-data is now a detailed signal, yes it
4848         is.
4849
4850 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4851
4852         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4853         * gst/gstutils.c: (gst_util_set_value_from_string),
4854         (gst_util_set_object_arg):
4855           Don't put functional code in g_return_if_fail() or
4856           g_return_val_if_fail() statements, otherwise things will 
4857           break when G_DISABLE_CHECKS is defined during compilation.
4858
4859 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4860
4861         * docs/gst/tmpl/.cvsignore:
4862         * docs/gst/tmpl/gstvalue.sgml:
4863         * gst/gstvalue.c:
4864         * gst/gstvalue.h:
4865           inlied another one and added  some obvious docs
4866
4867 2005-09-21  Wim Taymans  <wim@fluendo.com>
4868
4869         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4870         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
4871         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
4872         (gst_fdsrc_get_property), (gst_fdsrc_create):
4873         * gst/elements/gstfdsrc.h:
4874         Properly implement fdsrc. Removed signal and timeout,
4875         better implemented somewhere else.
4876
4877 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4878
4879         * docs/gst/tmpl/.cvsignore:
4880         * docs/gst/tmpl/gstimplementsinterface.sgml:
4881         * gst/gstinterface.c:
4882           inlined more docs
4883
4884 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4885
4886         * docs/gst/gstreamer-sections.txt:
4887         * docs/gst/tmpl/.cvsignore:
4888         * docs/gst/tmpl/gstenumtypes.sgml:
4889           remove obsolete doc file
4890
4891 2005-09-21  David Schleef  <ds@schleef.org>
4892
4893         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
4894         little beer, fix a little leak.
4895
4896 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4897
4898         * docs/gst/gstreamer-docs.sgml:
4899         * docs/gst/gstreamer-sections.txt:
4900         * docs/gst/tmpl/.cvsignore:
4901         * gst/Makefile.am:
4902         * gst/gst.h:
4903         * gst/gstbin.c:
4904         * gst/gstelement.h:
4905         * gst/gstindex.c: (gst_index_class_init):
4906         * gst/gstindex.h:
4907         * gst/gstindexfactory.c: (gst_index_factory_get_type),
4908         (gst_index_factory_class_init), (gst_index_factory_init),
4909         (gst_index_factory_finalize), (gst_index_factory_new),
4910         (gst_index_factory_destroy), (gst_index_factory_find),
4911         (gst_index_factory_create), (gst_index_factory_make):
4912         * gst/gstindexfactory.h:
4913         * gst/gstpluginfeature.c:
4914         * gst/gstpluginfeature.h:
4915         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4916           more docs inlined, splitted gstindex.{c,h}
4917
4918 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4919
4920         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4921           fix a leak
4922
4923 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4924
4925         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4926           Set sync to FALSE by default.
4927
4928 2005-09-20  Wim Taymans  <wim@fluendo.com>
4929
4930         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4931         (gst_base_sink_init):
4932         Make sync property settable from subclass.
4933
4934         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
4935         (gst_fake_sink_change_state):
4936         Set sync to FALSE by default.
4937
4938 2005-09-20  Wim Taymans  <wim@fluendo.com>
4939
4940         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
4941         * tools/gst-launch.c: (main):
4942         The timeout handler should have lower priority than the source
4943         so we don't timeout before popping a message with 0 timeout.
4944         Dump error messages after failed state change.
4945
4946 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4947
4948         * tools/gst-inspect.c: (print_element_properties_info):
4949           Fix two typos.
4950
4951 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4952
4953         * check/gst/gstevent.c:
4954         * gst/elements/gstfakesink.c:
4955         * gst/elements/gstfakesink.h:
4956           remove the sync property from fakesink.
4957           has the side effect of setting sync TRUE
4958           for fakesink, which is a change.  Anyone who knows how
4959           to fix this nicely in a GObject-y way, feel free.
4960
4961 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4962
4963         * docs/gst/gstreamer-docs.sgml:
4964           remove probe refsection
4965
4966 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4967
4968         * check/Makefile.am:
4969           disable valgrinding the controller test again
4970         * docs/gst/gstreamer-sections.txt:
4971           update for api-changes
4972
4973 2005-09-20  Wim Taymans  <wim@fluendo.com>
4974
4975         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4976         (gst_base_sink_set_property), (gst_base_sink_get_property),
4977         (gst_base_sink_do_sync):
4978         * gst/base/gstbasesink.h:
4979         Added sync property to basesink to disable clock sync.
4980
4981 2005-09-20  Andy Wingo  <wingo@pobox.com>
4982
4983         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
4984         eating the caller's refcount.
4985
4986         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
4987         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
4988         refcount.
4989
4990         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
4991         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
4992         of GLib 2.8 public, so we can know which refcount to check in
4993         tests.
4994
4995         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
4996         (gst_object_init): Only set the gst refcount if we're going ahead
4997         with the refcount hack.
4998
4999 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5000
5001         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5002         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5003           more leaks plumbed, added more debug-logging
5004         * gst/gstmacros.h:
5005           whitespace fix
5006
5007 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5008
5009         * gst/gstmessage.c:
5010           remove include of gstmemchunk.h
5011
5012 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5013
5014         * gst/gstclock.c: (_gst_clock_id_free):
5015           Commit from the Political Party For More Atomic CVS Commits,
5016           so that people don't waste too much of their day fishing
5017           out obvious leaks out of massive commits.
5018           Oh, and fix a pretty damn obvious leak in the memchunk
5019           removal code.
5020
5021 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5022
5023         * check/Makefile.am:
5024         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5025           plug mem-leak, re-add to valgrindable tests
5026
5027 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5028
5029         * gst/gstplugin.h:
5030           unbreak the build for those who have chronic arthritis
5031           and typing "make check" is just too taxing on the hands
5032
5033 2005-09-20  Andy Wingo  <wingo@pobox.com>
5034
5035         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5036         really want it out, you should fix plugins at the same time.
5037
5038 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5039
5040         * configure.ac:
5041         * docs/gst/gstreamer-sections.txt:
5042         * gst/gstobject.c:
5043           added missing symbols to api docs
5044           disable ref-count hack if we have glib >= 2.8
5045
5046 2005-09-19  David Schleef  <ds@schleef.org>
5047
5048         * docs/gst/Makefile.am: Ignore a few more internal headers
5049         * docs/gst/gstreamer-docs.sgml: Remove old sections
5050         * docs/gst/gstreamer-sections.txt: Remove old sections
5051         * docs/gst/tmpl/gstobject.sgml: update
5052         * docs/gst/tmpl/gstplugin.sgml: update
5053         * docs/gst/tmpl/gstpluginfeature.sgml: update
5054         * docs/random/ds/0.9-suggested-changes: update.
5055         * gst/Makefile.am: remove memchunk and trashstack, since they're
5056           not used.
5057         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5058         * gst/gst.h: don't include some headers
5059         * gst/gstchildproxy.c: add gstmarshal.h
5060         * gst/gstclock.c: Don't use memchunks
5061         * gst/gstminiobject.c: Add some docs
5062         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5063         * gst/gstobject.h: same
5064         * gst/gstplugin.c: include gstmacros.h
5065         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5066         * gst/gstquery.c: don't use memchunks
5067         * gst/gstregistry.c: rename gst_registry_deinit()
5068         * gst/gstregistry.h: same
5069
5070 2005-09-19  David Schleef  <ds@schleef.org>
5071
5072         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5073         * docs/libs/gstreamer-libs-sections.txt:
5074         * docs/libs/tmpl/gstgetbits.sgml:
5075         * docs/libs/tmpl/gstputbits.sgml:
5076
5077 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5078
5079         * win32/gstenumtypes.c:
5080         * win32/gstenumtypes.h:
5081           Update.
5082
5083 2005-09-19  Wim Taymans  <wim@fluendo.com>
5084
5085         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5086         Automatically PAUSE and RESUME a pipeline when a flushing seek
5087         is performed.
5088
5089 2005-09-19  Andy Wingo  <wingo@pobox.com>
5090
5091         * gst/gstregistry.h: Spacing fixen.
5092
5093 2005-09-19  Wim Taymans  <wim@fluendo.com>
5094
5095         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5096         Handle state change failure more correctly.
5097
5098 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5099
5100         * check/Makefile.am:
5101         * check/pipelines/cleanup.c: (run_pipeline):
5102         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5103         (GST_START_TEST):
5104           enable cleanup again after fixing the leak
5105         * docs/README:
5106           some more info on docs
5107
5108 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5109
5110         * check/Makefile.am:
5111           re-enable tests now that leaks are plugged
5112         * check/gst/gst.c:
5113         * check/gst/gstbin.c:
5114         * check/gst/gstpipeline.c:
5115           add some more tests while fixing leaks
5116         * common/check.mak:
5117           make sure binaries are uptodate when valgrinding/gdbing
5118         * gst/gst.c:
5119         * gst/gstelementfactory.c:
5120           remove a ref too many, and add a FIXME for when we get
5121           round to disposing of classes
5122         * gst/gstplugin.c:
5123           fix the refcounting when loading a plugin from a file and
5124           the code pretends that the pointer is the same even though
5125           of course it can change
5126         * gst/gstpluginfeature.c:
5127           unref plugins marked cached (a bit confusing as a name)
5128           as the docs state should be done
5129           various doc additions to explain refcounting
5130         * gst/gstregistry.c:
5131         * gst/gstregistryxml.c:
5132           debugging
5133
5134 2005-09-19  Wim Taymans  <wim@fluendo.com>
5135
5136         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5137         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5138         (send_messages), (GST_START_TEST), (gstbus_suite):
5139         * check/gst/gstpipeline.c: (GST_START_TEST):
5140         * check/pipelines/cleanup.c: (run_pipeline):
5141         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5142         (GST_START_TEST):
5143         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5144         (gst_bus_source_check), (gst_bus_source_dispatch),
5145         (gst_bus_create_watch), (gst_bus_add_watch_full),
5146         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5147         * gst/gstbus.h:
5148         * tools/gst-launch.c: (event_loop):
5149         * tools/gst-md5sum.c: (event_loop):
5150         GstBusHandler -> GstBusFunc, return value has the same meaning as
5151         any other GSource (FALSE == remove source).
5152         _add_watch() and _add_watch_full() now take a MessageType mask to
5153         only handle specific types of messages.
5154         _poll() returns the GstMessage instead of the message type to avoid
5155         race conditions.
5156         _have_pending() takes a MessageType mask now too.
5157         Added testsuite for multiple bus watches.
5158         Fix testsuites and applications for new bus API.
5159
5160 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5161
5162         * check/Makefile.am:
5163           mark a bunch of the tests as to fix until we fix them
5164
5165 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5166
5167         * common/check.mak:
5168           use GST_PLUGIN settings for valgrind tests as well, so we're
5169           valgrinding the correct thing
5170         * gst/gst.c: (init_post):
5171           plug another leak
5172
5173 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5174
5175         * gst/gst.c: (init_post), (gst_deinit):
5176         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5177         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5178         * gst/gstindex.c: (gst_index_factory_class_init),
5179         (gst_index_factory_finalize):
5180         * gst/gstobject.c: (gst_object_dispose):
5181         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5182         (gst_plugin_load_file), (gst_plugin_desc_free):
5183         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5184         (gst_plugin_feature_finalize):
5185         * gst/gstregistry.c: (gst_registry_class_init),
5186         (gst_registry_init), (gst_registry_finalize),
5187         (gst_registry_get_default), (gst_registry_deinit):
5188         * gst/gstregistry.h:
5189         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5190           various cleanups and memleak plugging.  make valgrind is happy now.
5191
5192 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5193
5194         * common/check.mak:
5195           add a check-valgrind target
5196
5197 2005-09-18  David Schleef  <ds@schleef.org>
5198
5199         * tools/gst-inspect.c: Revert the GOption code.
5200
5201 2005-09-17  David Schleef  <ds@schleef.org>
5202
5203         * check/Makefile.am: Fix environment variables.
5204         * check/gst/gstplugin.c: Fix for API changes.
5205         * tools/gst-inspect.c: Fix for API changes.
5206         * tools/gst-xmlinspect.c: Fix for API changes.
5207         * gst/gstelementfactory.c:
5208         * gst/gstplugin.c:
5209         * gst/gstplugin.h:
5210         * gst/gstpluginfeature.c:
5211         * gst/gstpluginfeature.h:
5212         * gst/gstregistry.c:
5213         * gst/gstregistry.h:
5214         * gst/gstregistryxml.c:
5215         * gst/gsttypefind.c:
5216         * gst/gsttypefindfactory.c:
5217         * gst/indexers/gstfileindex.c:
5218         * gst/indexers/gstmemindex.c:
5219         * gst/schedulers/Makefile.am:
5220           Change registry to keep track of both plugins and features,
5221           removing the feature tracking from plugins themselves.
5222
5223 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5224
5225         * check/Makefile.am:
5226         * tools/gst-register.1.in:
5227           remove gst-register
5228
5229 2005-09-15  David Schleef  <ds@schleef.org>
5230
5231         * check/gst/gstplugin.c:
5232         * gst/gstelementfactory.c:
5233         * gst/gstplugin.c:
5234         * gst/gstpluginfeature.c:
5235         * gst/gstregistry.c:
5236           Getting tired of debugging.  Disabled all the unreffing of
5237           plugins and features, which fixes the segfaults, but of
5238           course leaks like crazy.  At least playbin works.
5239
5240 2005-09-15  David Schleef  <ds@schleef.org>
5241
5242         * check/gst/gstplugin.c: (register_check_elements),
5243         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5244         More testing
5245         * gst/elements/gsttypefindelement.c: Fix refcounting.
5246         * gst/gsttypefind.c:
5247         * gst/gsttypefindfactory.c:
5248         * gst/gsttypefindfactory.h:
5249
5250 2005-09-15  David Schleef  <ds@schleef.org>
5251
5252         * gst/gstindex.c: get refcounting correct.
5253         * gst/gstregistry.c: Handle the case where a feature/plugin is
5254           not found.
5255
5256 2005-09-15  David Schleef  <ds@schleef.org>
5257
5258         * check/Makefile.am:
5259         * check/gst/gstplugin.c: Add test
5260         * gst/gstplugin.c: Fix problems noticed by testsuite
5261         * gst/gstplugin.h:
5262         * gst/gstregistry.c: 
5263         * gst/gstregistry.h:
5264
5265 2005-09-15  David Schleef  <ds@schleef.org>
5266
5267         * gst/gstplugin.c: Implement semi-decent recounting and locking
5268           in plugins and plugin features.
5269         * gst/gstplugin.h:
5270         * gst/gstpluginfeature.c:
5271         * gst/gstpluginfeature.h:
5272         * gst/gstregistry.c:
5273
5274 2005-09-15  Michael Smith <msmith@fluendo.com>
5275
5276         * gst/gstregistry.c: (gst_registry_get_feature_list):
5277           Implement this. Makes oggdemux work; decodebin still broken.
5278
5279 2005-09-14  David Schleef  <ds@schleef.org>
5280
5281         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5282           #316076)
5283         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5284         * gst/check/Makefile.am:
5285         * libs/gst/controller/Makefile.am:
5286         * libs/gst/dataprotocol/Makefile.am:
5287
5288 2005-09-14  David Schleef  <ds@schleef.org>
5289
5290         * configure.ac: Remove getbits library.  Nothing uses it, and
5291           it should be in something like liboil if someone did want
5292           to use it.
5293         * libs/gst/Makefile.am:
5294         * libs/gst/getbits/Makefile.am:
5295         * libs/gst/getbits/gbtest.c:
5296         * libs/gst/getbits/getbits.c:
5297         * libs/gst/getbits/getbits.h:
5298         * libs/gst/getbits/gstgetbits_generic.c:
5299         * libs/gst/getbits/gstgetbits_i386.s:
5300         * libs/gst/getbits/gstgetbits_inl.h:
5301
5302 2005-09-14  David Schleef  <ds@schleef.org>
5303
5304         * gst/Makefile.am: Dist glib-compat.h
5305
5306 2005-09-14  David Schleef  <ds@schleef.org>
5307
5308         * configure.ac: Remove gst/registries, since it's no longer used.
5309         * gst/registries/Makefile.am:
5310         * gst/registries/gstlibxmlregistry.c:
5311         * gst/registries/gstlibxmlregistry.h:
5312         * gst/registries/gstxmlregistry.c:
5313         * gst/registries/gstxmlregistry.h:
5314         * gst/registries/registrytest.c:
5315
5316 2005-09-14  David Schleef  <ds@schleef.org>
5317
5318         * gst/glib-compat.h:
5319         * gst/gstregistryxml.c:
5320           Convergence is near.  Seriously.
5321
5322 2005-09-14  David Schleef  <ds@schleef.org>
5323
5324         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5325         * gst/glib-compat.h:
5326           Attempt #4 to appease the buildbots.
5327
5328 2005-09-14  David Schleef  <ds@schleef.org>
5329
5330         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5331           Attempt #3.
5332
5333 2005-09-14  David Schleef  <ds@schleef.org>
5334
5335         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5336         Attempt #2.
5337
5338 2005-09-14  David Schleef  <ds@schleef.org>
5339
5340         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5341           the new functions.
5342
5343 2005-09-14  David Schleef  <ds@schleef.org>
5344
5345         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5346         * gst/glib-compat.h: Add some functions that are in newer versions
5347           of glib than we care to require.
5348         * gst/gstregistryxml.c: Use them.
5349
5350 2005-09-14  David Schleef  <ds@schleef.org>
5351
5352         * po/POTFILES.in: remove gst-register.c
5353
5354 2005-09-14  David Schleef  <ds@schleef.org>
5355
5356         * docs/gst/gstreamer-docs.sgml:
5357         * docs/gst/gstreamer-sections.txt:
5358         * docs/gst/gstreamer.types:
5359         * docs/gst/tmpl/gstelement.sgml:
5360         * docs/gst/tmpl/gstplugin.sgml:
5361         * docs/gst/tmpl/gstpluginfeature.sgml:
5362           Documentation updates for registry changes.
5363
5364 2005-09-14  David Schleef  <ds@schleef.org>
5365
5366         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5367           because we don't require glib-2.8.
5368
5369 2005-09-14  David Schleef  <ds@schleef.org>
5370
5371         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5372           registries directory.
5373
5374 2005-09-14  David Schleef  <ds@schleef.org>
5375
5376         * check/Makefile.am:
5377         * check/generic/states.c:
5378         * gst/Makefile.am:
5379         * gst/gst.c:
5380         * gst/gst.h:
5381         * gst/gst_private.h:
5382         * gst/gstelementfactory.c:
5383         * gst/gstindex.c:
5384         * gst/gstinfo.c:
5385         * gst/gstplugin.c:
5386         * gst/gstplugin.h:
5387         * gst/gstpluginfeature.c:
5388         * gst/gstpluginfeature.h:
5389         * gst/gstregistry.c:
5390         * gst/gstregistry.h:
5391         * gst/gstregistrypool.c: remove
5392         * gst/gstregistrypool.h: remove
5393         * gst/gsttypefind.c:
5394         * gst/gsttypefindfactory.c:
5395         * gst/gsturi.c:
5396         * tools/Makefile.am:
5397         * tools/gst-compprep.c:
5398         * tools/gst-inspect.c:
5399         * tools/gst-register.c: remove
5400         * tools/gst-xmlinspect.c:
5401           Registry rewrite.  Changes registry from being a file created
5402           by a tool into a simple cache file created automatically by 
5403           libgstreamer.  Removed gst-register (because it's no longer
5404           needed).  Remove registry pools, because we only have one
5405           registry implementation (XML).  Fix up other subsystems as
5406           necessary.
5407
5408 2005-09-13  Michael Smith <msmith@fluendo.com>
5409
5410         * gst/gstconfig.h.in:
5411           Don't Use windows linking attributes for MinGW. Fixes #316157
5412
5413 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5414
5415         * gst/gstutils.c: (set_state_async_thread_func),
5416         (gst_element_set_state_async):
5417           Apparently people think it's better if this function doesn't
5418           try to set the state to whatever state was asked for on the first
5419           call to this function for any object.  Seriously.
5420
5421 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5422
5423         * check/gst/gstpipeline.c: (GST_START_TEST):
5424         * docs/gst/gstreamer-sections.txt:
5425         * gst/gstutils.c: (set_state_async_thread_func),
5426         (gst_element_set_state_async):
5427         * gst/gstutils.h:
5428           add a "gst_element_set_state_async" method that
5429           sets the state and starts a thread to make sure the state
5430           change completes as best as it can
5431
5432 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5433
5434         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5435           codify design+behaviour in testsuite after discussion
5436
5437 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5438
5439         * docs/gst/tmpl/gstelement.sgml:
5440         * docs/manual/appendix-quotes.xml:
5441           add a quote
5442         * gst/gstelement.c: (gst_element_set_state):
5443           add some debug
5444
5445 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5446
5447         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5448         (gst_base_transform_prepare_output_buf),
5449         (gst_base_transform_handle_buffer):
5450         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5451         (gst_capsfilter_prepare_buf):
5452           Remove the requirement for sub-classes to call the parent
5453           implementation of prepare_output_buffer with a wrapper function.
5454           
5455         * gst/gsttaglist.h:
5456         * gst/gsttagsetter.h:
5457           Fix #define wrapper
5458
5459 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5460
5461         * docs/gst/gstreamer-sections.txt:
5462           more doc cleanups
5463
5464 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5465
5466         * docs/gst/gstreamer-sections.txt:
5467         * docs/gst/tmpl/gstelement.sgml:
5468         * docs/gst/tmpl/gstplugin.sgml:
5469         * gst/gstminiobject.c:
5470         * gst/gstvalue.h:
5471           docs now stop throwing warnings
5472
5473 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5474
5475         * docs/gst/gstreamer-sections.txt:
5476         * docs/gst/gstreamer.types:
5477         * docs/gst/tmpl/gstpad.sgml:
5478         * docs/gst/tmpl/gsttypes.sgml:
5479         * gst/base/gstadapter.h:
5480         * gst/base/gstbasesink.h:
5481         * gst/base/gstbasesrc.h:
5482         * gst/gstbin.h:
5483         * gst/gstbuffer.h:
5484         * gst/gstbus.h:
5485         * gst/gstcaps.h:
5486         * gst/gstclock.h:
5487         * gst/gstelement.h:
5488         * gst/gstevent.h:
5489         * gst/gstmessage.h:
5490         * gst/gstpad.h:
5491         * gst/gststructure.c:
5492         * gst/registries/gstlibxmlregistry.h:
5493           various documentation fixes
5494
5495 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5496
5497         * docs/gst/gstreamer-sections.txt:
5498         * docs/gst/tmpl/gstvalue.sgml:
5499           rearrange gstvalue section
5500         * gst/gstutils.c: (gst_element_state_get_name):
5501           NONE -> VOID
5502         * gst/gstvalue.c: (_gst_value_initialize):
5503         * gst/gstvalue.h:
5504           doc updates
5505
5506 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5507
5508         * check/gst-libs/controller.c:
5509           Header include fix.
5510         * gst/base/gstbasetransform.c:
5511         (gst_base_transform_default_prepare_buf),
5512         (gst_base_transform_handle_buffer):
5513         * gst/base/gstbasetransform.h:
5514           Some more basetransform changes and fixes to enable sub-classes
5515           that modify buffer metadata only.
5516         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5517         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5518         (gst_capsfilter_prepare_buf):
5519           If the output pad has fixed allowed caps and input buffers 
5520           don't have any, set the fixed caps on outgoing buffers.
5521
5522 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5523         * check/elements/identity.c: (GST_START_TEST):
5524           Make the error a little clearer when the test fails because
5525           identity made a copy of the buffer.
5526         * docs/gst/gstreamer-sections.txt:
5527           New symbols in gstbasetransform.h
5528         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5529         (gst_base_transform_init), (gst_base_transform_transform_size),
5530         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5531         (gst_base_transform_default_prepare_buf),
5532         (gst_base_transform_get_unit_size),
5533         (gst_base_transform_buffer_alloc),
5534         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5535         (gst_base_transform_change_state),
5536         (gst_base_transform_set_passthrough),
5537         (gst_base_transform_set_in_place),
5538         (gst_base_transform_is_in_place):
5539         * gst/base/gstbasetransform.h:
5540           Change BaseTransform to separate in_place operate from same_caps
5541           output. in_place implies that the element can perform the transform
5542           on incoming buffers in-place, even if the caps on the output are
5543           different.
5544           Sub-class elements can now implement special buffer allocation
5545           methods for outgoing buffers if they wish to.
5546           Big documentation addition.
5547         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5548         * gst/elements/gstelements.c:
5549           Changes for basetransform modifications.
5550         * gst/elements/Makefile.am:
5551         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5552           Compile fix. Extra debug output.
5553
5554 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5555
5556         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5557         (gst_pad_suite):
5558           add tests for valid pad naming
5559         * gst/check/gstcheck.c: (gst_check_log_message_func),
5560         (gst_check_log_critical_func):
5561           add ASSERT_WARNING
5562           remove printing of code, it is fragile when the code contains
5563           % and the line number is enough info
5564         * gst/check/gstcheck.h:
5565         * gst/gstpad.c: (gst_pad_template_new):
5566           fix memleaks
5567
5568 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5569
5570         * configure.ac:
5571           say what CHECK flags we use
5572         * docs/libs/gstreamer-libs.types:
5573         * libs/gst/controller/Makefile.am:
5574         * libs/gst/controller/gst-controller.c:
5575         * libs/gst/controller/gst-controller.h:
5576         * libs/gst/controller/gst-helper.c:
5577         * libs/gst/controller/gst-interpolation.c:
5578         * libs/gst/controller/gstcontroller.c:
5579         * libs/gst/controller/gsthelper.c:
5580         * libs/gst/controller/gstinterpolation.c:
5581         * tools/gst-inspect.c: (print_plugin_info):
5582           we don't use dashes in header names
5583
5584 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5585
5586         * check/Makefile.am:
5587         * check/gst/.cvsignore:
5588         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5589         (gst_pipeline_suite), (main):
5590           adding a test for pipelines and state changes
5591         * gst/gstutils.c: (get_state_func):
5592           add some debugging
5593         * gstreamer.spec.in:
5594           fix up spec file
5595
5596 2005-09-08  Michael Smith <msmith@fluendo.com>
5597
5598         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5599         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5600         (gst_file_src_is_seekable), (gst_file_src_get_size),
5601         (gst_file_src_start):
5602         * gst/elements/gstfilesrc.h:
5603           Various fixes for unseekable, unmmapable, and non-normal files, so
5604           that fallback to read() rather than mmap() works.
5605         * gst/gstevent.c: (gst_event_new_newsegment):
5606           Allow newsegment events with segment_start == segment_end, as will
5607           correctly happen if you use filesrc on a zero-size file, for
5608           example.
5609
5610 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5611
5612         * gst/gstplugin.c: (gst_plugin_load_file):
5613           Call g_module_close when we don't load the module
5614
5615         * gst/registries/gstlibxmlregistry.c:
5616         (gst_xml_registry_get_property):
5617           Port leak fix from 0.8
5618
5619 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5620
5621         * docs/gst/gstreamer-docs.sgml:
5622         * docs/gst/tmpl/.cvsignore:
5623         * docs/gst/tmpl/gsttrace.sgml:
5624         * docs/gst/tmpl/gsttrashstack.sgml:
5625         * gst/Makefile.am:
5626         * gst/gst.h:
5627         * gst/gstelement.h:
5628         * gst/gstevent.h:
5629         * gst/gstmessage.c:
5630         * gst/gstmessage.h:
5631         * gst/gsttag.c:
5632         * gst/gsttag.h:
5633         * gst/gsttaginterface.c:
5634         * gst/gsttaginterface.h:
5635         * gst/gsttaglist.c:
5636         * gst/gsttaglist.h:
5637         * gst/gsttagsetter.c:
5638         * gst/gsttagsetter.h:
5639         * gst/gsttrace.c:
5640         * gst/gsttrace.h:
5641         * gst/gsttrashstack.c:
5642           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5643           inlined docs for gsttrace, gsttrashstack
5644
5645 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5646
5647         * gst/Makefile.am:
5648         * gst/elements/gstbufferstore.h:
5649         * gst/elements/gsttypefindelement.c:
5650         * gst/elements/gsttypefindelement.h:
5651         * gst/gst.h:
5652         * gst/gsttypefind.c:
5653         * gst/gsttypefind.h:
5654         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5655         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5656         (gst_type_find_factory_dispose),
5657         (gst_type_find_factory_unload_thyself),
5658         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5659         (gst_type_find_factory_get_caps),
5660         (gst_type_find_factory_get_extensions),
5661         (gst_type_find_factory_call_function):
5662         * gst/gsttypefindfactory.h:
5663         * gst/registries/gstlibxmlregistry.c:
5664         * gst/registries/gstxmlregistry.c:
5665           splitted gsttypefind into gsttypefind, gsttypefindfactory
5666
5667 2005-09-07  Andy Wingo  <wingo@pobox.com>
5668
5669         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5670         condition whereby the pad's task function is entered before the
5671         pad_mode variable was set.
5672
5673 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5674
5675         * gst/gstpad.c: (gst_pad_alloc_buffer):
5676           Catch misbehaving pad_alloc functions that don't
5677           set up caps and do it for them.
5678
5679 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5680
5681         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5682           test for pipe!=NULL
5683         * docs/gst/tmpl/.cvsignore:
5684         * docs/gst/tmpl/gstmemchunk.sgml:
5685         * docs/gst/tmpl/gstparse.sgml:
5686         * docs/gst/tmpl/gsttaglist.sgml:
5687         * docs/gst/tmpl/gsttagsetter.sgml:
5688         * docs/gst/tmpl/gsttypefind.sgml:
5689         * docs/gst/tmpl/gsttypefindfactory.sgml:
5690         * gst/gstmemchunk.c:
5691         * gst/gstparse.c:
5692         * gst/gsttag.c:
5693         * gst/gsttaginterface.c:
5694         * gst/gsttypefind.c:
5695         * gst/gsttypefind.h:
5696           inlined more docs
5697
5698 === release 0.9.2 ===
5699
5700 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5701
5702         * NEWS:
5703         * RELEASE:
5704         * configure.ac:
5705           releasing 0.9.2, "South"
5706
5707 2005-09-05  Andy Wingo  <wingo@pobox.com>
5708
5709         * gst/registries/gstxmlregistry.h:
5710         * gst/registries/gstxmlregistry.c: Um... resurrect...
5711         
5712         * gst/registries/gstxmlregistry.h:
5713         * gst/registries/gstxmlregistry.c: and update to newer API.
5714         Incidentally they should be a bit faster now that they don't have
5715         to parse the caps.
5716         
5717 2005-09-05  Andy Wingo  <wingo@pobox.com>
5718
5719         * gst/registries/gstxmlregistry.h:
5720         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5721         replaced by the libxml registry a while back
5722
5723 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5724
5725         * docs/gst/tmpl/gstplugin.sgml:
5726         * gst/elements/gstelements.c:
5727         * gst/gst.c:
5728         * gst/gstplugin.c: (gst_plugin_register_func),
5729         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5730         (gst_plugin_get_source):
5731         * gst/gstplugin.h:
5732         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5733         (gst_xml_registry_save_plugin):
5734         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5735         (gst_xml_registry_save_plugin):
5736         * tools/gst-inspect.c: (print_plugin_info):
5737           add a "source" plugin description field, to represent the source
5738           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5739           will set it to PACKAGE, which is automake's idea of the name of
5740           the source project.
5741
5742 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5743
5744         * Makefile.am:
5745         * autogen.sh:
5746         * configure.ac:
5747         * docs/Makefile.am:
5748         * docs/faq/Makefile.am:
5749         * docs/gst/tmpl/gstelement.sgml:
5750         * docs/gst/tmpl/gsttypes.sgml:
5751         * docs/htmlinstall.mak:
5752         * docs/manual/Makefile.am:
5753         * docs/pwg/Makefile.am:
5754           reorganize doc build a little
5755           split out docbook and gtk-doc stuff
5756           have two separate --enable's and enable them through autogen
5757           but disable by default in configure (to be similar to other
5758           projects)
5759         * gstreamer.spec.in:
5760           clean up docs install
5761         * po/af.po:
5762         * po/az.po:
5763         * po/ca.po:
5764         * po/cs.po:
5765         * po/de.po:
5766         * po/en_GB.po:
5767         * po/fr.po:
5768         * po/it.po:
5769         * po/nb.po:
5770         * po/nl.po:
5771         * po/ru.po:
5772         * po/sq.po:
5773         * po/sr.po:
5774         * po/sv.po:
5775         * po/tr.po:
5776         * po/uk.po:
5777         * po/vi.po:
5778           translation updates
5779
5780 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5781
5782         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5783           Add comment.
5784           
5785         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5786         (gst_fake_sink_change_state):
5787           Make state change function thread-safe.
5788           
5789         * gst/gstpad.c: (gst_pad_alloc_buffer):
5790           Set offset on generic buffer allocated by fallback.
5791
5792 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5793
5794         * docs/gst/gstreamer-sections.txt:
5795         * docs/gst/tmpl/gstelement.sgml:
5796         * gst/gstpad.c:
5797         * libs/gst/controller/gst-controller.c:
5798         (gst_controlled_property_set_interpolation_mode),
5799         (gst_controlled_property_new),
5800         (gst_controller_find_controlled_property):
5801          run the wingo-magic script against the docs
5802
5803 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5804
5805         * docs/gst/gstreamer-docs.sgml:
5806         * docs/gst/gstreamer-sections.txt:
5807         * docs/gst/tmpl/.cvsignore:
5808         * docs/gst/tmpl/gstelementdetails.sgml:
5809         * docs/gst/tmpl/gstelementfactory.sgml:
5810         * gst/gst.c:
5811         * gst/gstbus.c:
5812         * gst/gstelementfactory.c:
5813         * gst/gstelementfactory.h:
5814           merged elementdetails docs into elementfactory docs
5815           inlined both
5816
5817 2005-09-02  Andy Wingo  <wingo@pobox.com>
5818
5819         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5820         consider this enum an enum and not a flags.
5821
5822 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5823
5824         * docs/gst/gstreamer-docs.sgml:
5825         * docs/gst/tmpl/.cvsignore:
5826         * docs/gst/tmpl/gstghostpad.sgml:
5827         * docs/gst/tmpl/gstiterator.sgml:
5828         * docs/gst/tmpl/gstmacros.sgml:
5829         * docs/gst/tmpl/gstrealpad.sgml:
5830         * docs/gst/tmpl/gstregistry.sgml:
5831         * docs/gst/tmpl/gstregistrypool.sgml:
5832         * docs/gst/tmpl/gststructure.sgml:
5833         * docs/gst/tmpl/gstsystemclock.sgml:
5834         * docs/gst/tmpl/gsttrace.sgml:
5835         * gst/gstghostpad.c:
5836         * gst/gstmacros.h:
5837         * gst/gstmemchunk.c:
5838         * gst/gstmemchunk.h:
5839         * gst/gstqueue.c:
5840         * gst/gstregistry.c:
5841         * gst/gstregistrypool.c:
5842         * gst/gststructure.c:
5843         * gst/gstsystemclock.c:
5844           more docs inlined
5845
5846 2005-09-02  Andy Wingo  <wingo@pobox.com>
5847
5848         * gst/gstelement.h (GstState): Renamed from GstElementState,
5849         changed to be a normal enum instead of flags.
5850         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5851         munged to be GST_STATE_CHANGE_*.
5852         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5853         work with the new state representation.
5854         (GstStateChange): New enumeration of possible state transitions.
5855         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5856         (GstElementClass::change_state): Pass the GstStateChange along as
5857         an argument. Helps language bindings, so they don't have to use
5858         tricky lock-needing macros like GST_STATE_CHANGE ().
5859
5860         * scripts/update-states (file): New script. Run it on a file to
5861         update it for state naming and API changes. Updates files in
5862         place.
5863
5864         * All files updated for the new API.
5865
5866 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5867
5868         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
5869         * gst/gstutils.c: (gst_util_set_value_from_string),
5870         (gst_util_set_object_arg):
5871           fix a bunch of unchecked return values
5872         * tools/gst-complete.c: (main):
5873         * gstreamer.spec.in:
5874           clean up a little
5875
5876 2005-09-01  Wim Taymans  <wim@fluendo.com>
5877
5878         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5879         (gst_base_sink_event), (gst_base_sink_do_sync),
5880         (gst_base_sink_handle_event):
5881         * gst/base/gstbasesink.h:
5882         Handle newsegments more correctly.
5883
5884         * gst/gstbus.c:
5885         Fix docs.
5886
5887         * gst/gstevent.c: (gst_event_new_newsegment):
5888         A newsegment cannot have a start_time of -1
5889
5890 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5891
5892         * win32/gstenumtypes.c:
5893         * win32/gstenumtypes.h:
5894           Update
5895
5896 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5897
5898         * libs/gst/controller/gst-controller.c:
5899         (gst_controlled_property_set_interpolation_mode),
5900         (gst_controlled_property_new):
5901          fixed boolean again
5902
5903 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5904
5905         * docs/faq/gst-uninstalled:
5906           add -good
5907         * gst/gstevent.c:
5908         * gst/gstevent.h:
5909           remove wrong docs
5910         * gst/gstutils.c: (gst_element_link_filtered):
5911         * gst/gstutils.h:
5912           add gst_element_link_filtered
5913
5914 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5915
5916         * docs/gst/gstreamer-docs.sgml:
5917         * docs/gst/gstreamer-sections.txt:
5918         * docs/gst/tmpl/.cvsignore:
5919         * docs/gst/tmpl/gsterror.sgml:
5920         * docs/gst/tmpl/gstfilter.sgml:
5921         * docs/gst/tmpl/gsturihandler.sgml:
5922         * docs/gst/tmpl/gsturitype.sgml:
5923         * docs/gst/tmpl/gstutils.sgml:
5924         * docs/gst/tmpl/gstxml.sgml:
5925         * gst/gsterror.c:
5926         * gst/gsterror.h:
5927         * gst/gstfilter.c:
5928         * gst/gsturi.c:
5929         * gst/gsturitype.c:
5930         * gst/gstutils.c:
5931         * gst/gstxml.c:
5932           inlined more docs, fixed double id-ref
5933
5934 2005-08-31  Wim Taymans  <wim@fluendo.com>
5935
5936         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5937         (gst_base_transform_handle_buffer):
5938         Passthrough elements don't need the caps as they don't care.
5939
5940 2005-08-31  Wim Taymans  <wim@fluendo.com>
5941
5942         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5943         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
5944         Don't leak refcounts on buffers.
5945
5946 2005-08-31  Wim Taymans  <wim@fluendo.com>
5947
5948         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
5949         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5950         (gst_base_transform_chain), (gst_base_transform_change_state):
5951         * gst/base/gstbasetransform.h:
5952         Handle the case where we are not negotiated more gracefully.
5953
5954 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
5955
5956         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
5957         (gst_file_src_map_region):
5958           Set READONLY flag on mmap'ed buffers, otherwise
5959           gst_buffer_make_writable() won't work properly (#314708).
5960
5961 2005-08-31  Wim Taymans  <wim@fluendo.com>
5962
5963         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
5964         passthrough elements can even do inplace on non writable
5965         buffers (as they don't touch them).
5966
5967 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5968
5969         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
5970         (gst_test_mono_source_set_property),
5971         (gst_test_mono_source_class_init), (GST_START_TEST),
5972         (gst_controller_suite):
5973           more tests (hehe I have the most)
5974         * gst/gstbus.c:
5975           describe popping messages whenusing mulltiple sources
5976         * libs/gst/controller/gst-controller.c:
5977         (gst_controlled_property_set_interpolation_mode),
5978         (gst_controlled_property_new):
5979         * libs/gst/controller/gst-controller.h:
5980         * libs/gst/controller/gst-interpolation.c:
5981           implement boolean properties
5982
5983 2005-08-31  Wim Taymans  <wim@fluendo.com>
5984
5985         * gst/gstminiobject.c: (gst_mini_object_ref):
5986         Cannot assert that the refcount has to be positive
5987         since a disposed object can be resurrected.
5988
5989 2005-08-31  Wim Taymans  <wim@fluendo.com>
5990
5991         * gst/gstpad.c: (gst_pad_init):
5992         Revert change, need to first fix badly behaving 
5993         apps.
5994
5995 2005-08-30  Wim Taymans  <wim@fluendo.com>
5996
5997         * check/elements/fakesrc.c: (setup_fakesrc):
5998         * check/elements/identity.c: (setup_identity):
5999         Activate pads before using them.
6000
6001 2005-08-30  Wim Taymans  <wim@fluendo.com>
6002
6003         * gst/base/gstadapter.c: (gst_adapter_flush):
6004         Flushing out 0 bytes is ok for this function.
6005
6006         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6007         no newsegment gives a warning and sets the start/stop to 
6008         invalid.
6009
6010         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6011         (gst_base_transform_set_passthrough):
6012         Some debug info.
6013
6014         * gst/gstminiobject.c: (gst_mini_object_ref):
6015         Check refcount here too.
6016
6017         * gst/gstpad.c: (gst_pad_init):
6018         Pads are initially flushing and refusing data.
6019
6020         * gst/gstutils.c: (gst_element_link_pads_filtered):
6021         When adding a capsfilter element make sure it has the
6022         same state as the parent bin.
6023
6024 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6025
6026         * docs/gst/tmpl/.cvsignore:
6027         * docs/gst/tmpl/gstformat.sgml:
6028         * docs/gst/tmpl/gstversion.sgml:
6029         * gst/gstbus.h:
6030         * gst/gstformat.c:
6031         * gst/gstformat.h:
6032         * gst/gstversion.h.in:
6033           more docs and two more inlined
6034
6035 2005-08-30  Wim Taymans  <wim@fluendo.com>
6036
6037         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6038         Don't sync to clock.
6039
6040 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6041
6042         * docs/gst/gstreamer-sections.txt:
6043           ultral33t func10ns deserve to appear in the docs actually
6044         * docs/gst/tmpl/.cvsignore:
6045         * docs/gst/tmpl/gstcompat.sgml:
6046         * docs/gst/tmpl/gstconfig.sgml:
6047         * gst/check/gstcheck.c:
6048         * gst/gstcompat.h:
6049         * gst/gstconfig.h.in:
6050           inlined more docs
6051
6052 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6053
6054         * docs/gst/tmpl/.cvsignore:
6055         * docs/gst/tmpl/gstquery.sgml:
6056         * docs/gst/tmpl/gstutils.sgml:
6057         * gst/gstquery.c:
6058         * gst/gstquery.h:
6059           inlined and extended docs
6060
6061 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6062
6063         * check/gst-libs/controller.c: (GST_START_TEST),
6064         (gst_controller_suite):
6065           more tests
6066         * docs/gst/tmpl/gstutils.sgml:
6067         * docs/libs/gstreamer-libs-sections.txt:
6068         * docs/libs/tmpl/gstdataprotocol.sgml:
6069           include path fixes
6070         * examples/controller/audio-example.c: (main):
6071           controller example works now
6072         * gst/gstclock.h:
6073           doc fixes
6074         * tools/gst-inspect.c: (print_element_properties_info):
6075           show param spec flags
6076
6077 2005-08-29  Andy Wingo  <wingo@pobox.com>
6078
6079         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6080
6081 2005-08-28  Andy Wingo  <wingo@pobox.com>
6082
6083         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6084         as having two arguments instead of just one. Allows superclasses
6085         to access information on subclasses -- see the terrible for() loop
6086         in gtype.c:g_type_create_instance for the reason why. All callers
6087         changed.
6088
6089 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6090
6091         * docs/design/part-messages.txt:
6092           update info
6093         * docs/gst/tmpl/.cvsignore:
6094         * docs/gst/tmpl/gstcaps.sgml:
6095         * docs/gst/tmpl/gstclock.sgml:
6096         * gst/gstbus.c:
6097         * gst/gstcaps.c:
6098         * gst/gstcaps.h:
6099         * gst/gstclock.c:
6100         * gst/gstclock.h:
6101         * gst/gstmessage.c:
6102           added descriptions for bus and message
6103           inline caps and clock docs
6104
6105 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6106
6107         * gst/gstmessage.c:
6108         * gst/gstmessage.h:
6109           doc fixes
6110
6111 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6112
6113         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6114           fix div-by-zero
6115
6116 2005-08-26  Andy Wingo  <wingo@pobox.com>
6117
6118         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6119         element_set_state's return val.
6120         (test_2_elements): Add test that's been disabled for months.
6121
6122         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6123         can-activate-pull properties.
6124
6125         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6126         can-activate-pull properties. Implement is_seekable so fakesrc can
6127         operate in pull mode.
6128
6129         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6130         properties.
6131         (gst_base_sink_activate, gst_base_sink_activate_pull)
6132         (gst_base_sink_activate_push): Make activation mode choosing work.
6133         Cleanups.
6134         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6135         is right. Make pull mode work. Post an eos before pausing in pull
6136         mode.
6137         (gst_base_sink_change_state): Pay attention to the core's
6138         change_state() return val.
6139         
6140         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6141         has-getrange properties. Cleanups.
6142         
6143         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6144         has_getrange and replace with can_activate_pull and
6145         can_activate_push.
6146
6147         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6148         locking comments. Remove has_loop, has_chain and replace with
6149         can_activate_pull and can_activate_push.
6150
6151 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6152
6153         * configure.ac:
6154         * examples/Makefile.am:
6155         * examples/metadata/Makefile.am:
6156         * examples/metadata/read-metadata.c: (message_loop),
6157         (have_pad_handler), (make_pipeline), (print_tag), (main):
6158           Add metadata reading example that loops over a list of filenames,
6159           dumping any tags found.
6160
6161         * gst/gstbus.c: (gst_bus_dispose):
6162         * gst/gstelement.c: (gst_element_dispose):
6163           Release a few potentially-held references in dispose.
6164
6165 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6166
6167         * docs/gst/tmpl/gstminiobject.sgml:
6168           do *not* add tmpl/*.sgml files to CVS!
6169
6170 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6171
6172         * libs/gst/bytestream/.cvsignore:
6173         * libs/gst/bytestream/Makefile.am:
6174         * libs/gst/bytestream/adapter.c:
6175         * libs/gst/bytestream/adapter.h:
6176         * libs/gst/bytestream/bytestream.c:
6177         * libs/gst/bytestream/bytestream.h:
6178         * libs/gst/bytestream/filepad.c:
6179         * libs/gst/bytestream/filepad.h:
6180           removing obsolete files
6181
6182 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6183
6184         * docs/gst/gstreamer-docs.sgml:
6185         * docs/libs/gstreamer-libs-docs.sgml:
6186           disabed additional index entries again, as this makes docs-gen just
6187           slow and they aren't useful yet
6188         * docs/libs/gstreamer-libs-sections.txt:
6189           little -section.txt cleanup for libs
6190
6191 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6192
6193         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6194         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6195           fix up some debugging
6196         (gst_base_transform_get_unit_size),
6197         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6198         (gst_base_transform_handle_buffer):
6199         * gst/base/gstbasetransform.h:
6200           handle and store timed NEWSEGMENT events so that subclasses that
6201           calculate time by counting samples have a segment_start time they
6202           need to add to their timestamps - see audioresample
6203
6204 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6205
6206         * gst/gstbin.h:
6207           removed ';' from the end of macro defs
6208         * docs/gst/gstreamer-docs.sgml:
6209         * docs/gst/gstreamer-sections.txt:
6210         * docs/gst/tmpl/.cvsignore:
6211         * gst/gstbus.h:
6212         * gst/gstelement.c: (gst_element_class_init),
6213         (gst_element_set_state), (activate_pads),
6214         (gst_element_save_thyself):
6215         * gst/gstevent.c: (gst_event_new_newsegment):
6216         * gst/gstevent.h:
6217         * gst/gstiterator.c:
6218         * gst/gstiterator.h:
6219         * gst/gstpad.c:
6220         * gst/gstprobe.h:
6221         * gst/gstutils.c: (gst_pad_query_convert):
6222         * gst/gstutils.h:
6223           fixed parameter name mismatches between source, header and docs
6224           added some more docs, resolved the last batch of unused elements in
6225           docs (now someone needs to doc them)
6226
6227 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6228
6229         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6230         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6231           don't walk through the plugins backwards.  Where is all this
6232           reversed logic coming from ?
6233
6234 2005-08-25  Wim Taymans  <wim@fluendo.com>
6235
6236         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6237         (gst_base_transform_transform_size),
6238         (gst_base_transform_configure_caps),
6239         (gst_base_transform_get_unit_size),
6240         (gst_base_transform_buffer_alloc),
6241         (gst_base_transform_change_state):
6242         * gst/base/gstbasetransform.h:
6243         Cache caps unit_size.
6244         Make sure we cannot negotiate up and downstream at the
6245         same time.
6246
6247 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6248
6249         * gst/gst.c: (init_pre), (init_post):
6250           register the installed plugin path after the env var
6251         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6252         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6253           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6254           directories, so the tests can prefer uninstalled over installed
6255
6256 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6257
6258         * gst/base/gstbasetransform.h:
6259           comment
6260         * gst/gstpad.c:
6261           add to docs
6262
6263 2005-08-25  Wim Taymans  <wim@fluendo.com>
6264
6265         * gst/gstbin.c: (bin_bus_handler):
6266         Be a bit more conservative about the posted message.
6267         
6268         * gst/gstbus.c: (gst_bus_post):
6269         Some cleanups, warn wrong return values.
6270
6271 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6272
6273         * check/gst/gstbin.c: (GST_START_TEST):
6274         * gst/gstbin.c: (bin_bus_handler):
6275         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6276         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6277         (gst_message_new_warning), (gst_message_new_tag),
6278         (gst_message_new_state_changed), (gst_message_new_segment_start),
6279         (gst_message_new_segment_done), (gst_message_new_custom):
6280         * gst/gstmessage.h:
6281         * tools/gst-launch.c: (event_loop):
6282         * tools/gst-md5sum.c: (event_loop):
6283           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6284
6285 2005-08-25  Wim Taymans  <wim@fluendo.com>
6286
6287         * check/generic/states.c: (GST_START_TEST):
6288         Cleanup can be done at the end.
6289
6290         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6291         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6292         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6293         Oh boy.. Thanks for finding this, Thomas. 
6294
6295 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6296
6297         * docs/gst/gstreamer.types:
6298           added missing types
6299
6300 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6301
6302         * docs/gst/gstreamer-docs.sgml:
6303         * docs/gst/gstreamer-sections.txt:
6304         * docs/gst/tmpl/.cvsignore:
6305         * gst/gstbin.c:
6306         * gst/gstiterator.c:
6307         * gst/gstutils.c:
6308         * gst/registries/gstxmlregistry.h:
6309           added missing classes and symbols (123 more to go)
6310           removed removed symbols from section file
6311           fixed many doc-comments
6312
6313 2005-08-24  Wim Taymans  <wim@fluendo.com>
6314
6315         * check/generic/states.c: (GST_START_TEST):
6316         Make sure all tasks are stopped.
6317
6318         * check/gst/gstbin.c: (GST_START_TEST):
6319         Unref after usage for proper valgrinding.
6320
6321         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6322         Really wait for the task to stop before destroying the
6323         mutex.
6324
6325         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6326         (gst_queue_src_activate_push):
6327         Small cleanups. Don't stop the task when we did not start
6328         it.
6329
6330         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6331         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6332         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6333         (gst_task_join):
6334         * gst/gsttask.h:
6335         Protect the stream lock with the object lock.
6336         Disallow setting the stream lock when running.
6337         Add cleanup_all to wait for the threadpool to finish.
6338         Remove code to autoallocate a mutex if none was provided.
6339         Add _join() to wait for a task to stop.
6340         Protect the thread pool with a global lock.
6341
6342 2005-08-24  Wim Taymans  <wim@fluendo.com>
6343
6344         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6345         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6346         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6347         * gst/base/gstbasesink.h:
6348         Handle newsegment events correctly.
6349         Drop buffers out of the segment range.
6350
6351 2005-08-22  Andy Wingo  <wingo@pobox.com>
6352
6353         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6354         macro, implements an interface and gstimplementsinterface for a
6355         new type.
6356
6357 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6358
6359         * check/Makefile.am:
6360         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6361           add a test that does a bunch of state changes on elements
6362           needs some fixing for valgrind
6363         * check/states/sinks.c: (gst_object_suite):
6364           whitespace
6365         * gst/gstcaps.h:
6366           add prototype for gst_caps_is_equal_fixed
6367         * gst/gstplugin.c:
6368         * gst/gstregistrypool.c:
6369           doc fixes
6370
6371 2005-08-24  Andy Wingo  <wingo@pobox.com>
6372
6373         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6374         convert a negative value. Doesn't make much sense. Mostly this is
6375         here to force callers to ensure -1 maps to -1.
6376
6377 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6378
6379         * docs/pwg/advanced-types.xml:
6380           Well done to Michael for catching my deliberate introduction
6381           of this spelling mistake. 
6382         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6383         * gst/gstelement.h:
6384           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6385           unlink pads before removing the element from the bin.
6386
6387 2005-08-24  Andy Wingo  <wingo@pobox.com>
6388
6389         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6390         the same thing as GST_DEBUG=*:4.
6391         (parse_debug_level, parse_debug_category): New helper parsers.
6392
6393 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6394
6395         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6396         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6397         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6398         (gst_base_transform_buffer_alloc),
6399         (gst_base_transform_handle_buffer):
6400           use gboolean return values and pointers to size so we can use the
6401           full GST_BUFFER_SIZE range (guint) for buffer sizes
6402           use GstPadDirection for transform_caps
6403         * gst/base/gstbasetransform.h:
6404           rename get_size to get_unit_size since that's what it is
6405         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6406           use GstPadDirection for transform_caps
6407         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6408         * gst/gstutils.h:
6409           cleanup and debugging
6410
6411 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6412
6413         * gst/gstelement.c: (gst_element_class_init),
6414         (gst_element_set_state), (activate_pads),
6415         (gst_element_save_thyself):
6416         * tools/gst-compprep.c: (main):
6417         * tools/gst-inspect.c: (print_element_properties_info):
6418         * tools/gst-xmlinspect.c: (print_element_properties):
6419           Fixed long standing mem-leak
6420
6421 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6422
6423         * check/gst/gstbin.c: (GST_START_TEST):
6424         * gst/gstbin.c: (bin_bus_handler):
6425         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6426         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6427         (gst_message_new_warning), (gst_message_new_tag),
6428         (gst_message_new_state_changed), (gst_message_new_segment_start),
6429         (gst_message_new_segment_done), (gst_message_new_custom):
6430         * gst/gstmessage.h:
6431         * tools/gst-launch.c: (event_loop):
6432         * tools/gst-md5sum.c: (event_loop):
6433           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6434           that applications can sensibly post custom messages with references
6435           to their own objects.
6436
6437 2005-08-24  Andy Wingo  <wingo@pobox.com>
6438
6439         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6440         already.
6441
6442 2005-08-24  Wim Taymans  <wim@fluendo.com>
6443
6444         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6445         (gst_base_transform_transform_caps),
6446         (gst_base_transform_transform_size),
6447         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6448         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6449         (gst_base_transform_handle_buffer):
6450         * gst/base/gstbasetransform.h:
6451         Many fixes and new features added by Thomas. Can now also do
6452         transforms with variable sizes and a custom fixate_caps function.
6453
6454 2005-08-24  Wim Taymans  <wim@fluendo.com>
6455
6456         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6457         Some debugging.
6458
6459         * gst/gstclock.h:
6460         Cast to ClockTime before formatting to time.
6461
6462         * gst/gstutils.h:
6463         Cleanups.
6464
6465 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6466
6467         * check/gst-libs/controller.c: (GST_START_TEST),
6468         (gst_controller_suite):
6469         * docs/gst/tmpl/gstcaps.sgml:
6470         * docs/gst/tmpl/gstghostpad.sgml:
6471         * docs/gst/tmpl/gstquery.sgml:
6472         * docs/gst/tmpl/gstutils.sgml:
6473         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6474         (gst_object_sink_values), (gst_object_get_value_arrays),
6475         (gst_object_get_value_array):
6476           gracefully handle helper method calls to objects that are not beeing
6477           controlled, added test case for that          
6478
6479 2005-08-23  Wim Taymans  <wim@fluendo.com>
6480
6481         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6482         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6483         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6484         (gst_event_parse_qos), (gst_event_new_seek),
6485         (gst_event_parse_seek):
6486         * gst/gstevent.h:
6487         Some more debugging output and doc cleanups.
6488
6489         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6490         Fix possible deadlock.
6491
6492 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6493
6494         * docs/gst/gstreamer-docs.sgml:
6495         * docs/gst/gstreamer-sections.txt:
6496         * docs/gst/gstreamer.types:
6497         * docs/gst/tmpl/.cvsignore:
6498         * gst/gstbin.h:
6499         * gst/gstbus.c:
6500         * gst/gstelement.c:
6501         * gst/gstevent.h:
6502           added 100 symbols from gstreamer-unused.txt to the right sections
6503           fixed more broken comments
6504           added GstBus to docs
6505
6506 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6507
6508         * docs/gst/gstreamer-sections.txt:
6509         * docs/gst/tmpl/.cvsignore:
6510         * docs/gst/tmpl/gstbin.sgml:
6511         * docs/gst/tmpl/gstbuffer.sgml:
6512         * gst/base/gstbasesrc.c:
6513         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6514         * gst/gstbuffer.c:
6515         * gst/gstbuffer.h:
6516         * tools/gst-launch.1.in:
6517           inlined more doc comments, added missing comments and fixed comments
6518           fixed typos
6519
6520 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6521
6522         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6523           some debugging
6524         * gst/gstcaps.h:
6525           whitespace fixes
6526         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6527           more debugging
6528         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6529         * gst/gststructure.h:
6530           add a fixate function for booleans; add a FIXME that these func
6531           names should probably be gst_structure_fixate_*
6532
6533 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6534
6535         * docs/gst/gstreamer-docs.sgml:
6536         * docs/gst/gstreamer-sections.txt:
6537         * gst/Makefile.am:
6538         * gst/gstbin.c: (gst_bin_get_type),
6539         (gst_bin_child_proxy_get_child_by_index),
6540         (gst_bin_child_proxy_get_children_count),
6541         (gst_bin_child_proxy_init):
6542         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6543         (gst_child_proxy_get_child_by_index),
6544         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6545         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6546         (gst_child_proxy_get), (gst_child_proxy_set_property),
6547         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6548         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6549         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6550         * gst/gstchildproxy.h:
6551         * gst/parse/grammar.y:
6552         * tools/gst-inspect.c: (print_interfaces),
6553         (print_element_properties_info), (print_element_info):
6554           ported gstchildproxy over from 0.8
6555           ported gst-inspect fixes and enhancements over from 0.8
6556
6557 2005-08-22  Wim Taymans  <wim@fluendo.com>
6558
6559         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6560         (gst_base_transform_handle_buffer):
6561         Also call the transform function if we have ANY caps.
6562
6563         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6564         Fix debug info.
6565
6566 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6567
6568         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6569           Don't pretend to handle seek events if the source is not seekable
6570
6571 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6572
6573         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6574           Remove extra parameter to debug output
6575
6576         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6577         (gst_base_src_do_seek), (gst_base_src_activate_push):
6578           Fix seek event handling.
6579
6580         * gst/gstpipeline.c: (gst_pipeline_change_state):
6581         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6582         (gst_queue_src_activate_push):
6583           Don't start the src pad task on FLUSH_STOP if the pad
6584           isn't linked.
6585           Debug changes.
6586
6587 2005-08-22  Wim Taymans  <wim@fluendo.com>
6588
6589         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6590         Added check for gst_static_caps_get() refcounting.
6591
6592 2005-08-22  Wim Taymans  <wim@fluendo.com>
6593
6594         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6595         Make _static_caps_get() refcounting sane.
6596         
6597         * gst/gstelement.c: (gst_element_set_state):
6598         Add g_return_val_if_fail() to protect against segfaults.
6599
6600 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6601
6602         * docs/gst/tmpl/gstevent.sgml:
6603         * gst/gstevent.c:
6604         * gst/gstevent.h:
6605           inlined remaining docs, added missing doc comments
6606
6607 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6608
6609         * check/gst/gstbin.c: (GST_START_TEST):
6610           since we don't know when preroll is done, use refcount range
6611           check for the sink
6612         * gst/check/gstcheck.h:
6613           add macro for checking refcount range
6614
6615 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6616
6617         * check/Makefile.am:
6618           clean up environment for when registry gets built versus
6619           when actual tests are run; valgrind seems to not report
6620           leaks if GST_PLUGIN_PATH is set to some specific values
6621         * check/gst/gstbin.c: (GST_START_TEST):
6622           add more refcounting checks; maybe this exposes a
6623           preroll lock bug ?
6624         * common/check.mak:
6625         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6626         * gst/check/gstcheck.h:
6627         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6628         (gst_bin_change_state):
6629         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6630           add/fix debugging/whitespace
6631
6632 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6633
6634         * check/gst/gstevent.c: (event_probe), (test_event),
6635         (GST_START_TEST):
6636          Er, don't call gst_bin_watch_for_state_change you idiot.
6637
6638 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6639
6640         * check/Makefile.am:
6641           Use CHECK_CFLAGS and CHECK_LIBS
6642         * check/gst/gstevent.c: (event_probe), (test_event),
6643         (GST_START_TEST):
6644           Don't leak events.
6645         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6646         (gst_base_src_start), (gst_base_src_stop),
6647         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6648         (gst_base_src_change_state):
6649           Sprinkle gst_base_src_stop liberally around error paths to fix
6650           problems reusing a source after failed state changes.
6651         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6652         (helper_find_suggest), (gst_type_find_helper):
6653           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6654         * gst/gstevent.h:
6655         * docs/gst/tmpl/gstevent.sgml:
6656           Migrate part of the docs from the SGML file. Wait for ensonic to
6657           tell me how I did it wrong ;)
6658         * tools/gst-typefind.c: (main):
6659           Extra robustness to state changes between files.
6660
6661 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6662
6663         * check/Makefile.am:
6664           don't valgrind the controller test - it's leaking - Stefan, HELP
6665         * gst/check/gstcheck.c: (gst_check_message_error),
6666         (gst_check_chain_func), (gst_check_setup_element),
6667         (gst_check_teardown_element), (gst_check_setup_src_pad),
6668         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6669         (gst_check_teardown_sink_pad):
6670         * gst/check/gstcheck.h:
6671           add a bunch of methods to set up elements, and src and sink pads
6672         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6673         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6674         (GST_START_TEST):
6675           use them
6676         * gst/gstmessage.c:
6677         * gst/gsttag.h:
6678           whitespace/doc fixes
6679
6680 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6681
6682         * gst/gstelement.h:
6683           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6684           be handled by the application and not always printed as well
6685
6686 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6687
6688         * check/Makefile.am:
6689           set GST_TOOLS_DIR
6690         * gst/check/gstcheck.c: (gst_check_message_error):
6691         * gst/check/gstcheck.h:
6692           add a fail_unless_equals_int
6693           add fail_unless for error messages
6694
6695 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6696
6697         * check/Makefile.am:
6698         * check/gst.supp:
6699         * common/Makefile.am:
6700         * common/check.mak:
6701         * common/gst.supp:
6702           factor out some of the common stuff so we can use it
6703
6704 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6705
6706         * check/Makefile.am:
6707         * check/gst/gstiterator.c: (GST_START_TEST):
6708         * check/gst/gstsystemclock.c: (GST_START_TEST),
6709         (gst_systemclock_suite):
6710         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6711         * gst/gstclock.c:
6712           valgrind more tests
6713
6714 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6715
6716         * check/elements/.cvsignore:
6717         * check/elements/gstfakesrc.c:
6718           rename to name of element
6719         * check/elements/identity.c: (chain_func), (event_func),
6720         (setup_identity), (cleanup_identity), (GST_START_TEST),
6721         (identity_suite), (main):
6722           add a test for identity
6723         * check/Makefile.am:
6724         * pkgconfig/Makefile.am:
6725         * pkgconfig/gstreamer-check.pc.in:
6726         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6727         * gst/check:
6728         * gst/Makefile.am:
6729         * configure.ac:
6730           move the check stuff to a library that gets installed
6731         * check/gst-libs/controller.c: (GST_START_TEST):
6732         * check/gst-libs/gdp.c:
6733         * check/gst/gst.c: (GST_START_TEST):
6734         * check/gst/gstbin.c:
6735         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6736         * check/gst/gstbus.c:
6737         * check/gst/gstcaps.c: (GST_START_TEST):
6738         * check/gst/gstelement.c:
6739         * check/gst/gstghostpad.c:
6740         * check/gst/gstiterator.c:
6741         * check/gst/gstmessage.c:
6742         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6743         * check/gst/gstobject.c:
6744         * check/gst/gstpad.c: (GST_START_TEST):
6745         * check/gst/gststructure.c: (GST_START_TEST):
6746         * check/gst/gstsystemclock.c: (GST_START_TEST),
6747         (gst_systemclock_suite):
6748         * check/gst/gsttag.c: (gst_tag_suite):
6749         * check/gst/gstvalue.c:
6750         * check/pipelines/cleanup.c:
6751         * check/pipelines/simple_launch_lines.c:
6752         * check/states/sinks.c:
6753           change include statement
6754
6755         * docs/gst/gstreamer-sections.txt:
6756         * docs/gst/tmpl/gstpad.sgml:
6757           document more pad stuff
6758         * gst/gstminiobject.c: (gst_mini_object_ref),
6759         (gst_mini_object_unref):
6760           debug refcounting
6761
6762 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6763
6764         * docs/gst/tmpl/gst.sgml:
6765         * gst/gst.c:
6766           eliminate another tmpl file, fix spelling in the long-description
6767
6768 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6769
6770         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6771         (test_event), (timediff), (gstevents_suite):
6772           Should fix build on 64-bit arch's
6773
6774 2005-08-18  Andy Wingo  <wingo@pobox.com>
6775
6776         Make sure that when a pipeline goes to PLAYING, that data has
6777         actually hit the sink.
6778
6779         * check/states/sinks.c (test_sink): A sink that doesn't get any
6780         data shouldn't return SUCCESS for going to either PLAYING or
6781         PAUSED. Test also the return values on the way back down.
6782
6783         * gst/gstelement.c (gst_element_set_state): When changing the
6784         state of an element currently changing state asynchronously, go to
6785         lost-state after commiting the pending state. Makes future calls
6786         to get_state continue to return ASYNC.
6787
6788         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6789         ASYNC when going to PLAYING if we still don't have preroll, as can
6790         happen with live sources.
6791
6792 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6793
6794         * docs/pwg/advanced-types.xml:
6795           Hack long paragraph into 2 chunks as a workaround for buggy
6796           jadetex version in sid and breezy that loops infinitely and
6797           eats all RAM.
6798
6799 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6800
6801         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6802         (test_event), (timediff), (gstevents_suite):
6803           Provide more error margin in clock measurements to allow for 
6804           g_get_current_time inaccuracies.
6805
6806 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6807
6808         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6809         (test_event), (timediff), (gstevents_suite):
6810            Fix error message output so I might be able to tell why the
6811            test works here but fails on the build farm.
6812
6813 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6814
6815         * check/Makefile.am:
6816         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6817         (test_event), (timediff), (gstevents_suite), (main):
6818           I wrote a test!
6819
6820         * docs/design/part-seeking.txt:
6821           Spelling correction
6822
6823         * docs/gst/tmpl/gstevent.sgml:
6824         * docs/gst/tmpl/gstfakesrc.sgml:
6825           Docs updates.
6826
6827         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6828           Treat a buffer-without-newsegment the same as a receiving 
6829           a newsegment not in time format, and disable syncing to the clock
6830           with a warning.
6831
6832         * gst/gstbus.c: (gst_bus_set_sync_handler):
6833           Assert if anyone tries to replace the existing sync_handler for bus, 
6834           as only the owner should be setting it.
6835
6836         * gst/gstevent.h:
6837           Have a fixed set of custom event enums with events identified by
6838           their structure name (as in 0.8), rather than a free-for-all
6839           allowing collisions between enum values from different plugins.
6840
6841         * gst/gstpad.c: (gst_pad_class_init):
6842           Docs change.
6843           
6844         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6845           Handle out-of-band downstream events from the sending thread.
6846
6847 2005-08-17  Andy Wingo  <wingo@pobox.com>
6848
6849         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6850         play-timeout==0 to mean no timeout at all. In that case, don't
6851         bother with a get_state or a warning, just return directly, even
6852         if it's ASYNC.
6853
6854         * gst/base/gstbasetransform.c: Debug changes.
6855
6856         * gst/gstutils.h:
6857         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6858         ensure bins post state change messages. A bit of a hack but I can't
6859         think of a way to avoid it.
6860
6861         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
6862
6863 2005-08-16  Andy Wingo  <wingo@pobox.com>
6864
6865         * gst/base/gstadapter.h:
6866         * gst/base/gstadapter.c (gst_adapter_take): New function, like
6867         peek() but you own the data. Not terribly efficient atm.
6868
6869 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6870
6871         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
6872         (gst_element_found_tags):
6873         * gst/gstutils.h:
6874           Add two utility functions for tag handling.
6875
6876 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6877
6878         * docs/manual/advanced-dataaccess.xml:
6879         * docs/manual/basics-helloworld.xml:
6880           Fix docs to use _bin_add() before _link(), which fixes the examples
6881           with recent core versions (reported by Madhan Raj M
6882           <raj_madan@rediffmail.com>, #313199).
6883
6884 2005-08-16  Wim Taymans  <wim@fluendo.com>
6885
6886         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6887         Added subtract checks.
6888
6889         * docs/design/part-events.txt:
6890         Some more docs about newsegment
6891
6892         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6893         Fix FIXME
6894
6895         * gst/gstcaps.c: (gst_caps_to_string):
6896         Add comments, cleanups.
6897         
6898         * gst/gstelement.c: (gst_element_save_thyself):
6899         cleanups
6900         
6901         * gst/gstvalue.c: (gst_value_collect_int_range),
6902         (gst_string_unwrap), (gst_value_union_int_int_range),
6903         (gst_value_union_int_range_int_range),
6904         (gst_value_intersect_int_int_range),
6905         (gst_value_intersect_int_range_int_range),
6906         (gst_value_intersect_double_double_range),
6907         (gst_value_intersect_double_range_double_range),
6908         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
6909         (gst_value_subtract_int_range_int),
6910         (gst_value_subtract_double_range_double),
6911         (gst_value_subtract_double_range_double_range),
6912         (gst_value_subtract_from_list), (gst_value_subtract_list),
6913         (gst_value_can_compare), (gst_value_compare_fraction):
6914         Cleanups, add comments, remove unneeded asserts.
6915
6916 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6917
6918         * tools/gst-launch.c: (event_loop):
6919           don't convert NULL structures to strings
6920
6921 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
6922
6923         * docs/gst/gstreamer-sections.txt:
6924           made some defines private
6925         * docs/gst/tmpl/gstconfig.sgml:
6926         * docs/gst/tmpl/gstqueue.sgml:
6927         * docs/gst/tmpl/gsttaglist.sgml:
6928         * docs/gst/tmpl/gsttypes.sgml:
6929         * docs/gst/tmpl/gstutils.sgml:
6930         * docs/pwg/appendix-porting.xml:
6931         * gst/base/gstbasesink.h:
6932         * gst/base/gstbasesrc.c:
6933         * gst/base/gstbasesrc.h:
6934         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
6935         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
6936         * gst/gstelement.c: (gst_element_class_init):
6937         * gst/gstpad.c: (gst_pad_class_init):
6938         * gst/gstqueue.c: (gst_queue_class_init):
6939         * gst/gstxml.c: (gst_xml_class_init):
6940           documented all undocumented signal inline
6941         * libs/gst/controller/gst-controller.h:
6942           added padding
6943
6944 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6945
6946         * docs/pwg/appendix-porting.xml:
6947           Document _set_link_function -> _set_setcaps_function.
6948
6949 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6950
6951         * check/Makefile.am:
6952           add a .check target for running the check
6953         * check/gst-libs/controller.c: (GST_START_TEST):
6954           cosmetic fixups
6955         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6956           complete checks for gstbuffer; would be nice if I could get the
6957           gcov stuff to work so I can see if I actually completed gstbuffer.c
6958         * check/gstcheck.h:
6959           add ASSERT_BUFFER_REFCOUNT
6960
6961 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
6962
6963         * docs/gst/gstreamer-sections.txt:
6964         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
6965         * gst/gsttag.h:
6966           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
6967           spew out a warning if a tag that is already registered
6968           is re-registered, unless it is re-registered with a 
6969           different type (#308438).
6970
6971 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
6972
6973         * docs/pwg/appendix-porting.xml:
6974         * docs/pwg/building-state.xml:
6975           Add some paragraphs about state changes in 0.9 to the PWG
6976           and the porting guide, in particular about the new meaning
6977           of GST_STATE_PAUSED and how to write state change functions
6978           with concurrent access by multiple threads in mind.
6979
6980 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
6981
6982         * docs/gst/gstreamer-docs.sgml:
6983         * docs/libs/gstreamer-libs-docs.sgml:
6984           added deprecation and since indexes
6985         * libs/gst/controller/gst-controller.c:
6986         * libs/gst/controller/gst-helper.c:
6987           added since tags
6988
6989
6990 2005-08-11  Wim Taymans  <wim@fluendo.com>
6991
6992         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
6993         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
6994         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
6995         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
6996         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
6997         (gst_ghost_pad_set_target):
6998         Actually implement (re)setting the target on a ghostpad
6999         as described in the docs.
7000
7001 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7002
7003         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7004           Check whether GST_DEBUG_NO_COLOR environment variable is
7005           set and disable coloured debug output if that is the case.
7006
7007 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7008
7009         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7010         (gst_type_find_helper):
7011           The memory returned by gst_type_find_peek() needs to
7012           stay valid until the end of a typefind function, and
7013           typefind functions may keep results from different 
7014           offsets around, so we can't just unref the buffer from
7015           the previous _peek(), but have to save all buffers 
7016           returned by _peek() until typefinding is done and only
7017           free them then.
7018
7019 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7020
7021         * docs/gst/gstreamer-sections.txt:
7022         * gst/gstutils.h:
7023           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7024
7025 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7026
7027         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7028           Fix a pretty good memleak.
7029
7030 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7031
7032         * gst/gstiterator.h:
7033           Fix wrong include and 'make distcheck'.
7034
7035 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7036
7037         * gst/gstbin.c: (bin_bus_handler):
7038           Use gst_element_post_message() instead.
7039
7040 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7041
7042         * gst/base/gstadapter.h:
7043         * gst/base/gstbasesink.h:
7044         * gst/base/gstbasesrc.h:
7045         * gst/base/gstbasetransform.h:
7046         * gst/base/gstcollectpads.h:
7047         * gst/base/gstpushsrc.h:
7048         * gst/gstiterator.h:
7049           Add padding to our base elements' class and instance structs and
7050           to GstIterator (you will need to rebuild all plugins and apps!)
7051
7052 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7053
7054         * gst/gstbin.c: (bin_bus_handler):
7055           Make default message forwarding from child->bus to bin->bus
7056           threadsafe and make it not emit warnings if the parent has no bus.
7057
7058 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7059
7060         * gst/gstelement.c: (activate_pads):
7061           On paused->ready, set pad->caps to NULL, as is the documented
7062           behaviour in this state change. Fixes playback of series of
7063           media files when visualization is enabled in Totem.
7064
7065 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7066
7067         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7068           Allow NULL as filter-caps (which means "any").
7069
7070 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7071
7072         * docs/libs/gstreamer-libs-sections.txt:
7073         * libs/gst/controller/gst-controller.c:
7074         * libs/gst/controller/gst-controller.h:
7075         * libs/gst/controller/gst-helper.c:
7076           adding more entries to the docs and fix small doc-bugs
7077
7078 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7079
7080         * docs/gst/gstreamer-docs.sgml:
7081         * docs/gst/gstreamer-sections.txt:
7082         * docs/gst/gstreamer.types:
7083         * docs/gst/tmpl/gstbasesink.sgml:
7084         * docs/gst/tmpl/gstbasesrc.sgml:
7085         * docs/gst/tmpl/gstbasetransform.sgml:
7086         * docs/gst/tmpl/gstfakesrc.sgml:
7087         * gst/base/gstcollectpads.c:
7088         * gst/base/gstcollectpads.h:
7089         * libs/gst/controller/gst-controller.c:
7090         * libs/gst/controller/gst-controller.h:
7091         * libs/gst/controller/gst-helper.c:
7092         * libs/gst/controller/gst-interpolation.c:
7093         * libs/gst/controller/lib.c:
7094           added long/short desc for controller docs
7095           added collectpads base class docs
7096           added correct includes to base-class docs
7097
7098 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7099
7100         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7101         (gst_test_mono_source_set_property),
7102         (gst_test_mono_source_class_init), (GST_START_TEST),
7103         (gst_controller_suite):
7104         * docs/gst/gstreamer-docs.sgml:
7105         * docs/gst/gstreamer-sections.txt:
7106         * docs/gst/gstreamer.types:
7107         * docs/libs/gstreamer-libs-docs.sgml:
7108         * docs/libs/gstreamer-libs-sections.txt:
7109         * gst/base/gstadapter.c:
7110         * libs/gst/controller/gst-controller.c:
7111         (gst_controlled_property_new), (gst_controlled_property_free),
7112         (gst_controller_new_valist),
7113         (gst_controller_remove_properties_valist),
7114         (gst_controller_sink_values), (_gst_controller_finalize):
7115         * libs/gst/controller/gst-controller.h:
7116         * libs/gst/controller/gst-helper.c:
7117         (gst_object_control_properties), (gst_object_uncontrol_properties),
7118         (gst_object_get_controller), (gst_object_set_controller),
7119         (gst_object_sink_values), (gst_object_get_value_arrays),
7120         (gst_object_get_value_array):
7121           more tests (and fixes) for the controller
7122           more docs for the controller
7123           integrated companies docs for the adapter 
7124
7125 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7126
7127         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7128         (GST_START_TEST), (fakesrc_suite):
7129           add tests for sizetype
7130
7131 2005-08-04  Andy Wingo  <wingo@pobox.com>
7132
7133         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7134         fixes buffer_alloc proxying among other things.
7135
7136         * gst/base/gstbasetransform.c:
7137         * gst/base/gstbasetransform.h:
7138         Revert patch to gstbasetransform from 7-28 removing
7139         delay_configure.
7140
7141         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7142         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7143         Semantics changed, should return not the size of the output buffer
7144         but the byte size of a buffer with a given caps.
7145
7146         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7147         debug object.
7148         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7149         out) are not the pad caps until setcaps finishes.
7150         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7151         not-in-place case as well. Deal with changing from in-place to
7152         not-in-place within calling pad_alloc_buffer. Still a bit
7153         concerned about the overhead here...
7154
7155 2005-08-03  Andy Wingo  <wingo@pobox.com>
7156
7157         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7158         fixating is an error.
7159
7160 2005-08-04  Edward Hervey  <edward@fluendo.com>
7161
7162         * gst/base/gstadapter.h: 
7163         Added gst_adapter_get_type() to the header
7164
7165 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7166
7167         * check/Makefile.am:
7168         * check/gst-libs/controller.c:
7169         * libs/gst/controller/gst-controller.c:
7170         (gst_controller_new_valist):
7171           added check test suite for the controller
7172         * gst/base/gstpushsrc.c:
7173           fixed a doc typo
7174
7175 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7176
7177         * docs/gst/Makefile.am:
7178         * docs/gst/gstreamer-docs.sgml:
7179         * docs/gst/gstreamer-sections.txt:
7180         * docs/gst/gstreamer.types:
7181         * docs/gst/tmpl/gstfakesrc.sgml:
7182         * gst/base/README:
7183         * gst/base/gstbasesink.c:
7184         * gst/base/gstbasesink.h:
7185         * gst/base/gstbasesrc.c:
7186         * gst/base/gstbasesrc.h:
7187         * gst/base/gstbasetransform.c:
7188         * gst/base/gstpushsrc.c:
7189         * gst/base/gstpushsrc.h:
7190           add short/long description docs to base classes
7191           add pushsrc to the docs
7192           remove consolidated doc fragments
7193
7194 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7195
7196         * configure.ac:
7197         * docs/libs/Makefile.am:
7198         * docs/libs/gstreamer-libs-docs.sgml:
7199         * docs/libs/gstreamer-libs-sections.txt:
7200         * docs/libs/gstreamer-libs.types:
7201         * examples/Makefile.am:
7202         * examples/controller/.cvsignore:
7203         * examples/controller/Makefile.am:
7204         * examples/controller/audio-example.c: (main):
7205         * libs/gst/Makefile.am:
7206         * libs/gst/controller/.cvsignore:
7207         * libs/gst/controller/Makefile.am:
7208         * libs/gst/controller/gst-controller.c:
7209         (on_object_controlled_property_changed), (gst_timed_value_compare),
7210         (gst_timed_value_find),
7211         (gst_controlled_property_set_interpolation_mode),
7212         (gst_controlled_property_new), (gst_controlled_property_free),
7213         (gst_controller_find_controlled_property),
7214         (gst_controller_new_valist), (gst_controller_new),
7215         (gst_controller_remove_properties_valist),
7216         (gst_controller_remove_properties), (gst_controller_set),
7217         (gst_controller_set_from_list), (gst_controller_unset),
7218         (gst_controller_get), (gst_controller_get_all),
7219         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7220         (gst_controller_get_value_array),
7221         (gst_controller_set_interpolation_mode),
7222         (_gst_controller_finalize), (_gst_controller_init),
7223         (_gst_controller_class_init), (gst_controller_get_type):
7224         * libs/gst/controller/gst-controller.h:
7225         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7226         (g_object_uncontrol_properties), (g_object_get_controller),
7227         (g_object_set_controller), (g_object_sink_values),
7228         (g_object_get_value_arrays), (g_object_get_value_array):
7229         * libs/gst/controller/gst-interpolation.c:
7230         (gst_controlled_property_find_timed_value_node),
7231         (interpolate_none_get), (interpolate_trigger_get),
7232         (interpolate_trigger_get_value_array):
7233         * libs/gst/controller/lib.c: (gst_controller_init):
7234         * pkgconfig/Makefile.am:
7235         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7236         * pkgconfig/gstreamer-control.pc.in:
7237         * testsuite/Makefile.am:
7238         * testsuite/controller/.cvsignore:
7239         * testsuite/controller/Makefile.am:
7240         * testsuite/controller/interpolator.c: (main):
7241           added controller code
7242           removed dparam pc files
7243
7244 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7245         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7246         (gst_collectpads_stop):
7247           Broadcast the condition when shutting down, to make sure we wake all
7248           threads up. Shut down pads on finalize, for safety.
7249
7250 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7251         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7252         (gst_base_transform_handle_buffer),
7253         (gst_base_transform_change_state):
7254           Handle PAUSED->READY->PAUSED transition after negotiation
7255           occurred already.
7256         * gst/gstmessage.c: (gst_message_init):
7257           Extra piece of debug for new messages.
7258
7259 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7260
7261         * configure.ac:
7262         * docs/gst/tmpl/gstbasesrc.sgml:
7263         * docs/gst/tmpl/gstelement.sgml:
7264         * docs/gst/tmpl/gstevent.sgml:
7265         * docs/gst/tmpl/gstfakesrc.sgml:
7266         * docs/gst/tmpl/gstformat.sgml:
7267         * docs/gst/tmpl/gstghostpad.sgml:
7268         * docs/gst/tmpl/gstpad.sgml:
7269         * docs/gst/tmpl/gstquery.sgml:
7270         * docs/gst/tmpl/gststructure.sgml:
7271         * docs/gst/tmpl/gsttaglist.sgml:
7272         * docs/gst/tmpl/gstvalue.sgml:
7273         * docs/libs/gstreamer-libs-docs.sgml:
7274         * docs/libs/gstreamer-libs-sections.txt:
7275         * docs/libs/gstreamer-libs.types:
7276         * libs/gst/Makefile.am:
7277         * libs/gst/control/.cvsignore:
7278         * libs/gst/control/Makefile.am:
7279         * libs/gst/control/control.c:
7280         * libs/gst/control/control.h:
7281         * libs/gst/control/dparam.c:
7282         * libs/gst/control/dparam.h:
7283         * libs/gst/control/dparam_smooth.c:
7284         * libs/gst/control/dparam_smooth.h:
7285         * libs/gst/control/dparamcommon.h:
7286         * libs/gst/control/dparammanager.c:
7287         * libs/gst/control/dparammanager.h:
7288         * libs/gst/control/dplinearinterp.c:
7289         * libs/gst/control/dplinearinterp.h:
7290         * libs/gst/control/unitconvert.c:
7291         * libs/gst/control/unitconvert.h:
7292         * testsuite/Makefile.am:
7293         * testsuite/dynparams/.cvsignore:
7294         * testsuite/dynparams/Makefile.am:
7295         * testsuite/dynparams/dparamstest.c:
7296         * tools/Makefile.am:
7297         * tools/gst-inspect.c: (print_element_info), (main):
7298         * tools/gst-xmlinspect.c: (print_element_info), (main):
7299           deactivate and remove dparams (libgstcontrol)
7300
7301 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7302
7303         * gst/elements/gsttypefindelement.c:
7304         (gst_type_find_element_have_type), (gst_type_find_element_init),
7305         (stop_typefinding), (gst_type_find_element_handle_event),
7306         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7307         * gst/elements/gsttypefindelement.h:
7308           Set caps on all outgoing buffers, not just the first one.
7309
7310 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7311
7312         * gst/elements/gsttypefindelement.c:
7313         (gst_type_find_element_have_type),
7314         (gst_type_find_element_check_set_buffer_caps),
7315         (gst_type_find_element_init), (stop_typefinding),
7316         (gst_type_find_element_handle_event),
7317         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7318         * gst/elements/gsttypefindelement.h:
7319           Set caps on first outgoing buffer when we've found the type.
7320
7321 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7322
7323         * docs/gst/gstreamer-docs.sgml:
7324         * docs/gst/gstreamer-sections.txt:
7325         * docs/gst/tmpl/gstscheduler.sgml:
7326         * docs/gst/tmpl/gstschedulerfactory.sgml:
7327           Remove some old cruft from docs.
7328
7329 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7330
7331         * gst/gstpad.h:
7332           Fix inline docs for GstPadLinkReturn.
7333           
7334         * gst/gststructure.c: (gst_structure_has_name):
7335         * gst/gststructure.h:
7336         * docs/gst/gstreamer-sections.txt:
7337           New API: gst_structure_has_name().
7338
7339 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7340
7341         * configure.ac:
7342           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7343           and _LARGEFILE_SOURCE in config.h as required. Do not 
7344           export those flags in our .pc files any longer (#142209).
7345
7346           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7347
7348         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7349         (gst_file_sink_do_seek), (gst_file_sink_event),
7350         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7351           Redo seek/tell calls with large file support in mind; add some
7352           debugging messages; add log message that tells us when large
7353           file support is unavailable or not enabled for some reason.
7354
7355         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7356           Add log message that tells us when large file support 
7357           is unavailable or not enabled for some reason.
7358
7359 2005-07-29  Wim Taymans  <wim@fluendo.com>
7360
7361         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7362         Added test for removing an element with ghostpad from a bin.
7363         Fixed test as current implementation does the right thing.
7364
7365         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7366         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7367         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7368         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7369         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7370         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7371         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7372         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7373         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7374         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7375         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7376         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7377         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7378         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7379         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7380         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7381         * gst/gstghostpad.h:
7382         Clean up ghostpads, remove properties for internal stuff.
7383         Make threadsafe.
7384         Fix refcounting.
7385         Prepare for switching targets, not all use cases work yet.
7386
7387 2005-07-29  Wim Taymans  <wim@fluendo.com>
7388
7389         * docs/design/part-gstghostpad.txt:
7390         Small update.
7391
7392         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7393         (gst_bin_remove_func):
7394         Unlinking pads while holding the bin LOCK is not a good
7395         idea.
7396
7397         * gst/gstpad.c: (gst_pad_class_init),
7398         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7399         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7400         No prob setting template after creating the pad.
7401
7402 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7403
7404         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7405         (gst_bus_peek), (gst_bus_source_dispatch),
7406         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7407         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7408           gst_bus_poll may be called from other threads. Handle
7409           this nicely by not making poll_data disappear off the
7410           stack once gst_bus_poll returns.
7411           gst_bus_peek now increments the refcount on the returned
7412           message.
7413
7414 2005-07-29  Wim Taymans  <wim@fluendo.com>
7415
7416         * docs/design/part-gstghostpad.txt:
7417         Overview of current GhostPad datastructures and use
7418         cases for changing the target.
7419
7420 2005-07-28  Wim Taymans  <wim@fluendo.com>
7421
7422         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7423         Added checks for hierarchy consistency whan adding linked
7424         elements to bins.
7425
7426         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7427         Added check to test element scheduling without bin/pipeline.
7428
7429         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7430         First add elements to bin, then link.
7431         
7432         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7433         (gst_bin_remove_func):
7434         Unlink pads from elements added/removed from bin to maintain
7435         hierarchy consistency.
7436
7437 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7438
7439         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7440         (gst_base_transform_handle_buffer):
7441         * gst/base/gstbasetransform.h:
7442           Remove broken delay_configure (fixes renegotiation of software
7443           scaling pipelines); remove some leftover printf()s.
7444
7445 2005-07-28  Wim Taymans  <wim@fluendo.com>
7446
7447         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7448         Added some more tests for wrong hierarchy
7449
7450         * docs/design/part-overview.txt:
7451         Some updates.
7452
7453         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7454         Cleanups.
7455
7456         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7457         (gst_element_dispose):
7458         Some more cleanups.
7459
7460         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7461         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7462         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7463         (gst_pad_set_caps), (gst_pad_send_event):
7464         Check for correct hierarchy when linking pads. Moving to
7465         strict requirement for ghostpads when linking elements in
7466         different bins.
7467
7468         * gst/gstpad.h:
7469         Clean ups. Added WRONG_HIERARCHY return value.
7470
7471 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7472
7473         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7474           Better debug if no transform is possible.
7475
7476 2005-07-27  Wim Taymans  <wim@fluendo.com>
7477
7478         * docs/random/wtay/network-transp:
7479         Some old doc I had.
7480
7481 2005-07-27  Wim Taymans  <wim@fluendo.com>
7482
7483         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7484         (gst_dp_event_from_packet):
7485         Fix serialization of seek events.
7486
7487 2005-07-27  Wim Taymans  <wim@fluendo.com>
7488
7489         * check/gst-libs/gdp.c: (GST_START_TEST):
7490         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7491         Fix compilation and fix event serialization.
7492
7493 2005-07-27  Wim Taymans  <wim@fluendo.com>
7494
7495         * CHANGES-0.9:
7496         * docs/design/part-TODO.txt:
7497         * docs/design/part-events.txt:
7498         Some docs updates
7499
7500         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7501         (gst_base_sink_event), (gst_base_sink_do_sync),
7502         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7503         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7504         (gst_base_src_do_seek), (gst_base_src_event_handler),
7505         (gst_base_src_loop):
7506         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7507         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7508         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7509         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7510         (gst_base_transform_set_passthrough),
7511         (gst_base_transform_is_passthrough):
7512         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7513         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7514         Event updates.
7515
7516         * gst/gstbuffer.h:
7517         Use faster casts.
7518
7519         * gst/gstelement.c: (gst_element_seek):
7520         * gst/gstelement.h:
7521         Update gst_element_seek.
7522
7523         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7524         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7525         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7526         (gst_event_new_eos), (gst_event_new_newsegment),
7527         (gst_event_parse_newsegment), (gst_event_new_tag),
7528         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7529         (gst_event_parse_qos), (gst_event_new_seek),
7530         (gst_event_parse_seek), (gst_event_new_navigation):
7531         * gst/gstevent.h:
7532         Make GstEvent use GstStructure. Add parsing code, make sure the
7533         API is sufficiently generic.
7534         Mark possible directions of events and serialization.
7535
7536         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7537         (_gst_message_copy), (gst_message_new_segment_start),
7538         (gst_message_new_segment_done), (gst_message_new_custom),
7539         (gst_message_parse_segment_start),
7540         (gst_message_parse_segment_done):
7541         Small cleanups.
7542
7543         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7544         (gst_pad_set_caps), (gst_pad_send_event):
7545         Update for new events. 
7546         Catch events sent in wrong directions.
7547
7548         * gst/gstqueue.c: (gst_queue_link_src),
7549         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7550         (gst_queue_handle_src_query):
7551         Event updates.
7552
7553         * gst/gsttag.c:
7554         * gst/gsttag.h:
7555         Remove event code from this file.
7556
7557         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7558         (gst_dp_event_from_packet):
7559         Event updates.
7560
7561 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7562
7563         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7564         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7565         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7566           Make debugging actually useful.
7567
7568 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7569
7570         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7571         (gst_pad_fixate_caps):
7572           Implement default fixation once again, so that gst_pad_fixate()
7573           actually does anything at all. This probably needs to be some
7574           sort of a last resort, and use profile-based fixation first, but
7575           since that doesn't exist yet, this is the best we have. Fixes
7576           visualization in Totem.
7577
7578 2005-07-22  Wim Taymans  <wim@fluendo.com>
7579
7580         * docs/design/part-events.txt:
7581         Small update.
7582
7583         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7584         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7585         (gst_base_sink_activate_pull):
7586         Some more comments.
7587
7588         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7589         (gst_fake_src_create):
7590         Fix handoff marshall.
7591
7592         * gst/elements/gstidentity.c: (gst_identity_class_init),
7593         (gst_identity_transform_ip):
7594         We're a real inplace element.
7595
7596         * gst/gstbus.c: (gst_bus_post):
7597         Added some comments.
7598
7599         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7600         * tests/muxing/case1.c: (main):
7601         * tests/sched/dynamic-pipeline.c: (main):
7602         * tests/sched/interrupt1.c: (main):
7603         * tests/sched/interrupt2.c: (main):
7604         * tests/sched/interrupt3.c: (main):
7605         * tests/sched/runxml.c: (main):
7606         * tests/sched/sched-stress.c: (main):
7607         * tests/seeking/seeking1.c: (event_received), (main):
7608         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7609         (main):
7610         * tests/threadstate/threadstate3.c: (main):
7611         * tests/threadstate/threadstate4.c: (main):
7612         * tests/threadstate/threadstate5.c: (main):
7613         Fix the tests.
7614
7615 2005-07-21  Wim Taymans  <wim@fluendo.com>
7616
7617         * docs/design/part-seeking.txt:
7618         Some small additions.
7619
7620         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7621         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7622         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7623         * gst/base/gstbasesink.h:
7624         discont values are gint64, handle the math correctly.
7625
7626         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7627         Make the basesrc report error if the source pad is not linked.
7628
7629         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7630         (gst_queue_loop), (gst_queue_handle_src_query),
7631         (gst_queue_src_activate_push):
7632         Make queue collect data even if the srcpad is not linked.
7633         Start pushing out data as soon as it is linked.
7634
7635         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7636         * gst/gstutils.h:
7637         Added gst_flow_get_name() to ease error reporting.
7638
7639 2005-07-20  Wim Taymans  <wim@fluendo.com>
7640
7641         * gst/gstmessage.c: (gst_message_new_segment_start),
7642         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7643         (gst_message_parse_segment_done):
7644         * gst/gstmessage.h:
7645         Added a bunch of messages for advanced seeking.
7646
7647         * gst/parse/grammar.y:
7648         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7649         (gst_dpman_state_changed):
7650         Fix some new-pad -> pad-added signals
7651
7652 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7653
7654         * docs/manual/appendix-porting.xml:
7655         * docs/pwg/appendix-porting.xml:
7656           Document new-pad/state-change signal renames and the FixedList
7657           type rename.
7658
7659 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7660
7661         * docs/manual/advanced-autoplugging.xml:
7662         * docs/manual/basics-helloworld.xml:
7663         * docs/manual/basics-pads.xml:
7664         * docs/random/ds/0.9-suggested-changes:
7665         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7666         * gst/gstelement.h:
7667         * gst/gstevent.h:
7668         * gst/gstformat.h:
7669         * gst/gstquery.h:
7670         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7671         (gst_structure_parse_array), (gst_structure_parse_value):
7672         * gst/gstvalue.c: (gst_type_is_fixed),
7673         (gst_value_list_prepend_value), (gst_value_list_append_value),
7674         (gst_value_list_get_size), (gst_value_list_get_value),
7675         (gst_value_transform_array_string), (gst_value_serialize_array),
7676         (gst_value_deserialize_array), (gst_value_intersect_array),
7677         (gst_value_is_fixed), (_gst_value_initialize):
7678         * gst/gstvalue.h:
7679           GstElement::new-pad -> pad-added, GstElement::state-change ->
7680           state-changed, GstValueFixedList -> GstValueArray, add format and
7681           flags as their own arguments in gst_element_seek() (should improve
7682           "bindeability"), remove function generators since they don't work
7683           under a whole bunch of compilers (they were deprecated already
7684           anyway).
7685
7686 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7687
7688         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7689         (_gst_debug_register_funcptr):
7690         * gst/gstinfo.h:
7691           Fix illegal cast on some platforms (#309253).
7692
7693 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7694
7695         * gst/gstmessage.c: (gst_message_new_custom):
7696         * gst/gstmessage.h:
7697           Add _new_custom, make _new_application a macro to _new_custom.
7698
7699 2005-07-20  Wim Taymans  <wim@fluendo.com>
7700
7701         * gst/base/gstbasesrc.c: (gst_base_src_init),
7702         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7703         * gst/base/gstbasesrc.h:
7704         Add a gboolean to decide when to push out a discont.
7705
7706         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7707         (gst_queue_loop), (gst_queue_handle_src_query),
7708         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7709         (gst_queue_set_property), (gst_queue_get_property):
7710         Some cleanups.
7711
7712         * tests/threadstate/threadstate1.c: (main):
7713         Make a thread test compile and run... very silly..
7714
7715
7716 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7717
7718         * docs/manual/appendix-porting.xml:
7719           Mention removal of libgstgconf-0.9.la and existence of gconf
7720           elements.
7721
7722 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7723
7724         * docs/pwg/advanced-clock.xml:
7725         * docs/pwg/appendix-porting.xml:
7726         * docs/pwg/intro-preface.xml:
7727         * docs/pwg/other-base.xml:
7728         * docs/pwg/other-manager.xml:
7729         * docs/pwg/other-nton.xml:
7730         * docs/pwg/other-ntoone.xml:
7731         * docs/pwg/other-oneton.xml:
7732         * docs/pwg/pwg.xml:
7733           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7734           demuxer), remove n-to-n (was never written), fix some code examples
7735           and links and update the porting section to include all this.
7736
7737 2005-07-19  Wim Taymans  <wim@fluendo.com>
7738
7739         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7740         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7741         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7742         (gst_queue_src_activate_push), (gst_queue_change_state),
7743         (gst_queue_get_property):
7744         * gst/gstqueue.h:
7745         Propagate GstFlowReturn more intelligently upstream and output
7746         an ERROR/EOS when streaming stopped due to fatal error.
7747
7748 2005-07-19  Wim Taymans  <wim@fluendo.com>
7749
7750         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7751         Don't block forever for the state change to complete, the
7752         pipeline already did with a sensible timeout.
7753
7754 2005-07-19  Wim Taymans  <wim@fluendo.com>
7755
7756         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7757         Make sure we never call the create function is we
7758         got deactivated.
7759
7760 2005-07-19  Andy Wingo  <wingo@pobox.com>
7761
7762         * gst/parse/parse.l: Attempt to solve bug #172815.
7763
7764 2005-07-19  Wim Taymans  <wim@fluendo.com>
7765
7766         * docs/design/part-clocks.txt:
7767         * docs/design/part-events.txt:
7768         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7769         Small docs updates.
7770         Only update the seeking values when we are not
7771         busy streaming.
7772
7773 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7774
7775         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7776           Oops, ignore the result of gst_pad_push_event here.
7777
7778 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7779
7780         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7781         (gst_base_src_activate_push):
7782           Send discont event from the loop function, as pads
7783           aren't activated yet in the activate_push handler.
7784
7785         * gst/gstbin.c: (bin_bus_handler):
7786           Don't leak element name.
7787
7788 2005-07-18  Andy Wingo  <wingo@pobox.com>
7789
7790         * configure.ac: Use AS_LIBTOOL_TAGS.
7791
7792 2005-07-18  Wim Taymans  <wim@fluendo.com>
7793
7794         * docs/gst/gstreamer.types:
7795         Remove deleted types.
7796
7797 2005-07-18  Wim Taymans  <wim@fluendo.com>
7798
7799         * check/elements/gstfakesrc.c: (GST_START_TEST):
7800         * configure.ac:
7801         * gst/Makefile.am:
7802         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7803         (init_popt_callback):
7804         * gst/gst.h:
7805         * gst/gst_private.h:
7806         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7807         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7808         * gst/gstbin.h:
7809         * gst/gstbus.h:
7810         * gst/gstconfig.h.in:
7811         * gst/gstelement.c: (gst_element_class_init),
7812         (gst_element_set_base_time), (gst_element_get_base_time),
7813         (iterator_fold_with_resync), (gst_element_change_state),
7814         (gst_element_dispose), (gst_element_get_bus):
7815         * gst/gstelement.h:
7816         * gst/gstelementfactory.h:
7817         * gst/gsterror.c: (_gst_core_errors_init):
7818         * gst/gsterror.h:
7819         * gst/gstevent.h:
7820         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7821         * gst/gstindex.c:
7822         * gst/gstinfo.c: (_gst_debug_init):
7823         * gst/gstmessage.c: (_gst_message_copy):
7824         * gst/gstmessage.h:
7825         * gst/gstminiobject.h:
7826         * gst/gstobject.c:
7827         * gst/gstobject.h:
7828         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7829         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7830         * gst/gstpad.h:
7831         * gst/gstparse.h:
7832         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7833         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7834         (gst_pipeline_get_last_stream_time):
7835         * gst/gstpipeline.h:
7836         * gst/gstpluginfeature.h:
7837         * gst/gstquery.h:
7838         * gst/gstscheduler.c:
7839         * gst/gstscheduler.h:
7840         * gst/gststructure.h:
7841         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7842         (gst_task_finalize), (gst_task_func), (gst_task_create),
7843         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7844         (gst_task_stop), (gst_task_pause):
7845         * gst/gsttask.h:
7846         * gst/gsttypefind.h:
7847         * gst/gsttypes.h:
7848         * gst/registries/gstlibxmlregistry.c: (load_feature),
7849         (gst_xml_registry_load), (gst_xml_registry_save_feature):
7850         * gst/registries/gstxmlregistry.c:
7851         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7852         * gst/schedulers/threadscheduler.c:
7853         * libs/gst/control/dparammanager.h:
7854         * tools/gst-inspect.c: (print_element_list),
7855         (print_plugin_features), (print_element_features):
7856         * tools/gst-xmlinspect.c: (print_element_list),
7857         (print_plugin_info), (main):
7858         Removed plugable schedulers.
7859         Removed Scheduler/Manager from elements.
7860         Removed gsttypes.h, rearranged includes.
7861         Removed dependency pad<->element, element<>pipeline, and
7862         various others,  fix includes.
7863         implement gst_pad_get_parent() with gst_object_get_parent()
7864         Make GstTask sefcontained.
7865         Fix _get_state() on GstBin, it did not return ASYNC with a 0
7866         timeout.
7867         Fix endless loop in iterator_fold_with_resync.
7868
7869
7870 2005-07-18  Wim Taymans  <wim@fluendo.com>
7871
7872         * gst/Makefile.am:
7873         * gst/gstarch.h:
7874         Remove old file.
7875
7876 2005-07-18  Wim Taymans  <wim@fluendo.com>
7877
7878         * gst/Makefile.am:
7879         No more cothreads.h
7880
7881 2005-07-18  Wim Taymans  <wim@fluendo.com>
7882
7883         * gst/cothreads.c:
7884         * gst/cothreads.h:
7885         Let's remove these.
7886
7887 2005-07-18  Wim Taymans  <wim@fluendo.com>
7888
7889         * docs/design/part-dynamic.txt:
7890         * docs/design/part-events.txt:
7891         * docs/design/part-seeking.txt:
7892         Some more docs in the works.
7893
7894         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7895         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
7896         (gst_base_transform_setcaps), (gst_base_transform_get_size),
7897         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7898         (gst_base_transform_handle_buffer),
7899         (gst_base_transform_sink_activate_push),
7900         (gst_base_transform_src_activate_pull),
7901         (gst_base_transform_set_passthrough),
7902         (gst_base_transform_is_passthrough):
7903         Refcounting fixes.
7904
7905         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
7906         Cleanups.
7907
7908         * gst/gstevent.c: (gst_event_finalize):
7909         Set SRC to NULL.
7910
7911         * gst/gstutils.c: (gst_element_unlink),
7912         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
7913         (gst_pad_proxy_setcaps):
7914         * gst/gstutils.h:
7915         Add _get_parent_element() to get a pads parent as an element.
7916
7917 2005-07-18  Wim Taymans  <wim@fluendo.com>
7918
7919         * check/gst/gstbin.c: (GST_START_TEST):
7920         Remove bogus test.
7921
7922 2005-07-18  Wim Taymans  <wim@fluendo.com>
7923
7924         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7925         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7926         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
7927         (gst_base_sink_event), (gst_base_sink_do_sync),
7928         (gst_base_sink_chain), (gst_base_sink_loop),
7929         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
7930         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7931         Refcounting fixes.
7932         Fix logic for returning ASYNC when not prerolled.
7933
7934 2005-07-18  Wim Taymans  <wim@fluendo.com>
7935
7936         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7937         Fix nasty refcount bug.
7938
7939 2005-07-16 Philippe Khalaf <burger@speedy.org>
7940
7941         * gst/elements/gstfdsrc.c:
7942         * gst/elements/gstfdsrc.h:
7943         * gst/elements/gstelements.c:
7944         * gst/elements/Makefile.am:
7945         Ported fdsrc to 0.9.
7946
7947 2005-07-16  Wim Taymans  <wim@fluendo.com>
7948
7949         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7950         (gst_base_sink_do_sync):
7951         Fix compile error.
7952
7953 2005-07-16  Wim Taymans  <wim@fluendo.com>
7954
7955         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7956         (gst_base_sink_event), (gst_base_sink_get_times),
7957         (gst_base_sink_do_sync), (gst_base_sink_change_state):
7958         * gst/base/gstbasesink.h:
7959         Store and use discont values when syncing buffers as described
7960         in design docs.
7961         
7962         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7963         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
7964         (gst_base_src_activate_push):
7965         Push discont event when starting.
7966
7967         * gst/elements/gstidentity.c: (gst_identity_transform):
7968         Small cleanups.
7969
7970         * gst/gstbin.c: (gst_bin_change_state):
7971         Small cleanups in base_time  distribution.
7972
7973         * gst/gstelement.c: (gst_element_set_base_time),
7974         (gst_element_get_base_time), (gst_element_change_state):
7975         * gst/gstelement.h:
7976         Added methods for the base_time of the element.
7977         Some MT fixes.
7978
7979         * gst/gstpipeline.c: (gst_pipeline_send_event),
7980         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7981         (gst_pipeline_get_last_stream_time):
7982         * gst/gstpipeline.h:
7983         MT fixes.
7984         Handle seeking as described in design doc, remove stream_time
7985         hack.
7986         Cleanups clock and stream_time selection code. Added accessors
7987         for the stream_time.
7988         
7989
7990 2005-07-16  Andy Wingo  <wingo@pobox.com>
7991
7992         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
7993         (#305291).
7994
7995 2005-07-16  Wim Taymans  <wim@fluendo.com>
7996
7997         * check/gst/gstbin.c: (GST_START_TEST):
7998         Make elements silent as the deep_notify refs the
7999         parent, which might make the test fail.
8000
8001         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8002         Don't hold the lock for too long.
8003
8004 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8005
8006         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8007           Don't unref the caps we passed to gst_caps_make_writable() after
8008           passing them. gst_caps_make_writable() will do that for us.
8009
8010 2005-07-15  Andy Wingo  <wingo@pobox.com>
8011
8012         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8013         (#157311).
8014
8015         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8016         own marshalling function for the handoff signal. Properly type the
8017         buffer as a buffer. Fixes some warnings. Should do a more general
8018         solution.
8019         (gst_identity_class_init): Plug into the right marshaller.
8020
8021 2005-07-15  Wim Taymans  <wim@fluendo.com>
8022
8023         * docs/design/part-TODO.txt:
8024         * docs/design/part-clocks.txt:
8025         * docs/design/part-element-sink.txt:
8026         * docs/design/part-events.txt:
8027         * docs/design/part-gstpipeline.txt:
8028         Updated docs, mostly DISCONT related.
8029
8030 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8031
8032         * docs/pwg/building-pads.xml:
8033           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8034
8035 2005-07-15  Andy Wingo  <wingo@pobox.com>
8036
8037         * tools/gst-typefind.c: Update, add copyright block.
8038
8039         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8040         Normalize and truncate caps before fixation.
8041
8042         * gst/gstcaps.h:
8043         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8044         discards all but the first structure from its argument.
8045
8046 2005-07-15  Wim Taymans  <wim@fluendo.com>
8047
8048         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8049         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8050         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8051         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8052         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8053         (gst_base_transform_chain), (gst_base_transform_change_state),
8054         (gst_base_transform_set_passthrough),
8055         (gst_base_transform_is_passthrough):
8056         * gst/base/gstbasetransform.h:
8057         Make passthrough work using the bufferpools.
8058         Changed API a bit, subclasses have to write into a buffer
8059         provided by the base class.
8060         More debug info in nego functions.
8061         
8062         * gst/elements/gstidentity.c: (gst_identity_init),
8063         (gst_identity_transform):
8064         Port to new base class.
8065
8066 2005-07-15  Wim Taymans  <wim@fluendo.com>
8067
8068         * gst/gstmessage.c: (gst_message_new_state_changed):
8069         * tools/gst-launch.c: (event_loop), (main):
8070         Totally dump messages in -launch with the -m option.
8071         Fix message name for State messages,
8072
8073 2005-07-14  Wim Taymans  <wim@fluendo.com>
8074
8075         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8076         Post error messages on errors.
8077
8078 2005-07-14  Wim Taymans  <wim@fluendo.com>
8079
8080         * gst/gstcaps.c: (gst_caps_do_simplify):
8081         Remove debug info.
8082
8083         * gst/gsterror.h:
8084         Define error for stream stopped.
8085
8086         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8087         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8088         Do proper return values.
8089
8090         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8091         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8092         (gst_pad_get_range):
8093         Better return values.
8094
8095         * gst/gstpad.h:
8096         Reorganise return values, add macro to check for fatal errors.
8097
8098         * gst/gstqueue.c: (gst_queue_chain):
8099         Return proper GstFlowReturn values,
8100
8101 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8102
8103         * docs/gst/gstreamer-sections.txt:
8104         * docs/gst/gstreamer.types:
8105         * docs/gst/tmpl/gst.sgml:
8106         * docs/gst/tmpl/gstbasesink.sgml:
8107         * docs/gst/tmpl/gstbasesrc.sgml:
8108         * docs/gst/tmpl/gstbasetransform.sgml:
8109         * docs/gst/tmpl/gstbin.sgml:
8110         * docs/gst/tmpl/gstbuffer.sgml:
8111         * docs/gst/tmpl/gstcaps.sgml:
8112         * docs/gst/tmpl/gstclock.sgml:
8113         * docs/gst/tmpl/gstcompat.sgml:
8114         * docs/gst/tmpl/gstconfig.sgml:
8115         * docs/gst/tmpl/gstelement.sgml:
8116         * docs/gst/tmpl/gstelementdetails.sgml:
8117         * docs/gst/tmpl/gstelementfactory.sgml:
8118         * docs/gst/tmpl/gstenumtypes.sgml:
8119         * docs/gst/tmpl/gsterror.sgml:
8120         * docs/gst/tmpl/gstevent.sgml:
8121         * docs/gst/tmpl/gstfakesink.sgml:
8122         * docs/gst/tmpl/gstfakesrc.sgml:
8123         * docs/gst/tmpl/gstfilesink.sgml:
8124         * docs/gst/tmpl/gstfilesrc.sgml:
8125         * docs/gst/tmpl/gstfilter.sgml:
8126         * docs/gst/tmpl/gstformat.sgml:
8127         * docs/gst/tmpl/gstghostpad.sgml:
8128         * docs/gst/tmpl/gstimplementsinterface.sgml:
8129         * docs/gst/tmpl/gstindex.sgml:
8130         * docs/gst/tmpl/gstindexfactory.sgml:
8131         * docs/gst/tmpl/gstinfo.sgml:
8132         * docs/gst/tmpl/gstiterator.sgml:
8133         * docs/gst/tmpl/gstmacros.sgml:
8134         * docs/gst/tmpl/gstmemchunk.sgml:
8135         * docs/gst/tmpl/gstminiobject.sgml:
8136         * docs/gst/tmpl/gstobject.sgml:
8137         * docs/gst/tmpl/gstpad.sgml:
8138         * docs/gst/tmpl/gstpadtemplate.sgml:
8139         * docs/gst/tmpl/gstparse.sgml:
8140         * docs/gst/tmpl/gstpipeline.sgml:
8141         * docs/gst/tmpl/gstplugin.sgml:
8142         * docs/gst/tmpl/gstpluginfeature.sgml:
8143         * docs/gst/tmpl/gstquery.sgml:
8144         * docs/gst/tmpl/gstqueue.sgml:
8145         * docs/gst/tmpl/gstregistry.sgml:
8146         * docs/gst/tmpl/gstregistrypool.sgml:
8147         * docs/gst/tmpl/gstscheduler.sgml:
8148         * docs/gst/tmpl/gstschedulerfactory.sgml:
8149         * docs/gst/tmpl/gststructure.sgml:
8150         * docs/gst/tmpl/gstsystemclock.sgml:
8151         * docs/gst/tmpl/gsttaglist.sgml:
8152         * docs/gst/tmpl/gsttagsetter.sgml:
8153         * docs/gst/tmpl/gsttrace.sgml:
8154         * docs/gst/tmpl/gsttrashstack.sgml:
8155         * docs/gst/tmpl/gsttypefind.sgml:
8156         * docs/gst/tmpl/gsttypefindfactory.sgml:
8157         * docs/gst/tmpl/gsttypes.sgml:
8158         * docs/gst/tmpl/gsturihandler.sgml:
8159         * docs/gst/tmpl/gsturitype.sgml:
8160         * docs/gst/tmpl/gstutils.sgml:
8161         * docs/gst/tmpl/gstvalue.sgml:
8162         * docs/gst/tmpl/gstversion.sgml:
8163         * docs/gst/tmpl/gstxml.sgml:
8164         * docs/libs/tmpl/gstcontrol.sgml:
8165         * docs/libs/tmpl/gstdataprotocol.sgml:
8166         * docs/libs/tmpl/gstdparam.sgml:
8167         * docs/libs/tmpl/gstdplinint.sgml:
8168         * docs/libs/tmpl/gstdpman.sgml:
8169         * docs/libs/tmpl/gstdpsmooth.sgml:
8170         * docs/libs/tmpl/gstgetbits.sgml:
8171         * docs/libs/tmpl/gstunitconvert.sgml:
8172         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8173         (gst_push_src_base_init), (gst_push_src_class_init),
8174         (gst_push_src_init), (gst_push_src_create):
8175         * gst/base/gstpushsrc.h:
8176         * gst/elements/gstelements.c:
8177         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8178         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8179         (gst_fake_sink_init), (gst_fake_sink_set_property),
8180         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8181         (gst_fake_sink_event), (gst_fake_sink_preroll),
8182         (gst_fake_sink_render), (gst_fake_sink_change_state):
8183         * gst/elements/gstfakesink.h:
8184         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8185         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8186         (gst_fake_src_base_init), (gst_fake_src_class_init),
8187         (gst_fake_src_init), (gst_fake_src_event_handler),
8188         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8189         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8190         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8191         (gst_fake_src_create_buffer), (gst_fake_src_create),
8192         (gst_fake_src_start), (gst_fake_src_stop):
8193         * gst/elements/gstfakesrc.h:
8194         * gst/elements/gstfilesink.c: (_do_init),
8195         (gst_file_sink_base_init), (gst_file_sink_class_init),
8196         (gst_file_sink_init), (gst_file_sink_dispose),
8197         (gst_file_sink_set_location), (gst_file_sink_set_property),
8198         (gst_file_sink_get_property), (gst_file_sink_open_file),
8199         (gst_file_sink_close_file), (gst_file_sink_query),
8200         (gst_file_sink_event), (gst_file_sink_render),
8201         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8202         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8203         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8204         * gst/elements/gstfilesink.h:
8205         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8206         (gst_file_src_class_init), (gst_file_src_init),
8207         (gst_file_src_finalize), (gst_file_src_set_location),
8208         (gst_file_src_set_property), (gst_file_src_get_property),
8209         (gst_file_src_map_region), (gst_file_src_map_small_region),
8210         (gst_file_src_create_mmap), (gst_file_src_create_read),
8211         (gst_file_src_create), (gst_file_src_is_seekable),
8212         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8213         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8214         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8215         (gst_file_src_uri_handler_init):
8216         * gst/elements/gstfilesrc.h:
8217           more autistic cleanliness in functions/names/defines
8218
8219 2005-07-13  Andy Wingo  <wingo@pobox.com>
8220
8221         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8222         source couldn't negotiate.
8223
8224         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8225         connections again.
8226
8227         * gst/gstutils.h:
8228         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8229         function. I am channeling Hades. Put your boots on suckers!!!
8230
8231 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8232
8233         * testsuite/caps/Makefile.am:
8234         * testsuite/caps/value_compare.c:
8235         * testsuite/caps/value_intersect.c:
8236         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8237           move two testsuite apps over to the check dir
8238
8239 2005-07-12  Wim Taymans  <wim@fluendo.com>
8240
8241         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8242         Added more debug info in the negotiate process.
8243
8244         * gst/gstmessage.h:
8245         Prepare for segment playback.
8246
8247         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8248         Better debugging.
8249
8250         * gst/gstutils.c:
8251         Some more docs.
8252
8253         * tools/gst-launch.c: (main):
8254         NULL pipeline on errors.
8255
8256 2005-07-12  Andy Wingo  <wingo@pobox.com>
8257
8258         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8259         not it comes from a malloc region. Make sure our copy gets freed.
8260
8261 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8262
8263         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8264         * check/gst/gstmessage.c: (GST_START_TEST):
8265         * check/gst/gststructure.c: (GST_START_TEST),
8266         (gst_structure_suite), (main):
8267           more testing
8268         * gst/gstelement.c: (gst_element_message_full):
8269           clean up GError and debug string now that they get copied
8270         * gst/gstmessage.c: (gst_message_new_error),
8271         (gst_message_new_warning), (gst_message_parse_error),
8272         (gst_message_parse_warning):
8273           use GST_TYPE_G_ERROR for structure_new, and take copies of
8274           arguments, so that we don't mess up refcounting
8275
8276 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8277
8278         * check/Makefile.am:
8279           add per-test valgrind targets
8280         * check/gst-libs/gdp.c: (GST_START_TEST),
8281         (gst_data_protocol_suite), (main):
8282           clean up
8283
8284 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8285
8286         * check/Makefile.am:
8287           instate more valgrindable tests
8288         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8289         (GST_START_TEST), (fakesrc_suite):
8290         * check/gst/gstpad.c: (GST_START_TEST):
8291         * check/gst/gststructure.c: (GST_START_TEST):
8292           fix test leaks
8293         * docs/gst/tmpl/gstminiobject.sgml:
8294         * gst/gstpad.c: (gst_pad_finalize):
8295           fix the static mutex leak
8296
8297 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8298
8299         * check/Makefile.am:
8300           add two more tests for valgrinding
8301         * check/gst/gstvalue.c: (GST_START_TEST):
8302           test refcount of deserialized buffer, found a leak
8303         * docs/gst/gstreamer-docs.sgml:
8304         * docs/gst/gstreamer-sections.txt:
8305         * docs/gst/gstreamer.types:
8306         * docs/gst/tmpl/gstminiobject.sgml:
8307           add miniobject to docs
8308         * gst/gstminiobject.c:
8309           add some docs
8310         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8311         (gst_string_unwrap):
8312           fix a hard-to-find invalid write for one of the tests
8313           fix a leak for deserialized buffers
8314
8315 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8316
8317         * docs/pwg/advanced-events.xml:
8318         * docs/pwg/advanced-request.xml:
8319         * docs/pwg/advanced-scheduling.xml:
8320         * docs/pwg/appendix-porting.xml:
8321         * docs/pwg/building-boiler.xml:
8322         * docs/pwg/intro-preface.xml:
8323         * docs/pwg/other-ntoone.xml:
8324           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8325           of example code and explanation for pad activation, loop() and
8326           getrange() functions and a bit more. Remove old comments pointing
8327           to loop-functions.
8328         * examples/pwg/Makefile.am:
8329           Add loop/getrange examples.
8330
8331 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8332
8333         * configure.ac:
8334           check for valgrind binary + some fixes
8335         * check/gst.supp:
8336           valgrind suppressions for the tests
8337         * check/Makefile.am:
8338           add a valgrind: target that valgrinds the unit tests
8339         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8340         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8341         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8342         * check/gst/gstghostpad.c:
8343           added some cleanup
8344         * check/gst/gstdata.c:
8345           removed
8346         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8347         (thread_unref), (gst_mini_object_suite), (main):
8348           added
8349         * gst/gst.c: (gst_deinit):
8350         * gst/gst.h:
8351           add a method to clean up.
8352         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8353         (gst_system_clock_obtain):
8354           allow for disposing the system clock.
8355         * tools/gst-launch.c: (main):
8356           deinit
8357
8358 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8359
8360         * docs/gst/tmpl/gstbasesrc.sgml:
8361         * docs/gst/tmpl/gstfakesrc.sgml:
8362         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8363         (gst_base_src_init), (gst_base_src_set_property),
8364         (gst_base_src_get_property), (gst_base_src_get_range),
8365         (gst_base_src_start):
8366         * gst/base/gstbasesrc.h:
8367           add num-buffers property
8368         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8369         (gst_fakesrc_init), (gst_fakesrc_set_property),
8370         (gst_fakesrc_get_property), (gst_fakesrc_create),
8371         (gst_fakesrc_start):
8372           remove num-buffers property
8373
8374 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8375
8376         * docs/gst/gstreamer-sections.txt:
8377         * docs/gst/tmpl/gstbasesink.sgml:
8378         * docs/gst/tmpl/gstbasesrc.sgml:
8379         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8380         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8381         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8382         (gst_base_sink_set_property), (gst_base_sink_get_property),
8383         (gst_base_sink_handle_object), (gst_base_sink_event),
8384         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8385         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8386         (gst_base_sink_loop), (gst_base_sink_deactivate),
8387         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8388         (gst_base_sink_change_state):
8389         * gst/base/gstbasesink.h:
8390         * gst/base/gstbasesrc.h:
8391         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8392         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8393         (gst_filesink_init):
8394           more macro splitting
8395
8396 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8397
8398         * gst/gstelement.c: (gst_element_get_bus):
8399           add debug
8400         * tools/gst-launch.c: (check_intr), (event_loop):
8401           fix bus leaks
8402
8403 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8404
8405         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8406           fix a caps leak
8407
8408 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8409
8410         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8411         (gst_base_src_finalize):
8412           add finalize method and clean up properly
8413         * gst/gstpipeline.c: (gst_pipeline_dispose):
8414           add debug
8415
8416 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8417
8418         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8419         (gst_bin_suite):
8420           add more things to check
8421         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8422         * gst/gstelement.c:
8423           more debug
8424
8425 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8426
8427         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8428         (GST_START_TEST), (fakesrc_suite):
8429         * check/gst-libs/gdp.c: (GST_START_TEST):
8430         * check/gst/gst.c: (GST_START_TEST):
8431         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8432         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8433         * check/gst/gstbus.c: (GST_START_TEST):
8434         * check/gst/gstcaps.c: (GST_START_TEST):
8435         * check/gst/gstdata.c: (GST_START_TEST):
8436         * check/gst/gstelement.c: (GST_START_TEST):
8437         * check/gst/gstghostpad.c: (GST_START_TEST):
8438         * check/gst/gstiterator.c: (GST_START_TEST):
8439         * check/gst/gstmessage.c: (GST_START_TEST):
8440         * check/gst/gstobject.c: (GST_START_TEST):
8441         * check/gst/gstpad.c: (GST_START_TEST):
8442         * check/gst/gststructure.c: (GST_START_TEST):
8443         * check/gst/gstsystemclock.c: (GST_START_TEST),
8444         (gst_systemclock_suite):
8445         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8446         * check/gst/gstvalue.c: (GST_START_TEST):
8447         * check/pipelines/cleanup.c: (GST_START_TEST):
8448         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8449         * check/states/sinks.c: (GST_START_TEST):
8450         * check/gstcheck.c: (gst_check_init):
8451         * check/gstcheck.h:
8452           add debugging category
8453           use GST_START_TEST now, so we add a debug line
8454
8455 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8456
8457         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8458           add test for state change message on a bin
8459         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8460           add another test
8461         * gst/gstbin.c: (gst_bin_init):
8462         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8463         * gst/gstelement.c: (gst_element_post_message),
8464         (gst_element_set_state):
8465         * gst/gstelementfactory.c: (gst_element_factory_create):
8466         * gst/gstmessage.c: (gst_message_new):
8467         * gst/gstscheduler.c:
8468           various debugging additions and cleanups
8469
8470 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8471
8472         * check/Makefile.am:
8473         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8474         (main):
8475           adding tests for elements
8476         * gst/gstelement.c: (gst_element_dispose):
8477
8478 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8479
8480         * gst/registries/gstlibxmlregistry.c: (load_feature):
8481           plug more leaks.  A simple gst_init() now is leakfree, yay.
8482
8483 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8484
8485         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8486         (gst_xml_registry_load):
8487           plug another memleak
8488
8489 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8490
8491         * configure.ac:
8492           use GST_SET_ERROR_CFLAGS
8493         * docs/faq/cvs.xml:
8494           change to ERROR_CFLAGS
8495
8496 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8497
8498         * configure.ac:
8499           make GST_ERROR_CFLAGS overridable and re-enable Werror
8500         * docs/faq/cvs.xml:
8501           add a note about error CFLAGS
8502         * docs/gst/tmpl/gstfakesrc.sgml:
8503         * gst/elements/gstfakesrc.c:
8504           comment out some unused code
8505         * gst/gst.c: (split_and_iterate):
8506         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8507         (load_feature):
8508           plug some memleaks
8509
8510 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8511
8512         * common/Makefile.am:
8513         * common/gtk-doc.mak:
8514         * docs/gst/Makefile.am:
8515           factor out gtk-doc.mak
8516
8517 2005-07-07  Wim Taymans  <wim@fluendo.com>
8518
8519         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8520         (gst_thread_scheduler_dispose):
8521         Unlock the STREAM_LOCK completely.
8522
8523 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8524
8525         * check/Makefile.am:
8526         * check/elements/.cvsignore:
8527         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8528         (START_TEST), (fakesrc_suite), (main):
8529         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8530         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8531         (gst_fakesrc_create), (gst_fakesrc_start):
8532         * gst/elements/gstfakesrc.h:
8533           adding a first element test
8534
8535 2005-07-07  Andy Wingo  <wingo@pobox.com>
8536
8537         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8538         debug message.
8539
8540 2005-07-07  Wim Taymans  <wim@fluendo.com>
8541
8542         * gst/gstquery.c:
8543         * gst/gstquery.h:
8544         Remove old types
8545
8546 2005-07-07  Wim Taymans  <wim@fluendo.com>
8547
8548         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8549         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8550         Allow subclasses to implement their own negotiation.
8551
8552 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8553
8554         * docs/design/part-gstbin.txt:
8555         * docs/design/part-gstpipeline.txt:
8556           Update design notes to reflect the movement of
8557           responsibility for bus handling from GstPipeline to
8558           GstBin
8559
8560 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8561
8562         * configure.ac:
8563           Remove unnecessary queue2/3/4 examples.
8564
8565 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8566
8567         * examples/Makefile.am:
8568         * examples/helloworld/helloworld.c: (event_loop), (main):
8569         * examples/queue/queue.c: (event_loop), (main):
8570         * examples/queue2/queue2.c: (main):
8571           Update a couple of the examples to work again.
8572
8573         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8574         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8575          Spelling corrections and extra debug.
8576         
8577         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8578         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8579         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8580         * gst/gstbin.h:
8581         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8582         (gst_pipeline_change_state):
8583         * gst/gstpipeline.h:
8584           Move the bus handler for children to the GstBin, and create a
8585           separate bus for receiving messages from children to the one the
8586           bus sends 'upwards' on.
8587
8588 2005-07-06  Wim Taymans  <wim@fluendo.com>
8589
8590         * gst/base/README:
8591         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8592         (gst_base_sink_handle_object), (gst_base_sink_loop),
8593         (gst_base_sink_change_state):
8594         * gst/base/gstbasesink.h:
8595         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8596         (gst_base_src_init), (gst_base_src_setcaps),
8597         (gst_base_src_getcaps), (gst_base_src_loop),
8598         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8599         (gst_base_src_start), (gst_base_src_change_state):
8600         * gst/base/gstbasesrc.h:
8601         Make basesrc negotiate.
8602         Handle the case where preroll fails in basesink.
8603         Update README.
8604
8605 2005-07-06  Wim Taymans  <wim@fluendo.com>
8606
8607         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8608         Implement the fixate function.
8609         Clean up acceptcaps.
8610
8611 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8612
8613         * docs/pwg/building-filterfactory.xml:
8614         * docs/pwg/pwg.xml:
8615           Remove never-written filter-factory chapter; I'll add the various
8616           base classes to part 4 ("other element types") later on.
8617
8618 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8619
8620         * docs/pwg/advanced-negotiation.xml:
8621         * docs/pwg/building-boiler.xml:
8622         * docs/pwg/building-pads.xml:
8623         * docs/pwg/pwg.xml:
8624         * examples/pwg/Makefile.am:
8625           Add a chapter on caps negotiation, simplify the original code
8626           samples a bit w.r.t. caps negotiation, add link to the advanced
8627           section. Add a bunch of examples showing different use cases of
8628           different types of caps negotiation. Upstream renegotiation isn't
8629           fully documented yet since nobody knows how that works.
8630
8631 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8632
8633         * check/gst/gstpad.c:
8634         * check/gstcheck.c:
8635         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8636           if pad has no parent, return NULL as list of internal links
8637
8638 2005-07-05  Andy Wingo  <wingo@pobox.com>
8639
8640         * gst/elements/gstfilesrc.c:
8641         * gst/elements/gstfakesrc.c: 
8642         * gst/base/gstpushsrc.c:
8643         * gst/base/gstbasesrc.h: 
8644         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8645         
8646 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8647
8648         * Makefile.am:
8649           better report generation target (lcov needs a patch)
8650
8651 2005-07-05  Andy Wingo  <wingo@pobox.com>
8652
8653         * gst/elements, testsuite: Null if we got it...
8654
8655 2005-07-05  Wim Taymans  <wim@fluendo.com>
8656
8657         * configure.ac:
8658         * libs/gst/dataprotocol/Makefile.am:
8659         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8660         * libs/gst/dataprotocol/dataprotocol.h:
8661         * pkgconfig/Makefile.am:
8662         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8663         * pkgconfig/gstreamer-dataprotocol.pc.in:
8664         Ported dataprotol to 0.9. 
8665         Added pkgconfig files.
8666
8667 2005-07-05  Andy Wingo  <wingo@pobox.com>
8668
8669         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8670         Default to returning TRUE for the case when tranform_caps returns
8671         a fixed caps, like for identity or volume.
8672
8673         * check/gst/gstbus.c (pound_bus_with_messages): 
8674         * check/gst/gstmessage.c (START_TEST): 
8675         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8676         message API change.
8677
8678         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8679         logic weaks here: always run transform_caps, trying passthrough
8680         operation only if the original caps intersects with the transform.
8681
8682         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8683         source and sink caps.
8684
8685         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8686         Intersect the peer caps with the pad template before going into
8687         transform_caps.
8688         (gst_base_transform_transform_caps): More debugging.
8689
8690         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8691         src argument.
8692
8693 2005-07-04  Edward Hervey  <edward@fluendo.com>
8694
8695         * gst/gstutils.c:
8696         * gst/gstutils.h:
8697         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8698         in bindings.
8699
8700 2005-07-04  Andy Wingo  <wingo@pobox.com>
8701
8702         * check/gst/gstpad.c: Only set explicit caps on pads.
8703
8704 2005-07-01  Andy Wingo  <wingo@pobox.com>
8705
8706         * tests/network-clock.scm: Commentary update.
8707
8708         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8709         Didn't really make sense, not implementable with basetransform,
8710         etc.
8711         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8712         attempt at implementing the sync property, needs an unlock method.
8713
8714         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8715         New func, by default returns the same caps (the identity
8716         transformation).
8717         (gst_base_transform_getcaps): Uses transform_caps to return
8718         something sensible.
8719         (gst_base_transform_setcaps): Complicated logic to get caps on
8720         both pads, even if they are different, and to call set_caps once
8721         for every time both pads get their caps set.
8722         (gst_base_transform_handle_buffer): Give the ref to the transform
8723         function. Allows in-place modification of the buffer.
8724
8725         * gst/base/gstbasetransform.h (transform_caps): New class method.
8726         Given caps on one side, what can I do on the other.
8727         (set_caps): Take two caps, one for each side of the element.
8728
8729         * gst/gstpad.h:
8730         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8731         caps in place. This is safe because we can check the mutability of
8732         the caps, and a good idea because fixate functions are just called
8733         as a matter of last resort. (Not actually implemented.)
8734         (gst_pad_set_caps): If the caps we're setting is actually the same
8735         as the existing pad caps, just update the pointer without calling
8736         setcaps. Assert that caps is either NULL or fixed, as per the
8737         docs.
8738
8739         * gst/gstghostpad.c: Update for fixate changes.
8740
8741 2005-07-02  Andy Wingo  <wingo@pobox.com>
8742
8743         * gst/gstcaps.c:
8744         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8745         two refcounts makes it immutable, which is enough. Doc more.
8746
8747 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8748
8749         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8750           Put the mini_object into GValue as a mini_object,
8751           not a gpointer, since that's how we declared
8752           the signal.
8753
8754 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8755
8756         * examples/pwg/Makefile.am:
8757           Fix buildbot again.
8758
8759 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8760
8761         * docs/pwg/building-testapp.xml:
8762           Add extra check.
8763         * examples/pwg/Makefile.am:
8764           Fix buildbot.
8765
8766 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8767
8768         * configure.ac:
8769         * examples/Makefile.am:
8770         * examples/pwg/Makefile.am:
8771         * examples/pwg/extract.pl:
8772           Enable building the PWG examples.
8773         * docs/pwg/advanced-interfaces.xml:
8774           Add URI interface stub.
8775         * docs/pwg/advanced-types.xml:
8776         * docs/pwg/other-autoplugger.xml:
8777         * docs/pwg/appendix-porting.xml:
8778         * docs/pwg/pwg.xml:
8779           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8780         * docs/pwg/building-boiler.xml:
8781         * docs/pwg/building-chainfn.xml:
8782         * docs/pwg/building-pads.xml:
8783         * docs/pwg/building-props.xml:
8784         * docs/pwg/building-state.xml:
8785         * docs/pwg/building-testapp.xml:
8786           Update the building-*.xml parts for 0.9 changes. All examples
8787           code blocks compile in examples/pwg/*.
8788
8789 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8790
8791         * docs/manual/advanced-autoplugging.xml:
8792         * docs/manual/appendix-checklist.xml:
8793         * docs/manual/appendix-integration.xml:
8794         * docs/manual/highlevel-components.xml:
8795           Fix playbin/decodebin examples, update docs a bit, mention bus
8796           instead of signals in various places, mention kmplayer and
8797           kaffeine since they have a working GStreamer backend in the KDE
8798           section.
8799
8800 2005-06-30  Wim Taymans  <wim@fluendo.com>
8801
8802         * CHANGES-0.9:
8803         * docs/design/draft-ghostpads.txt:
8804         * docs/design/draft-push-pull.txt:
8805         * docs/design/draft-query.txt:
8806         * docs/design/part-TODO.txt:
8807         * docs/design/part-query.txt:
8808         Added CHANGES-0.9 doc, updated status of other docs.
8809         
8810         * gst/gstquery.h:
8811         Remove "hmm" macro
8812
8813 2005-06-30  Wim Taymans  <wim@fluendo.com>
8814
8815         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8816         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8817         (gst_base_sink_change_state):
8818         * gst/base/gstbasesink.h:
8819         Some tweaks, only EOS and a buffer complete a preroll.
8820
8821 2005-06-30  Andy Wingo  <wingo@pobox.com>
8822
8823         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8824         activate_push down to the internal pad as well.
8825
8826 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8827
8828         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8829
8830         * gst/gsttaginterface.c:
8831           Some documentation fixes (#307394 and #307397).
8832
8833 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8834
8835         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8836
8837         * gst/gstvalue.c: (gst_value_intersect_list):
8838           Fix memleak (#309125).
8839
8840 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8841
8842         * docs/manual/advanced-dataaccess.xml:
8843           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8844         * docs/manual/basics-pads.xml:
8845           Add reference for filtered caps to above chapter.
8846
8847 2005-06-30  Wim Taymans  <wim@fluendo.com>
8848
8849         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8850         (gst_bin_change_state):
8851         Probes are gone.
8852         Lame attempt at making the state change function a bit
8853         more readable.
8854
8855 2005-06-30  Wim Taymans  <wim@fluendo.com>
8856
8857         * docs/design/part-clocks.txt:
8858         * docs/design/part-element-sink.txt:
8859         * docs/design/part-events.txt:
8860         * docs/design/part-preroll.txt:
8861         * docs/design/part-states.txt:
8862         Some more tweeks and additions to the docs.
8863
8864 2005-06-30  Wim Taymans  <wim@fluendo.com>
8865
8866         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8867         (default_have_data), (gst_pad_class_init), (gst_pad_init),
8868         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8869         (gst_pad_check_pull_range), (gst_pad_get_range),
8870         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
8871         * gst/gstpad.h:
8872         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
8873         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8874         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8875         (gst_pad_remove_buffer_probe):
8876         Removed atomic operations, use existing LOCK.
8877         Move exception handling out of main code path.
8878
8879 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8880
8881         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8882         (silly_return_true_function), (gst_pad_class_init),
8883         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8884         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
8885         (gst_pad_send_event):
8886           Fix accumulator, add default value by using _emitv() instead
8887           of _emit() for signal emission.
8888
8889 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8890
8891         * docs/manual/advanced-dataaccess.xml:
8892         * examples/manual/Makefile.am:
8893           Add probe example.
8894         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
8895           Make work (??).
8896
8897 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
8898
8899         * gst/elements/gstfilesink.c: (gst_filesink_render):
8900           Simplify code so that we don't have to handle short
8901           writes and return GST_FLOW_ERROR if an error occured.
8902
8903 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8904
8905         * docs/gst/gstreamer-docs.sgml:
8906           Remove probes more.
8907
8908 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8909
8910         * docs/gst/gstreamer-sections.txt:
8911         * docs/gst/tmpl/gstpad.sgml:
8912         * docs/gst/tmpl/gstprobe.sgml:
8913         * gst/Makefile.am:
8914         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8915         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
8916         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
8917         (gst_pad_push_event), (gst_pad_send_event):
8918         * gst/gstpad.h:
8919         * gst/gstutils.c: (gst_pad_add_data_probe),
8920         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8921         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8922         (gst_pad_remove_buffer_probe):
8923         * gst/gstutils.h:
8924           Remove old probes, add new g-signal-based probes and some utility
8925           functions.
8926
8927 2005-06-29  Edward Hervey  <edward@fluendo.com>
8928
8929         * gst/gstelementfactory.c:
8930         * gst/gstutils.h:
8931         * gst/gstutils.c:
8932         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
8933         the definition to the header file.
8934
8935 2005-06-29  Andy Wingo  <wingo@pobox.com>
8936
8937         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
8938         plugins from the source directory.
8939
8940 2005-06-29  Wim Taymans  <wim@fluendo.com>
8941
8942         * docs/gst/tmpl/gstbuffer.sgml:
8943         * docs/gst/tmpl/gstclock.sgml:
8944         Some fixings for blantently wrong text.
8945
8946 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8947
8948         * check/Makefile.am:
8949         * gst/gst.c: (add_path_func), (init_pre):
8950         * gst/gstregistry.c: (gst_registry_add_path):
8951           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
8952           only scan the GST_PLUGIN_PATH locations, and not add
8953           system locations
8954
8955 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8956
8957         * docs/gst/gstreamer-sections.txt:
8958         * docs/gst/tmpl/gstbasesrc.sgml:
8959         * gst/gstelement.c:
8960         * gst/gstelement.h:
8961         * gst/gstevent.c:
8962         * gst/gstutils.c:
8963           doc fixes
8964
8965 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8966
8967         * docs/manual/advanced-autoplugging.xml:
8968           Fix autoplugging example.
8969
8970 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8971
8972         * docs/manual/advanced-autoplugging.xml:
8973         * docs/manual/mime-world.fig:
8974           Try to get autoplugging working, fix type detection. Fix text
8975           in hello-world image.
8976
8977 2005-06-29  Wim Taymans  <wim@fluendo.com>
8978
8979         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8980         (gst_base_sink_change_state):
8981         Small debug line.
8982
8983         * gst/gstclock.h:
8984         map SIGNAL and BROADCAST to the right function.
8985
8986         * gst/gstobject.h:
8987         Remove redundant braces.
8988
8989         * gst/gstpad.c: (gst_pad_set_caps):
8990         Don't call setcaps function when reseting caps to NULL.
8991
8992         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8993         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
8994         (gst_system_clock_id_unschedule):
8995         Use BROADCAST as this is what we do.
8996
8997 2005-06-29  Wim Taymans  <wim@fluendo.com>
8998
8999         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9000         We are actually prerolling before commiting the state
9001         change. 
9002
9003 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9004
9005         * docs/manual/advanced-clocks.xml:
9006         * docs/manual/advanced-interfaces.xml:
9007         * docs/manual/advanced-metadata.xml:
9008         * docs/manual/advanced-position.xml:
9009         * docs/manual/advanced-schedulers.xml:
9010         * docs/manual/advanced-threads.xml:
9011         * docs/manual/appendix-porting.xml:
9012         * docs/manual/basics-bins.xml:
9013         * docs/manual/basics-bus.xml:
9014         * docs/manual/basics-elements.xml:
9015         * docs/manual/basics-helloworld.xml:
9016         * docs/manual/basics-pads.xml:
9017         * docs/manual/highlevel-components.xml:
9018         * docs/manual/manual.xml:
9019         * docs/manual/thread.fig:
9020           Update (until threads/scheduling) Application Development Manual;
9021           remove GstThread, add GstBus, add simple porting checklist, add
9022           documentation for tag writing, clocks, make all examples until this
9023           part compile and run.
9024         * examples/manual/Makefile.am:
9025           Update from changes to Application Development Manual; add bus
9026           example, remove thread example.
9027
9028 2005-06-28  Wim Taymans  <wim@fluendo.com>
9029
9030         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9031         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9032         (gst_bus_source_dispatch):
9033         Add debugging messages.
9034         Make internal methods static.
9035         Handle the case where the bus is flushed in the handler.
9036         
9037         * gst/gstelement.c: (gst_element_get_bus):
9038         Fix refcount in _get_bus();
9039
9040         * gst/gstpipeline.c: (gst_pipeline_change_state),
9041         (gst_pipeline_get_clock_func):
9042         Clock refcounting fixes.
9043         Handle the case where preroll timed out more gracefully.
9044         
9045         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9046         Clean up the internal thread in dispose. This is needed
9047         for subclasses that actually get disposed.
9048         
9049         * gst/schedulers/threadscheduler.c:
9050         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9051         (gst_thread_scheduler_dispose):
9052         Free thread pool in dispose.
9053
9054 2005-06-28  Andy Wingo  <wingo@pobox.com>
9055
9056         * tests/network-clock-utils.scm (debug, print-event): New utils.
9057
9058         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9059         (*packet-loss*): Unified loss probability.
9060         (network-time): Report out-of-band events.
9061
9062         * tests/plot-data: Add support for out-of-band events. Hack it
9063         into this script instead of passing it down the pipe; should fix
9064         this later.
9065
9066 2005-06-28  Wim Taymans  <wim@fluendo.com>
9067
9068         * docs/gst/gstreamer.types:
9069         * docs/gst/tmpl/gstbasesrc.sgml:
9070         * docs/gst/tmpl/gstpad.sgml:
9071         Docs fixes.
9072
9073 2005-06-28  Wim Taymans  <wim@fluendo.com>
9074
9075         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9076         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9077         (gst_proxy_pad_do_fixatecaps):
9078         Correctly proxy the check_pull_range function.
9079
9080 2005-06-28  Andy Wingo  <wingo@pobox.com>
9081
9082         * tests/network-clock.scm: Removed need for slib.
9083         
9084 2005-06-28  Wim Taymans  <wim@fluendo.com>
9085
9086         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9087         (gst_basesink_preroll_queue_flush):
9088         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9089         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9090         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9091         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9092         (gst_proxy_pad_set_property):
9093         * gst/gstpad.c:
9094         * gst/gstpad.h:
9095         * gst/gstqueue.c: (gst_queue_init):
9096         The deprecated pad loop function is removed now.
9097
9098 2005-06-28  Andy Wingo  <wingo@pobox.com>
9099
9100         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9101         New parameters, simulate network packet loss.
9102
9103         * tests/network-clock-utils.scm: Initialize the RNG.
9104
9105 2005-06-28  Wim Taymans  <wim@fluendo.com>
9106
9107         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9108         (gst_basesink_event), (gst_basesink_deactivate):
9109         Flushing the preroll queue always needs to unlock the waiters.
9110
9111 2005-06-28  Edward Hervey  <edward@fluendo.com>
9112
9113         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9114         Wheen a seek was successful on a pipeline, set the stream_time to the
9115         seek offset in order to have a synchronized stream_time.
9116
9117 2005-06-28  Wim Taymans  <wim@fluendo.com>
9118
9119         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9120         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9121         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9122         (gst_proxy_pad_do_fixatecaps):
9123         Call wrapper function instead of just calling the function
9124         pointers. This takes care of any locking and whatmore.
9125
9126 2005-06-28  Wim Taymans  <wim@fluendo.com>
9127
9128         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9129         (gst_pad_pull_range):
9130         * gst/gstpad.h:
9131         CONNECTED -> LINKED.
9132
9133 2005-06-28  Andy Wingo  <wingo@pobox.com>
9134
9135         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9136         source-munging commit!!!
9137
9138         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9139         (gst_object_sink): Take gpointer arguments, not GstObject --
9140         avoids casts. Like GLib.
9141
9142         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9143         activate.
9144
9145 2005-06-27  Andy Wingo  <wingo@pobox.com>
9146
9147         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9148         remaining buffer.
9149
9150         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9151         returns a sorted copy of the trace list.
9152         (gst_alloc_trace_print_live): New API, only prints traces with
9153         live objects. Sort the list.
9154         (gst_alloc_trace_print_all): Sort the list.
9155         (gst_alloc_trace_print): Align columns.
9156
9157         * gst/elements/gstttypefindelement.c:
9158         * gst/elements/gsttee.c:
9159         * gst/base/gstbasesrc.c:
9160         * gst/base/gstbasesink.c:
9161         * gst/base/gstbasetransform.c:
9162         * gst/gstqueue.c: Adapt for pad activation changes.
9163
9164         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9165         sched.
9166         (gst_pipeline_dispose): Drop ref on sched.
9167
9168         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9169         (gst_pad_activate_default): Push mode by default.
9170         (pre_activate_switch, post_activate_switch): New stubs, things to
9171         do before and after switching activation modes on pads.
9172         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9173         the pad's activate function to choose which mode to activate.
9174         Shortcut on deactivation and call the right function directly.
9175         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9176         mode.
9177         (gst_pad_activate_push): New API, same for push mode.
9178         (gst_pad_set_activate_function) 
9179         (gst_pad_set_activatepull_function) 
9180         (gst_pad_set_activatepush_function): Setters for new API.
9181
9182         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9183         Trace all miniobjects.
9184         (gst_mini_object_make_writable): Unref the arg if we copy, like
9185         gst_caps_make_writable.
9186
9187         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9188
9189         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9190         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9191         Adapt for new pad API.
9192
9193         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9194
9195         * gst/gstelement.h:
9196         * gst/gstelement.c (gst_element_iterate_src_pads) 
9197         (gst_element_iterate_sink_pads): New API functions.
9198         
9199         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9200         should fold into gstiterator.c in some form.
9201         (gst_element_pads_activate): Simplified via use of fold and
9202         delegation of decisions to gstpad->activate.
9203
9204         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9205         help in debugging.
9206
9207         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9208         class once in init, like gstmessage. Didn't run into this issue
9209         but it seems correct. Don't initialize a trace, gstminiobject does
9210         that.
9211
9212         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9213         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9214         to the bus.
9215         (assert_live_count): New util function, uses alloc traces to check
9216         cleanup.
9217
9218         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9219         To be modified when unlink drops the internal pad.
9220
9221 2005-06-27  Wim Taymans  <wim@fluendo.com>
9222
9223         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9224         (gst_bin_change_state):
9225         Cleanup the get_state() function a little, make sure it
9226         iterates the same set of elements.
9227         Added stub iterate_state_order().
9228
9229 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9230
9231         * docs/gst/gstreamer-docs.sgml:
9232         * docs/gst/gstreamer-sections.txt:
9233         * docs/gst/gstreamer.types:
9234         * docs/gst/tmpl/gstbasesink.sgml:
9235         * docs/gst/tmpl/gstbasesrc.sgml:
9236         * docs/gst/tmpl/gstbasetransform.sgml:
9237         * docs/gst/tmpl/gstelement.sgml:
9238         * docs/gst/tmpl/gstiterator.sgml:
9239         * gst/base/gstbasesrc.c:
9240         * gst/base/gstbasesrc.h:
9241         * gst/base/gstbasetransform.h:
9242         * gst/gstelement.c:
9243         * gst/gstiterator.h:
9244           adding basetransform and iterator docs
9245
9246 2005-06-27  Andy Wingo  <wingo@pobox.com>
9247
9248         * docs/design/part-activation.txt: Notes on how activation should
9249         work -- not quite implemented yet.
9250
9251 2005-06-25  Wim Taymans  <wim@fluendo.com>
9252
9253         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9254         At least get the chain function correct, needs more
9255         fixing.
9256
9257 2005-06-25  Wim Taymans  <wim@fluendo.com>
9258
9259         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9260         (gst_basesink_handle_object), (gst_basesink_event),
9261         (gst_basesink_do_sync), (gst_basesink_handle_event),
9262         (gst_basesink_change_state):
9263         * gst/gsttask.h:
9264         Right, two problems here: ghostpads don't take locks and
9265         glib _rec_mutex_lock_full() with depth==0 still locks.
9266         Catch illegal locking and g_warn them.
9267
9268 2005-06-25  Wim Taymans  <wim@fluendo.com>
9269
9270         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9271         Have to check for completion now...
9272
9273 2005-06-25  Wim Taymans  <wim@fluendo.com>
9274
9275         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9276         (gst_basesink_handle_object), (gst_basesink_event),
9277         (gst_basesink_do_sync), (gst_basesink_handle_event),
9278         (gst_basesink_change_state):
9279         * gst/gstpad.h:
9280         Unlock STREAM_LOCK whatever the recursion was.
9281
9282 2005-06-25  Wim Taymans  <wim@fluendo.com>
9283
9284         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9285         (gst_basesink_preroll_queue_empty),
9286         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9287         (gst_basesink_event), (gst_basesink_do_sync),
9288         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9289         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9290         (gst_basesink_change_state):
9291         Reworked the base sink, handle event and buffer serialisation
9292         correctly and removed possible deadlock.
9293         Handle EOS correctly.
9294
9295 2005-06-25  Wim Taymans  <wim@fluendo.com>
9296
9297         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9298         (gst_pipeline_change_state):
9299         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9300         Allow elements to post EOS in the state change function.
9301         Fix up -launch, make it exit the poll loop when the
9302         pipeline actually changed state.
9303         Fix up warning parsing in -launch.
9304
9305 2005-06-25  Wim Taymans  <wim@fluendo.com>
9306
9307         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9308         (gst_tee_sink_activate):
9309         Core takes STREAM_LOCK for us now.
9310
9311 2005-06-25  Wim Taymans  <wim@fluendo.com>
9312
9313         * gst/gstelement.c: (gst_element_get_state_func),
9314         (gst_element_set_state):
9315         * gst/gstelement.h:
9316         * gst/gstmessage.c: (gst_message_parse_error),
9317         (gst_message_parse_warning):
9318         Keep track of current target state while performing a state
9319         change so that subclasses can do something interesting.
9320         Fix parsing of warning/error messages when GError is NULL.
9321
9322 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9323
9324         * docs/gst/Makefile.am:
9325         * docs/gst/gstreamer-docs.sgml:
9326         * docs/gst/gstreamer-sections.txt:
9327         * docs/gst/gstreamer.types:
9328         * docs/gst/tmpl/gstbasesink.sgml:
9329         * docs/gst/tmpl/gstbasesrc.sgml:
9330         * docs/gst/tmpl/gstbin.sgml:
9331         * docs/gst/tmpl/gstcompat.sgml:
9332         * docs/gst/tmpl/gstfakesink.sgml:
9333         * docs/gst/tmpl/gstfakesrc.sgml:
9334         * docs/gst/tmpl/gstfilesink.sgml:
9335         * docs/gst/tmpl/gstfilesrc.sgml:
9336         * docs/gst/tmpl/gstindex.sgml:
9337         * docs/manual/appendix-quotes.xml:
9338         * gst/base/gstbasesrc.h:
9339         * gst/elements/gstfakesrc.h:
9340         * gst/gstmessage.h:
9341           start pulling in base classes and elements in our docs
9342
9343 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9344
9345         * docs/gst/Makefile.am:
9346         * docs/libs/Makefile.am:
9347           fixed make distcheck with gtk-doc 1.3
9348
9349 2005-06-23  Wim Taymans  <wim@fluendo.com>
9350
9351         * gst/gstelement.c: (gst_element_get_state_func),
9352         (gst_element_set_state), (gst_element_change_state):
9353         When the state did not change, also report NO_PREROLL
9354         when it matters.
9355
9356 2005-06-23  Wim Taymans  <wim@fluendo.com>
9357
9358         * gst/gstpad.c: (gst_pad_event_default):
9359         * gst/gstqueue.c: (gst_queue_loop):
9360         No unsafe task pausing please.
9361
9362 2005-06-23  Wim Taymans  <wim@fluendo.com>
9363
9364         * gst/schedulers/threadscheduler.c:
9365         (gst_thread_scheduler_task_start),
9366         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9367         Ref the task before pushing it on the threadpool. This
9368         makes sure that we have a ref when the threadfunction is
9369         actually called.
9370
9371 2005-06-23  Andy Wingo  <wingo@pobox.com>
9372
9373         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9374         offset is greater than the file's size.
9375
9376         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9377         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9378         * gst/gstobject.c (gst_object_class_init): Make the class lock
9379         recursive. Wim won't let me drop deep_notify. Decodebin works
9380         again, whoopdy doo.
9381
9382         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9383         internal pad, and hacks accordingly. Doesn't do it on the target
9384         pad because we change its caps. Probably catches all cases of
9385         interest tho.
9386         (gst_ghost_pad_set_property): Connect to notify::caps as
9387         appropritate.
9388
9389         * tests/network-clock.scm (plot-simulation): Pipe data to the
9390         elite python skript.
9391
9392         * tests/network-clock-utils.scm (define-parameter): New macro,
9393         defines a parameter that can be set via the command line.
9394         (set-parameter!, parse-parameter-arguments): Command line args
9395         parser.
9396
9397         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9398         stdin.
9399
9400 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9401
9402         * gst/elements/gsttypefindelement.c:
9403         (gst_type_find_element_handle_event):
9404           Don't restart typefinding on a discont.
9405         * gst/gstelement.c: (gst_element_set_state):
9406           Debug spelling fix.
9407         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9408           Allow changing mode of an active pad.
9409           Debug output fixes.
9410         * gst/registries/gstlibxmlregistry.c: (load_feature):
9411           Don't cast a static pad template to a normal pad template.
9412
9413 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9414
9415         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9416         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9417           remove gst_strtoll completely, since it didn't actually do
9418           anything more than what g_ascii_strtoull already does.
9419           check for range errors when deserializing
9420           do a cast for the unsigned cases; but further fixing needs
9421           a decision on what the interpretation of "(int)" and
9422           deserialization should be for values that fall outside the
9423           type's boundaries (ie, refuse, or interpret as casting)
9424
9425 2005-06-23  Wim Taymans  <wim@fluendo.com>
9426
9427         * check/Makefile.am:
9428         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9429         * docs/design/part-live-source.txt:
9430         * docs/design/part-states.txt:
9431         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9432         (gst_basesrc_set_live), (gst_basesrc_is_live),
9433         (gst_basesrc_get_range), (gst_basesrc_activate),
9434         (gst_basesrc_change_state):
9435         * gst/base/gstbasesrc.h:
9436         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9437         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9438         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9439         * gst/gstelement.c: (gst_element_get_state_func),
9440         (gst_element_set_state):
9441         * gst/gstelement.h:
9442         * gst/gsttypes.h:
9443         * tools/gst-launch.c: (event_loop), (main):
9444         Added support for live sources and other elements that
9445         cannot do preroll.
9446         Updated design docs, added live-source design doc.
9447         Implemented live source functionality in basesrc
9448         Fix error condition in _bin_get_state()
9449         Implement live source handling in -launch.
9450         Added check for live sources.
9451         Fixed case in GstBin where elements were changed state
9452         multiple times.
9453
9454
9455 2005-06-23  Andy Wingo  <wingo@pobox.com>
9456
9457         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9458         borken refcounting.
9459
9460         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9461         gst_caps_replace takes care of this for us.
9462
9463         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9464         gst_pad_set_caps on the target, not just its setcaps() function.
9465
9466         * tests/network-clock.scm: 
9467         * tests/network-clock-utils.scm: A network clock simulator.
9468         Something of an algorithmic testbed before doing something in C.
9469
9470 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9471
9472         * check/Makefile.am:
9473         * check/gst/capslist.h:
9474           copy over from 0.8, and add two with bitmasks specified with
9475           (int) 0xFF...
9476         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9477           add test to parse everything from capslist.h
9478         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9479         (main):
9480           add test for structure deserialization
9481         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9482           add tests for deserialization of strings to int types
9483         * gst/gststructure.c: (gst_structure_nth_field_name):
9484         * gst/gststructure.h:
9485           add a way to get the name of a field referenced by index
9486         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9487           instead of checking if the resulting long long lies between
9488           min and max, we check if the long long would fit into
9489           a number of bytes for the final type.
9490           This fixes cases where a string represents 2^32 - 1, which
9491           when cast to int would be the (valid) -1, but is bigger than
9492           G_MAXINT
9493
9494 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9495
9496         * gst/parse/grammar.y:
9497           add a log line for type deserialization
9498
9499 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9500
9501         * check/gst/gstvalue.c: (START_TEST):
9502         * gst/gstvalue.c: (gst_value_deserialize):
9503           return long long, not int, so gint64 deserialization actually
9504           works.  Is there any flag that makes the compiler check this ?
9505           Fixes #308559
9506
9507 2005-06-22  Wim Taymans  <wim@fluendo.com>
9508
9509         * gst/gstbuffer.h:
9510         Added convenience macros for setting buffers in GValue.
9511
9512 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9513
9514         * check/gst/.cvsignore:
9515         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9516           add a test deserializing int64, and comment part out because
9517           it fails, yay !
9518
9519 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9520
9521         * check/Makefile.am:
9522         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9523         * testsuite/Makefile.am:
9524         * testsuite/caps/Makefile.am:
9525         * testsuite/caps/value_serialize.c:
9526         * testsuite/test_gst_init.c:
9527           move a value_serialize test over
9528
9529 2005-06-20  Wim Taymans  <wim@fluendo.com>
9530
9531         * gst/gstpad.c:
9532         Small doc updates.
9533         
9534         * gst/gstvalue.c: (gst_value_compare_buffer),
9535         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9536         (gst_value_compare_flags), (gst_value_serialize_flags),
9537         (gst_value_deserialize_flags), (_gst_value_initialize):
9538         Fix serialisation of buffers, they are not boxed types anymore
9539
9540 2005-06-20  Wim Taymans  <wim@fluendo.com>
9541
9542         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9543         Testcase to show error in buffer-on-caps serialisation.
9544
9545 2005-06-20  Andy Wingo  <wingo@pobox.com>
9546
9547         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9548         will be adding to later.
9549
9550         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9551         if its socks fill with rocks.
9552         (gst_system_clock_obtain): Set the name on object construction.
9553         Avoid double-checked locking.
9554
9555 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9556
9557         * gst/gsturi.c: (gst_element_make_from_uri):
9558           Fix potential endless loop.
9559
9560 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9561
9562         * check/Makefile.am:
9563           add gsttag
9564         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9565         (main):
9566           move over from testsuite dir and clean up
9567         * configure.ac:
9568         * gst/gsttag.c:
9569         * testsuite/Makefile.am:
9570         * testsuite/tags/.cvsignore:
9571         * testsuite/tags/Makefile.am:
9572         * testsuite/tags/merge.c:
9573           remove testsuite/tags
9574
9575 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9576
9577         * docs/gst/gstreamer-sections.txt:
9578         * docs/gst/tmpl/gstenumtypes.sgml:
9579         * win32/gstenumtypes.c:
9580           clean up documentation build a little
9581
9582 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9583
9584         * check/gstcheck.h:
9585           add macros for checking refcounts on objects and caps
9586         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9587           add some more unit tests
9588         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9589         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9590           fix leaked refcounts (I hope :)) so unittest works
9591         * gst/gstpad.h:
9592           whitespace removal
9593
9594 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9595
9596         * configure.ac: back to HEAD
9597
9598 === release 0.9.1 ===
9599
9600 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9601
9602         * NEWS:
9603         * RELEASE:
9604           updated
9605
9606 2005-06-17  Andy Wingo  <wingo@pobox.com>
9607
9608         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9609         assert; it's always possible that the pad gets deactivated in
9610         between the checks in gstpad.c and the implementation. Rely on
9611         finish_preroll() to return a FLUSHING or similar instead of on the
9612         assert.
9613         
9614         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9615         clock and post an EOS message if we come out of finish_preroll in
9616         the playing state.
9617
9618 2005-06-16  David Schleef  <ds@schleef.org>
9619
9620         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9621         (gst_capsfilter_set_property): Allow NULL as possible value
9622         for filter_caps property, indicating GST_CAPS_ANY.
9623
9624 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9625
9626         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9627           fix debug output
9628         * gst/schedulers/Makefile.am:
9629           use libgst prefix
9630         * gstreamer.spec.in:
9631           fix spec for it
9632
9633 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9634
9635         * gstreamer.spec.in:
9636           clean up
9637
9638 2005-06-08  Andy Wingo  <wingo@pobox.com>
9639
9640         * gst/gstutils.c: RPAD fixes all around.
9641         (gst_element_link_pads): Refcounting fixes.
9642
9643         * tools/gst-inspect.c:
9644         * tools/gst-xmlinspect.c:
9645         * parse/grammar.y:
9646         * gst/base/gsttypefindhelper.c:
9647         * gst/base/gstbasesink.c:
9648         * gst/gstqueue.c: RPAD fixes.
9649
9650         * gst/gstghostpad.h:
9651         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9652         pads. The tricky thing is they provide both source and sink
9653         interfaces, since they proxy the internal pad for the external
9654         pad, and vice versa. Implement with lower-level ProxyPad objects,
9655         with the interior proxy pad as a child of the exterior ghost pad.
9656         Should write a doc on this.
9657         
9658         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9659         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9660         gst_object API.
9661         
9662         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9663         pads are real pads. No ghost pads in this file. Not documenting
9664         the myriad s/RPAD/PAD/ and REALIZE fixes.
9665         (gst_pad_class_init): Add properties for "direction" and
9666         "template". Both are construct-only, so they can't change during
9667         the life of the pad. Fixes properly deriving from GstPad.
9668         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9669         derived objects, just set properties when creating the objects via
9670         g_object_new.
9671         (gst_pad_get_parent): Implement as a function, return NULL if the
9672         parent is not an element.
9673         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9674         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9675         
9676         * gst/gstobject.c (gst_object_class_init): Make name a construct
9677         property. Don't set it in the object init.
9678
9679         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9680         with UNKNOWN direction.
9681         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9682         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9683         (gst_element_remove_pad): Remove ghost-pad special cases.
9684         (gst_element_pads_activate): Remove rpad cruft.
9685
9686         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9687         catch the pad's-parent-not-an-element case.
9688
9689         * gst/gst.h: Include gstghostpad.h.
9690
9691         * gst/gst.c (init_post): No more real, ghost pads.
9692
9693         * gst/Makefile.am: Add gstghostpad.[ch].
9694
9695         * check/Makefile.am:
9696         * check/gst/gstbin.c:
9697         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9698         into a bin creates ghost pads, and that the refcounts are right.
9699         Partly moved from gstbin.c.
9700
9701 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9702
9703         * check/gst-libs/.cvsignore:
9704         * check/gst/.cvsignore:
9705         * check/pipelines/.cvsignore:
9706           ignore more
9707         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9708         (START_TEST), (cleanup_suite), (main):
9709           add some tests related to cleanup after running pipelines
9710
9711 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9712
9713         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9714           add a testsuite for GstBuffer
9715
9716 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9717
9718         * gst/gstminiobject.h:
9719           add defines for accessing the refcount
9720
9721 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9722
9723         * Makefile.am: added support for html unit test coverage reports
9724
9725 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9726
9727         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9728           Free existing caps if the capsfilter changes. Add a FIXME about
9729           setting those caps on the pads.
9730
9731         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9732           Before adding a ghost pad to a parent bin, check that there isn't
9733           already one for the element on the bin. Prevents infinite recursion
9734           when using decodebin in parse pipelines. Andy says he'll rewrite the
9735           way this works anyway, so ignore the hack.
9736
9737 2005-06-02  Andy Wingo  <wingo@pobox.com>
9738
9739         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9740         file size, pass it on to the type find helper.
9741
9742         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9743         segment_start and segment_end properly according to the seek
9744         method. Segment_end is still a bit flaky because offset can be
9745         negative for CUR and END cases, but it takes -1 as an "unset"
9746         value.
9747
9748 2005-06-02  Wim Taymans  <wim@fluendo.com>
9749
9750         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9751         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9752         (gst_basesink_activate):
9753         * gst/base/gstbasesink.h:
9754         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9755         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9756         (gst_pad_query), (gst_pad_start_task):
9757         * gst/gstpad.h:
9758         * gst/gstqueue.c: (gst_queue_bufferalloc),
9759         (gst_queue_handle_sink_event), (gst_queue_chain):
9760         Bufferalloc: return GstFlowReturn to more accuratly report
9761         why allocation failed.
9762
9763 2005-06-02  Wim Taymans  <wim@fluendo.com>
9764
9765         * gst/gstpipeline.c: (gst_pipeline_send_event):
9766         Take snapshot of state without blocking.
9767
9768 2005-06-02  Wim Taymans  <wim@fluendo.com>
9769
9770         * docs/design/part-TODO.txt:
9771         * docs/design/part-caps.txt:
9772         * docs/design/part-clocks.txt:
9773         * docs/design/part-negotiation.txt:
9774         * docs/design/part-preroll.txt:
9775         Small doc updates 
9776
9777 2005-05-30  Wim Taymans  <wim@fluendo.com>
9778
9779         * gst/elements/gstidentity.c: (gst_identity_event),
9780         (gst_identity_transform), (gst_identity_get_property):
9781         Protect last_message property as it is accessed from
9782         multiple threads.
9783
9784 2005-05-30  Wim Taymans  <wim@fluendo.com>
9785
9786         * gst/gstelement.c: (gst_element_init),
9787         (gst_element_pads_activate), (gst_element_change_state):
9788         Slicker pad activation code.
9789
9790 2005-05-30  Wim Taymans  <wim@fluendo.com>
9791
9792         * gst/Makefile.am:
9793         * gst/gstelement.h:
9794         * gst/gstelementfactory.h:
9795         * gst/gsttypes.h:
9796         Move elementfactory methods to separate .h file.
9797
9798 2005-05-30  Wim Taymans  <wim@fluendo.com>
9799
9800         * docs/design/part-overview.txt:
9801         * gst/gstsystemclock.h:
9802         Small typo fixes, doc updates.
9803
9804 2005-05-30  Wim Taymans  <wim@fluendo.com>
9805
9806         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9807         (init_popt_callback):
9808         Remove cpu-opt flag.
9809
9810 2005-05-30  Wim Taymans  <wim@fluendo.com>
9811
9812         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9813         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9814         * gst/gstbuffer.h:
9815         Avoid typechecking in places where not needed.
9816         Added accessor for malloc_data.
9817
9818 2005-05-30  Wim Taymans  <wim@fluendo.com>
9819
9820         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9821         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9822         (gst_pad_configure_sink), (gst_pad_configure_src),
9823         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9824         (gst_pad_start_task):
9825         Propagate errors from _set_caps() in configure_src/sink
9826         functions instead of returning TRUE.
9827         FLUSH events can travel up and downstream
9828
9829
9830 2005-05-30  Wim Taymans  <wim@fluendo.com>
9831
9832         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9833         (gst_basesink_activate):
9834         Handle EOS in preroll.
9835
9836 2005-05-30  Wim Taymans  <wim@fluendo.com>
9837
9838         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9839         (gst_queue_loop), (gst_queue_handle_src_event):
9840         Remove old pieces of code
9841         Flushing the queue in an upstream event is a very bad idea.
9842
9843 2005-05-26  Andy Wingo  <wingo@pobox.com>
9844
9845         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9846         gst_value_set_mini_object so as to add a ref on the object (which
9847         will be removed when the value is unset).
9848
9849         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9850         arg type in ::handoff.
9851
9852         * gst/gstelement.c (gst_element_change_state): Also deactivate
9853         pads in READY->NULL, just in case the element didn't make it to
9854         PAUSED. Wingo tested, Wim approved.
9855
9856 2005-05-26  Wim Taymans  <wim@fluendo.com>
9857
9858         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9859         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9860         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
9861         A flushing pad cannot be used to alloc_buffer from.
9862
9863 2005-05-26  Wim Taymans  <wim@fluendo.com>
9864
9865         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9866         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
9867         (gst_bus_source_dispatch), (gst_bus_source_finalize),
9868         (gst_bus_create_watch), (gst_bus_add_watch_full):
9869         * gst/gstbus.h:
9870         Implement a real GSource and use g_main_context_wakeup() to
9871         signal new messages instead of the socketpair.
9872
9873 2005-05-25  Wim Taymans  <wim@fluendo.com>
9874
9875         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
9876         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
9877         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9878         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9879         (gst_pad_send_event), (gst_pad_start_task):
9880         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
9881         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9882         (gst_queue_sink_activate), (gst_queue_src_activate),
9883         (gst_queue_change_state):
9884         * gst/gstqueue.h:
9885         Fix state changes for non sinks. We now change sinks, then elements
9886         with unconnected srcpads, then the rest.
9887         More efficient queue unlocking in flush and state changes.
9888         Set the pad activate mode even if it does not have an activate
9889         function.
9890
9891 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9892
9893         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
9894           Don't go in pull mode for non-seekable sources.
9895         * gst/elements/gsttypefindelement.h:
9896         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9897         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
9898         (free_entry), (stop_typefinding),
9899         (gst_type_find_element_handle_event), (find_peek),
9900         (gst_type_find_element_chain), (do_pull_typefind),
9901         (gst_type_find_element_change_state):
9902           Allow typefinding (w/o seeking) in push-mode, simplified version
9903           of what was in 0.8.
9904         * gst/gstutils.c: (gst_buffer_join):
9905         * gst/gstutils.h:
9906           gst_buffer_join() from 0.8.
9907
9908 2005-05-25  Wim Taymans  <wim@fluendo.com>
9909
9910         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9911         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9912         (gst_pad_send_event), (gst_pad_start_task):
9913         Disable attempt at mode switching until it is figured out.
9914
9915 2005-05-25  Wim Taymans  <wim@fluendo.com>
9916
9917         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
9918         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9919         (gst_basesink_finish_preroll), (gst_basesink_chain),
9920         (gst_basesink_loop), (gst_basesink_activate),
9921         (gst_basesink_change_state):
9922         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
9923         (gst_basesrc_get_range), (gst_basesrc_loop),
9924         (gst_basesrc_activate):
9925         * gst/elements/gsttee.c: (gst_tee_sink_activate):
9926         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9927         (gst_real_pad_init), (gst_real_pad_set_property),
9928         (gst_real_pad_get_property), (gst_pad_set_active),
9929         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
9930         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
9931         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
9932         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
9933         (gst_pad_event_default_dispatch), (gst_pad_event_default),
9934         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
9935         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
9936         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9937         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
9938         (gst_pad_stop_task):
9939         * gst/gstpad.h:
9940         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9941         (gst_queue_loop), (gst_queue_src_activate):
9942         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
9943         (gst_task_get_state):
9944         * gst/gsttask.h:
9945         * gst/schedulers/threadscheduler.c:
9946         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
9947         Implement gst_pad_pause/start/stop_task(), take STREAM lock
9948         in task function.
9949         Remove ACTIVE pad flag, use FLUSHING everywhere
9950         Added _pad_chain(), _pad_get_range() to call chain/getrange 
9951         functions.
9952         Add locks around IS_FLUSHING when reading.
9953         Take STREAM lock in chain(), get_range() functions so plugins
9954         don't need to take it anymore.
9955         
9956
9957
9958 2005-05-25  Wim Taymans  <wim@fluendo.com>
9959
9960         * tools/gst-launch.c: (event_loop):
9961         Unref message after using its contents instead of
9962         before.
9963
9964 2005-05-24  Wim Taymans  <wim@fluendo.com>
9965
9966         * docs/design/draft-ghostpads.txt:
9967         * docs/design/draft-push-pull.txt:
9968         * docs/design/draft-query.txt:
9969         * docs/design/part-overview.txt:
9970         Docs updates, added general overview doc.
9971
9972 2005-05-21  David Schleef  <ds@schleef.org>
9973
9974         * docs/gst/tmpl/old/GstBin.sgml:
9975         * docs/gst/tmpl/old/GstBuffer.sgml:
9976         * docs/gst/tmpl/old/GstCaps.sgml:
9977         * docs/gst/tmpl/old/GstClock.sgml:
9978         * docs/gst/tmpl/old/GstCompat.sgml:
9979         * docs/gst/tmpl/old/GstData.sgml:
9980         * docs/gst/tmpl/old/GstElement.sgml:
9981         * docs/gst/tmpl/old/GstEvent.sgml:
9982         * docs/gst/tmpl/old/GstIndex.sgml:
9983         * docs/gst/tmpl/old/GstStructure.sgml:
9984         * docs/gst/tmpl/old/GstTag.sgml:
9985         * docs/gst/tmpl/old/cothreads.sgml:
9986         * docs/gst/tmpl/old/cothreads_compat.sgml:
9987         * docs/gst/tmpl/old/gettext.sgml:
9988         * docs/gst/tmpl/old/gobject2gtk.sgml:
9989         * docs/gst/tmpl/old/grammar.tab.sgml:
9990         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9991         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9992         * docs/gst/tmpl/old/gst_private.sgml:
9993         * docs/gst/tmpl/old/gstaggregator.sgml:
9994         * docs/gst/tmpl/old/gstarch.sgml:
9995         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9996         * docs/gst/tmpl/old/gstbufferstore.sgml:
9997         * docs/gst/tmpl/old/gstdata_private.sgml:
9998         * docs/gst/tmpl/old/gstdisksink.sgml:
9999         * docs/gst/tmpl/old/gstdisksrc.sgml:
10000         * docs/gst/tmpl/old/gstelementfactory.sgml:
10001         * docs/gst/tmpl/old/gstextratypes.sgml:
10002         * docs/gst/tmpl/old/gstfakesink.sgml:
10003         * docs/gst/tmpl/old/gstfakesrc.sgml:
10004         * docs/gst/tmpl/old/gstfdsink.sgml:
10005         * docs/gst/tmpl/old/gstfdsrc.sgml:
10006         * docs/gst/tmpl/old/gstfilesink.sgml:
10007         * docs/gst/tmpl/old/gstfilesrc.sgml:
10008         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10009         * docs/gst/tmpl/old/gstidentity.sgml:
10010         * docs/gst/tmpl/old/gstindexfactory.sgml:
10011         * docs/gst/tmpl/old/gstmarshal.sgml:
10012         * docs/gst/tmpl/old/gstmd5sink.sgml:
10013         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10014         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10015         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10016         * docs/gst/tmpl/old/gstpipefilter.sgml:
10017         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10018         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10019         * docs/gst/tmpl/old/gstshaper.sgml:
10020         * docs/gst/tmpl/old/gstspider.sgml:
10021         * docs/gst/tmpl/old/gstspideridentity.sgml:
10022         * docs/gst/tmpl/old/gststatistics.sgml:
10023         * docs/gst/tmpl/old/gsttee.sgml:
10024         * docs/gst/tmpl/old/gsttimecache.sgml:
10025         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10026         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10027         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10028         * docs/gst/tmpl/old/types.sgml:
10029           I didn't intend to add these or check them in.
10030
10031 2005-05-19  David Schleef  <ds@schleef.org>
10032
10033         * configure.ac: Use -no-common everywhere.  In a sane world, it
10034           would be the default in libtool, because without it, you can't
10035           build DLLs on Windows.
10036         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10037         * docs/gst/gstreamer-sections.txt:
10038         * docs/gst/tmpl/gstcpu.sgml:
10039         * docs/gst/tmpl/gstdata.sgml:
10040         * docs/gst/tmpl/gstthread.sgml:
10041
10042 2005-05-19  David Schleef  <ds@schleef.org>
10043
10044         * gst/gstminiobject.c: (gst_value_set_mini_object),
10045         (gst_value_take_mini_object), (gst_value_get_mini_object):
10046         * gst/gstminiobject.h: Add GValue set/get functions.
10047
10048 2005-05-19  Wim Taymans  <wim@fluendo.com>
10049
10050         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10051         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10052         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10053         * gst/gstbuffer.h:
10054         * gst/gstbus.c: (gst_bus_post):
10055         * gst/gstelement.c: (gst_element_get_random_pad):
10056         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10057         Make subbufer unref the parent in finalize.
10058         some more debugging info.
10059
10060
10061 2005-05-19  Wim Taymans  <wim@fluendo.com>
10062
10063         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10064         (gst_basesink_init), (gst_basesink_finalize),
10065         (gst_basesink_activate), (gst_basesink_change_state):
10066         Don't free preroll queue too early.
10067
10068 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10069
10070         * gst/Makefile.am:
10071         * gst/ROADMAP:
10072           Hi, I'm outdated. Please shoot me.
10073
10074 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10075
10076         * gst/gstpipeline.c: (gst_pipeline_send_event):
10077           Do not access variables after they have been deleted.
10078
10079 2005-05-19  Wim Taymans  <wim@fluendo.com>
10080
10081         * tools/gst-inspect.c: (print_plugin_features):
10082         A plugin feature does unfortunatly not use the
10083         object name yet...
10084
10085 2005-05-18  Wim Taymans  <wim@fluendo.com>
10086
10087         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10088         Port _span() functions to new subbuffers.
10089
10090 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10091
10092         * gst/gstbin.c: (gst_bin_add_func):
10093           Fix clock settery in bins when adding kids after the clock has
10094           been selected.
10095
10096 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10097
10098         * gst/elements/gstidentity.c: (gst_identity_class_init):
10099           Workaround until signals support GstMiniObject.
10100
10101 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10102
10103         * gst/gstbuffer.c:
10104         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10105
10106 2005-05-18  Wim Taymans  <wim@fluendo.com>
10107
10108         * gst/base/Makefile.am:
10109         * gst/base/gstadapter.c: (gst_adapter_base_init),
10110         (gst_adapter_class_init), (gst_adapter_init),
10111         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10112         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10113         (gst_adapter_flush), (gst_adapter_available),
10114         (gst_adapter_available_fast):
10115         * gst/base/gstadapter.h:
10116         Ported and added adapter to the base classes.
10117
10118 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10119
10120         * gst/gst.c:
10121         * gst/gstmessage.c:
10122           Make sure the class is reffed/unreffed once before threads can be
10123           used.  Fixes #304551.
10124
10125 2005-05-17  Wim Taymans  <wim@fluendo.com>
10126
10127         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10128         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10129         * gst/gstminiobject.c: (gst_mini_object_get_type),
10130         (gst_mini_object_free):
10131         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10132         (gst_pad_push), (gst_pad_push_event):
10133         * gst/gstqueue.c: (gst_queue_change_state):
10134         Don't queue buffers in basesink when we are flushing.
10135         Unref buffer when flushing in basesink.
10136         Flush queue when going to READY
10137         Unref buffer when _push() returns an error.
10138         Don't free MiniObject instance when refcount is incremented
10139         in _finalize() so that we can recover objects.
10140
10141 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10142
10143         * docs/manual/advanced-schedulers.xml:
10144         * docs/manual/appendix-checklist.xml:
10145         * docs/pwg/advanced-clock.xml:
10146         * docs/pwg/advanced-interfaces.xml:
10147         * docs/pwg/advanced-request.xml:
10148         * docs/pwg/advanced-types.xml:
10149         * docs/pwg/intro-preface.xml:
10150         * examples/plugins/example.c: (gst_example_get_type),
10151         (gst_example_class_init), (gst_example_chain),
10152         (gst_example_set_property), (gst_example_get_property),
10153         (gst_example_change_state), (plugin_init):
10154         * examples/plugins/example.h:
10155           small doc fixes
10156
10157 2005-05-17  Wim Taymans  <wim@fluendo.com>
10158
10159         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10160         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10161         * gst/gstqueue.c: (gst_queue_change_state):
10162         Clear queue when going to READY.
10163         Remove IN_SETCAPS flag too.
10164
10165 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10166
10167         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10168           Remove implicit cast from gboolean to GstElementStateReturn;
10169           make sure we still return failure in paused => ready case if
10170           the parent class fails to change state and our own stop 
10171           vfunc succeeds.
10172
10173 2005-05-17  Wim Taymans  <wim@fluendo.com>
10174
10175         * tools/gst-launch.c: (event_loop):
10176         Message was unreffed too soon.
10177
10178 2005-05-16  Andy Wingo  <wingo@pobox.com>
10179
10180         * gst/gstbin.c (sink_iterator_filter): Err... um...
10181
10182         * check/gst/gstbin.c (test_ghost_pads): New test for the
10183         ghosting-if-elements-not-in-same-bin behavior.
10184
10185 2005-05-16  David Schleef  <ds@schleef.org>
10186
10187         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10188         accessing refcount directly.
10189
10190 2005-05-15  David Schleef  <ds@schleef.org>
10191
10192         * check/Makefile.am: remove GstData checks
10193         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10194         * gst/Makefile.am: add miniobject, remove data
10195         * gst/gst.h: add miniobject, remove data
10196         * gst/gstdata.c: remove
10197         * gst/gstdata.h: remove
10198         * gst/gstdata_private.h: remove
10199         * gst/gsttypes.h: remove GstEvent and GstMessage
10200         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10201         * gst/gstmarshal.list: change BOXED -> OBJECT
10202
10203         Implement GstMiniObject.
10204         * gst/gstminiobject.c:
10205         * gst/gstminiobject.h:
10206
10207         Modify to be subclasses of GstMiniObject.
10208         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10209         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10210         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10211         (gst_subbuffer_get_type), (gst_subbuffer_init),
10212         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10213         (gst_buffer_span):
10214         * gst/gstbuffer.h:
10215         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10216         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10217         (_gst_event_copy), (gst_event_new):
10218         * gst/gstevent.h:
10219         * gst/gstmessage.c: (_gst_message_initialize),
10220         (gst_message_get_type), (gst_message_class_init),
10221         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10222         (gst_message_new), (gst_message_new_error),
10223         (gst_message_new_warning), (gst_message_new_tag),
10224         (gst_message_new_state_changed), (gst_message_new_application):
10225         * gst/gstmessage.h:
10226         * gst/gstprobe.c: (gst_probe_perform),
10227         (gst_probe_dispatcher_dispatch):
10228         * gst/gstprobe.h:
10229         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10230         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10231         (_gst_query_copy), (gst_query_new):
10232
10233         Update elements for GstData -> GstMiniObject changes
10234         * gst/gstquery.h:
10235         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10236         (gst_queue_chain), (gst_queue_loop):
10237         * gst/elements/gstbufferstore.c:
10238         (gst_buffer_store_add_buffer_func),
10239         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10240         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10241         (gst_fakesink_render):
10242         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10243         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10244         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10245         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10246         (gst_filesrc_create_read):
10247         * gst/elements/gstidentity.c: (gst_identity_class_init):
10248         * gst/elements/gsttypefindelement.c:
10249         (gst_type_find_element_src_event), (free_entry_buffers),
10250         (gst_type_find_element_handle_event):
10251         * libs/gst/dataprotocol/dataprotocol.c:
10252         (gst_dp_header_from_buffer):
10253         * libs/gst/dataprotocol/dataprotocol.h:
10254         * libs/gst/dataprotocol/dp-private.h:
10255
10256 2005-05-15  David Schleef  <ds@schleef.org>
10257
10258         * gst/elements/gstelements.c: Don't include headers that were
10259         just removed.
10260
10261 2005-05-15  David Schleef  <ds@schleef.org>
10262
10263         * gst/elements/Makefile.am: Remove some elements that don't
10264         need to be in the core (or even exist at all).
10265         * gst/elements/gstaggregator.c:
10266         * gst/elements/gstaggregator.h:
10267         * gst/elements/gstmd5sink.c:
10268         * gst/elements/gstmd5sink.h:
10269         * gst/elements/gstmultifilesrc.c:
10270         * gst/elements/gstmultifilesrc.h:
10271         * gst/elements/gstpipefilter.c:
10272         * gst/elements/gstpipefilter.h:
10273         * gst/elements/gstshaper.c:
10274         * gst/elements/gstshaper.h:
10275         * gst/elements/gststatistics.c:
10276         * gst/elements/gststatistics.h:
10277         * po/POTFILES.in: Remove above files.
10278
10279 2005-05-14  Andy Wingo  <wingo@pobox.com>
10280
10281         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10282         so as to get the refs right.
10283         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10284         unreffing objects that don't pass the filter.
10285
10286         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10287         gst_element_set_bus.
10288         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10289         normal cases, this will destroy the bus.
10290
10291         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10292         object.
10293
10294         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10295         has no sinks.
10296
10297 2005-05-13  Andy Wingo  <wingo@pobox.com>
10298
10299         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10300         gst_pad_link, call pad_link_maybe_ghosting,
10301         (pad_link_maybe_ghosting): Links pads, making sure that the
10302         elements being linked are in the same bin.
10303         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10304         Helpers for pad_link_maybe_ghosting.
10305
10306 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10307
10308         * configure.ac:
10309           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10310
10311 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10312
10313         * docs/design/part-element-source.txt:
10314           Mention GstPushSrc
10315
10316 2005-05-12  Wim Taymans  <wim@fluendo.com>
10317
10318         * gst/base/gstbasesink.c: (gst_basesink_init),
10319         (gst_basesink_activate):
10320         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10321         (gst_basesrc_is_seekable):
10322         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10323         (bin_element_is_sink), (gst_bin_change_state):
10324         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10325         * gst/gstelement.h:
10326         Identify sinks by their flag to avoid overly complicated
10327         checks (fow now).
10328         Do state changes even for elements not reachable from the
10329         sinks.
10330         BaseSink is a sink now :)
10331         Some more debugging info in the basesrc.
10332
10333
10334 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10335
10336         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10337           Implement _query on a bin, similar to _send_event.
10338
10339 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10340
10341         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10342           Discont event offset format should be GST_FORMAT_BYTES,
10343           not GST_FORMAT_TIME.
10344
10345 2005-05-12  Wim Taymans  <wim@fluendo.com>
10346
10347         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10348         Same fix as Ronald's but without the signal. 
10349
10350 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10351
10352         * gst/gstutils.c: (gst_element_query_position):
10353           No, an element is not a pad.
10354
10355 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10356
10357         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10358         (gst_bin_get_state):
10359           If a child is removed from a bin while we remove the child from
10360           the bin and while we're retrieving its state, signal this to the
10361           get_state function so we abort the wait (instead of waiting for
10362           a timeout) and can immediately re-iterate over all other elements.
10363
10364 2005-05-12  Wim Taymans  <wim@fluendo.com>
10365
10366         * gst/base/Makefile.am:
10367         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10368         (gst_basesrc_start):
10369         * gst/base/gstbasesrc.h:
10370         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10371         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10372         (gst_pushsrc_init), (gst_pushsrc_create):
10373         * gst/base/gstpushsrc.h:
10374         Added is_seekable to BaseSrc
10375         Added simple PushSrc.
10376
10377 2005-05-11  Wim Taymans  <wim@fluendo.com>
10378
10379         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10380         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10381         (gst_element_link_pads), (gst_element_query_position),
10382         (gst_element_query_convert), (intersect_caps_func),
10383         (gst_pad_query_position), (gst_pad_query_convert):
10384         Fix refcounting in utils function.
10385         No point in trying to activate a pad when it's added, it could
10386         be added from the state change function and then we deadlock, the
10387         element has to decide what to do.
10388
10389 2005-05-10  Andy Wingo  <wingo@pobox.com>
10390
10391         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10392         *all* the arguments.
10393
10394         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10395         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10396         lock (according to the docs -- if this is wrong change the docs).
10397
10398         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10399         flush messages in the NULL state.
10400
10401         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10402         message immediately and return.
10403         (gst_bus_set_flushing): New function. If a bus is flushing, it
10404         flushes out any queued messages and immediately unrefs new
10405         messages. This is so when an element goes to NULL, all of the
10406         unhandled messages coming from it can be freed, and their
10407         references to the element dropped. In other words: message source
10408         ref considered harmful :P
10409
10410         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10411         we're finished with it.
10412
10413         * gst/gstmessage.c (gst_message_new_state_changed): 
10414
10415 2005-05-10  Wim Taymans  <wim@fluendo.com>
10416
10417         * gst/gstvalue.c: (gst_value_compare_flags),
10418         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10419         (_gst_value_initialize):
10420         Added flags serialize/deserialize/compare code.
10421
10422 2005-05-09  Andy Wingo  <wingo@pobox.com>
10423
10424         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10425         Intersect the peer's caps with our caps.
10426
10427 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10428
10429         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10430         * gst/elements/gsttypefindelement.c: (find_peek):
10431           Handle negative offsets better. Fixes decodebin.
10432
10433 2005-05-09  Wim Taymans  <wim@fluendo.com>
10434
10435         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10436         (gst_base_transform_event):
10437         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10438         Implement accept_caps.
10439         Fix silly lock/unlock mismatch in base class.
10440
10441 2005-05-09  Wim Taymans  <wim@fluendo.com>
10442
10443         * docs/design/draft-push-pull.txt:
10444         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10445         * gst/elements/gstfilesink.c: (gst_filesink_init),
10446         (gst_filesink_query):
10447         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10448         (gst_type_find_handle_src_query), (find_element_get_length):
10449         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10450         * gst/gstelement.h:
10451         * gst/gstmessage.c:
10452         * gst/gstmessage.h:
10453         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10454         (gst_real_pad_get_caps_unlocked),
10455         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10456         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10457         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10458         (gst_real_pad_dispose), (gst_real_pad_finalize),
10459         (gst_pad_load_and_link), (gst_pad_save_thyself),
10460         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10461         (gst_pad_check_pull_range), (gst_pad_pull_range),
10462         (gst_pad_template_get_type), (gst_pad_template_class_init),
10463         (gst_pad_template_init), (gst_pad_template_dispose),
10464         (name_is_valid), (gst_static_pad_template_get),
10465         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10466         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10467         (gst_pad_get_element_private), (gst_pad_start_task),
10468         (gst_pad_pause_task), (gst_pad_stop_task),
10469         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10470         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10471         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10472         (gst_ghost_pad_new):
10473         * gst/gstpad.h:
10474         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10475         (gst_query_new_position), (gst_query_set_position),
10476         (gst_query_parse_position), (gst_query_new_convert),
10477         (gst_query_set_convert), (gst_query_parse_convert):
10478         * gst/gstquery.h:
10479         * gst/gstqueryutils.c:
10480         * gst/gstqueryutils.h:
10481         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10482         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10483         (gst_queue_handle_src_query):
10484         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10485         (gst_element_query_position), (gst_element_query_convert),
10486         (intersect_caps_func), (gst_pad_query_position),
10487         (gst_pad_query_convert):
10488         * gst/gstutils.h:
10489         * tools/gst-inspect.c: (print_pad_info):
10490         * tools/gst-xmlinspect.c: (print_element_info):
10491         Remove old query functions. Ported old code.
10492         Added position/convert helper functions to gstutils.
10493         Reordered gstpad.c code, grouping relevant things.
10494         Remove gst_message_new(), always need to speficy a specific
10495         message.
10496
10497
10498 2005-05-09  Andy Wingo  <wingo@pobox.com>
10499
10500         * gst/gstiterator.h: Add some includes.
10501
10502         * gst/gstqueryutils.h: Include more headers.
10503
10504         * gst/gstpad.h:
10505         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10506         some uses of gst_pad_query.
10507
10508         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10509         NULL out parameters.
10510         (gst_query_new_position): New proc, allocates a new position
10511         query.
10512
10513         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10514         gstqueryutils.c to the build.
10515
10516         * gst/gststructure.c (gst_structure_set_valist): Implement with
10517         the generic G_VALUE_COLLECT.
10518         
10519 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10520
10521         * gst/Makefile.am: (gst_headers):
10522         Added gstqueryutils.h to the list of headers to install, that was
10523         a 'nachty' move wingo :)
10524
10525 2005-05-06  Andy Wingo  <wingo@pobox.com>
10526
10527         * gst/gstquery.h
10528         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10529         GstData, init a memchunk.
10530         (standard_definitions): Add a few query types, deprecate a few.
10531         (gst_query_get_type): New proc.
10532         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10533         implementation.
10534         (gst_query_new_application, gst_query_get_structure): New public
10535         procs.
10536
10537         * docs/design/draft-query.txt: Removed LINKS from the query types,
10538         because all the rest can be dispatched to other pads -- seemed
10539         ugly to have a query that couldn't be dispatched. internal_links
10540         is fine as a pad method.
10541
10542         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10543         in gstpad.c, but maintain binary compatibility for the moment.
10544         Will fix before 0.9 is out.
10545
10546         * gst/gstqueryutils.c: 
10547         * gst/gstqueryutils.h: New files, implement 3 methods for each
10548         query type: parse_query, parse_response, and set. Probably need an
10549         allocator as well.
10550
10551         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10552
10553         * gst/elements/gstfilesink.c (gst_filesink_query2):
10554         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10555         query_types, and formats methods.
10556
10557         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10558         (gst_pad_set_query2_function): New functions.
10559         (gst_real_pad_init): Set query2_default as the default query2
10560         function. Basically just dispatches to internally linked pads.
10561
10562         Needs review!
10563         
10564         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10565         without using the atomic operations. Only one thread can possibly
10566         be accessing the data at this point. Changed so as to avoid
10567         gst_atomic operations.
10568
10569 2005-05-06  Wim Taymans  <wim@fluendo.com>
10570
10571         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10572         Also set caps if we use the fallback buffer alloc.
10573
10574 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10575
10576         * docs/gst/Makefile.am:
10577         * docs/gst/gstreamer-docs.sgml:
10578         * docs/gst/gstreamer-sections.txt:
10579         * docs/gst/tmpl/gstatomic.sgml:
10580         * docs/gst/tmpl/gstmemchunk.sgml:
10581         * testsuite/elements/struct_i386.h:
10582         * win32/GStreamer.vcproj:
10583         * win32/Makefile:
10584           Purge GstAtomic stuff from docs and win32 makefiles as well
10585
10586 2005-05-06  Wim Taymans  <wim@fluendo.com>
10587
10588         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10589         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10590         * gst/gstpad.c: (gst_pad_peer_get_caps):
10591         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10592         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10593         (gst_queue_src_activate), (gst_queue_change_state):
10594         * gst/gstqueue.h:
10595         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10596         (intersect_caps_func):
10597         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10598         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10599         Some fixes for the peer_get_caps() change.
10600
10601 2005-05-06  Wim Taymans  <wim@fluendo.com>
10602
10603         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10604         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10605         (gst_basesink_activate):
10606         Actually do something with error codes returned from the push
10607         functions.
10608
10609 2005-05-06  Wim Taymans  <wim@fluendo.com>
10610
10611         * docs/design/part-element-sink.txt:
10612         * docs/design/part-element-source.txt:
10613         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10614         (gst_basesink_event), (gst_basesink_activate):
10615         * gst/base/gstbasesink.h:
10616         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10617         (gst_basesrc_activate):
10618         * gst/base/gstbasesrc.h:
10619         * gst/gstelement.c: (gst_element_pads_activate):
10620         Some more documentation.
10621         Fixed scheduling decision in _pads_activate().
10622
10623 2005-05-05  Andy Wingo  <wingo@pobox.com>
10624
10625         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10626         the test suite.
10627
10628 2005-05-05  Wim Taymans  <wim@fluendo.com>
10629
10630         * gst/base/Makefile.am:
10631         * gst/base/gstbasesink.h:
10632         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10633         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10634         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10635         (gst_collectpads_class_init), (gst_collectpads_init),
10636         (gst_collectpads_finalize), (gst_collectpads_new),
10637         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10638         (find_pad), (gst_collectpads_remove_pad),
10639         (gst_collectpads_is_active), (gst_collectpads_collect),
10640         (gst_collectpads_collect_range), (gst_collectpads_start),
10641         (gst_collectpads_stop), (gst_collectpads_peek),
10642         (gst_collectpads_pop), (gst_collectpads_available),
10643         (gst_collectpads_read), (gst_collectpads_flush),
10644         (gst_collectpads_chain):
10645         * gst/base/gstcollectpads.h:
10646         * gst/elements/Makefile.am:
10647         * gst/elements/gstelements.c:
10648         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10649         (gst_fakesink_get_times), (gst_fakesink_event),
10650         (gst_fakesink_preroll), (gst_fakesink_render):
10651         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10652         (gst_filesink_init), (gst_filesink_set_location),
10653         (gst_filesink_open_file), (gst_filesink_close_file),
10654         (gst_filesink_pad_query), (gst_filesink_event),
10655         (gst_filesink_render), (gst_filesink_change_state):
10656         * gst/elements/gstfilesink.h:
10657         Added object to help in making collect pad based elements.
10658         Ported filesink.
10659         Make event function in sink baseclass return gboolean.
10660
10661 2005-05-05  Wim Taymans  <wim@fluendo.com>
10662
10663         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10664         (gst_bin_get_by_name):
10665         * gst/gstbuffer.h:
10666         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10667         (gst_clock_finalize):
10668         * gst/gstdata.c: (gst_data_replace):
10669         * gst/gstdata.h:
10670         * gst/gstelement.c: (gst_element_request_pad),
10671         (gst_element_pads_activate):
10672         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10673         (gst_object_unref):
10674         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10675         (gst_pad_set_checkgetrange_function),
10676         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10677         (gst_pad_check_pull_range), (gst_pad_pull_range),
10678         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10679         (gst_pad_pause_task), (gst_pad_stop_task):
10680         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10681         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10682         Fix name lookup in GstBin.
10683         Added _data_replace() function and _buffer_replace()
10684         Use finalize method to clean up clock.
10685         Fix refcounting on request pads.
10686         Fix pad schedule mode error.
10687         Some more object refcounting debug info,
10688
10689
10690 2005-05-04  Andy Wingo <wingo@pobox.com>
10691
10692         * check/Makefile.am:
10693         * docs/gst/tmpl/gstatomic.sgml:
10694         * docs/gst/tmpl/gstplugin.sgml:
10695         * gst/base/gstbasesink.c: (gst_basesink_activate):
10696         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10697         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10698         (gst_basesrc_query), (gst_basesrc_set_property),
10699         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10700         (gst_basesrc_activate):
10701         * gst/base/gstbasesrc.h:
10702         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10703         (gst_base_transform_src_activate):
10704         * gst/elements/gstelements.c:
10705         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10706         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10707         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10708         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10709         (gst_type_find_element_checkgetrange),
10710         (gst_type_find_element_activate):
10711         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10712         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10713         (gst_caps_load_thyself):
10714         * gst/gstelement.c: (gst_element_pads_activate),
10715         (gst_element_save_thyself), (gst_element_restore_thyself):
10716         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10717         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10718         * gst/gstpad.h:
10719         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10720         (gst_xml_parse_file), (gst_xml_parse_memory),
10721         (gst_xml_get_element), (gst_xml_make_element):
10722         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10723         (_file_index_id_save_xml), (gst_file_index_commit):
10724         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10725         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10726         (load_paths):
10727         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10728         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10729         * tools/gst-complete.c: (main):
10730         * tools/gst-compprep.c: (main):
10731         * tools/gst-inspect.c: (print_element_properties_info):
10732         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10733         * tools/gst-xmlinspect.c: (print_element_properties):
10734         GCC 4 fixen.
10735         
10736 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10737
10738         * gst/gstplugin.c: (gst_plugin_check_module),
10739         (gst_plugin_check_file), (gst_plugin_load_file):
10740             apply patch from #172526 to make register work on MacOSX
10741
10742 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10743
10744         * docs/gst/tmpl/gstconfig.sgml:
10745         * gst/gstconfig.h.in:
10746           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10747         * testsuite/debug/printf_extension.c: (main):
10748           Do not use GST_PTR_FORMAT on pointers to types with
10749           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10750         * testsuite/elements/property.h:
10751           use correct printf format
10752
10753 2005-05-02  Wim Taymans  <wim@fluendo.com>
10754
10755         * docs/design/draft-push-pull.txt:
10756         * docs/design/draft-query.txt:
10757         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10758         (gst_basesrc_start):
10759         Added draft for new query API.
10760         Added draft for better selecting scheduling methods.
10761         Make basesrc ignore length if the subclass does not support
10762         it.
10763
10764 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10765
10766         * gst/Makefile.am:
10767           possible fixes for automake-1.5 - _LIBADD is reserved
10768
10769 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10770
10771         * docs/faq/Makefile.am:
10772         * docs/manual/Makefile.am:
10773         * docs/manuals.mak:
10774         * docs/pwg/Makefile.am:
10775         * gst/Makefile.am:
10776           possible fixes for automake-1.5
10777
10778 2005-04-28  Wim Taymans  <wim@fluendo.com>
10779
10780         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10781         (gst_basesink_pad_getcaps), (gst_basesink_init),
10782         (gst_basesink_do_sync):
10783         * gst/gstclock.c: (gst_clock_entry_new):
10784         * gst/gstevent.c: (gst_event_discont_get_value):
10785         * gst/gstpipeline.c: (pipeline_bus_handler),
10786         (gst_pipeline_change_state):
10787         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10788         Better debugging of clocking info.
10789         Allow NULL values when getting discont values.
10790
10791 2005-04-27  Wim Taymans  <wim@fluendo.com>
10792
10793         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10794         * check/gst/gstpad.c: (gst_pad_suite):
10795         Increase timeout for checks.
10796
10797 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10798
10799         * check/Makefile.am:
10800           fix the broken rule for cleanup.  Apparently this rule is
10801           only needed on FC2, so maybe this warrants further autotool
10802           inspection.
10803
10804 2005-04-26  Wim Taymans  <wim@fluendo.com>
10805
10806         * gst/gsttrashstack.h:
10807         Ooohh. a nasty one! After having a failed pop() from the stack,
10808         it's possible that the stack is empty. In that case, don't
10809         follow the NULL pointer.
10810
10811 2005-04-25  Wim Taymans  <wim@fluendo.com>
10812
10813         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10814         (gst_pad_set_checkgetrange_function),
10815         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10816         (gst_pad_check_pull_range), (gst_pad_pull_range),
10817         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10818         (gst_pad_pause_task), (gst_pad_stop_task):
10819         * gst/gstplugin.c: (gst_plugin_load):
10820         * gst/gstplugin.h:
10821         Remove gst_library_load as it does more harm than good with
10822         the new g_module flags.
10823         Revert bogus caps template check in pad linking, pad caps
10824         are important when linking not the template, which is more
10825         general than the current caps.
10826
10827 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10828
10829         * gst/autoplug/.cvsignore:
10830         * gst/autoplug/Makefile.am:
10831         * gst/autoplug/gstsearchfuncs.c:
10832         * gst/autoplug/gstsearchfuncs.h:
10833         * gst/autoplug/gstspider.c:
10834         * gst/autoplug/gstspider.h:
10835         * gst/autoplug/gstspideridentity.c:
10836         * gst/autoplug/gstspideridentity.h:
10837         * gst/autoplug/spidertest.c:
10838           Die, spider, die.
10839
10840 2005-04-25  Wim Taymans  <wim@fluendo.com>
10841
10842         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10843         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10844         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10845         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10846         * gst/gstpad.h:
10847         Added stubs for unimplemented functions. 
10848
10849 2005-04-24  David Schleef  <ds@schleef.org>
10850
10851         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
10852         please fix.
10853
10854 2005-04-24  David Schleef  <ds@schleef.org>
10855
10856         Convert everything from GstAtomicInt to g_atomic_int_*, and
10857         remove gstatomic.
10858         * gst/Makefile.am:
10859         * gst/gstatomic.c:
10860         * gst/gstatomic.h:
10861         * gst/gstatomic_impl.h:
10862         * gst/gstbuffer.c:
10863         * gst/gstcaps.c:
10864         * gst/gstcaps.h:
10865         * gst/gstclock.c:
10866         * gst/gstclock.h:
10867         * gst/gstdata.c:
10868         * gst/gstdata.h:
10869         * gst/gstdata_private.h:
10870         * gst/gstevent.c:
10871         * gst/gstinfo.c:
10872         * gst/gstinfo.h:
10873         * gst/gstmessage.c:
10874         * gst/gstobject.c:
10875         * gst/gstobject.h:
10876         * gst/gststructure.c:
10877         * gst/gststructure.h:
10878         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
10879         * gst/gstutils.h:
10880
10881 2005-04-24  David Schleef  <ds@schleef.org>
10882
10883         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
10884         make the regressions tests work.  Remove some code that is no
10885         longer true.
10886         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
10887         Disable warning for pads without templates.
10888
10889 2005-04-24  David Schleef  <ds@schleef.org>
10890
10891         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
10892         functions that handle filtered links.
10893         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
10894         removed functions.
10895         * gst/gstutils.c: Fix/remove utility functions that handle
10896         filtered caps.
10897         * gst/gstutils.h:
10898         * gst/gstvalue.c: Add serialization/deserialization of caps
10899         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
10900         requires fixing so that the filter caps notation creates
10901         a capsfilter element and sets the filter_caps property.  I
10902         think everyone probably wants to keep the shorthand notation.
10903         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
10904         * docs/gst/tmpl/gstpad.sgml:
10905
10906         * gst/elements/gstelements.c: Register capsfilter element.
10907         * gst/Makefile.am: fix spacing
10908         * docs/random/ds/0.9-suggested-changes: random
10909
10910 2005-04-23  David Schleef  <ds@schleef.org>
10911
10912         * gst/elements/Makefile.am:
10913         * gst/elements/gstcapsfilter.c: New element that acts like an
10914         identity, but filters caps.  Will eventually replace filtered
10915         caps in pad linking.
10916         * gst/gstutils.c: (gst_element_create_all_pads): New function
10917         to create all the ALWAYS pads that are registered with an
10918         element class.  This functionality should eventually be
10919         merged in with GstElement initialization.
10920         * gst/gstutils.h:
10921         * testsuite/trigger/README: part of trigger test code that should
10922         have been checked in a long time ago.
10923
10924 2005-04-23  David Schleef  <ds@schleef.org>
10925
10926         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
10927         needed with new versions of libtool (nobody will confirm this),
10928         and hard to carry around.
10929         * gst/autoplug/Makefile.am:
10930         * gst/base/Makefile.am:
10931         * gst/elements/Makefile.am:
10932         * gst/indexers/Makefile.am:
10933         * gst/schedulers/Makefile.am:
10934         * libs/gst/bytestream/Makefile.am:
10935         * libs/gst/control/Makefile.am:
10936         * libs/gst/dataprotocol/Makefile.am:
10937         * libs/gst/getbits/Makefile.am:
10938
10939 2005-04-21  Wim Taymans  <wim@fluendo.com>
10940
10941         * docs/design/draft-push-pull.txt:
10942         * docs/design/part-MT-refcounting.txt:
10943         * docs/design/part-TODO.txt:
10944         * docs/design/part-caps.txt:
10945         * docs/design/part-events.txt:
10946         * docs/design/part-gstbus.txt:
10947         * docs/design/part-gstpipeline.txt:
10948         * docs/design/part-messages.txt:
10949         * docs/design/part-push-pull.txt:
10950         * docs/design/part-query.txt:
10951         Some more docs.
10952
10953 2005-04-21  Wim Taymans  <wim@fluendo.com>
10954
10955         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
10956         (gst_message_new), (gst_message_new_error),
10957         (gst_message_new_warning), (gst_message_new_tag),
10958         (gst_message_new_state_changed), (gst_message_new_application),
10959         (gst_message_get_structure):
10960         * gst/gstmessage.h:
10961         * gst/gststructure.c: (gst_structure_set_parent_refcount),
10962         (gst_structure_copy_conditional):
10963         Use parent refcount in GstMessage to ensure GstStructure
10964         consistency.
10965         Cleaned up headers a bit.
10966         
10967
10968 2005-04-20  Wim Taymans  <wim@fluendo.com>
10969
10970         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10971         (gst_basesink_pad_getcaps), (gst_basesink_init),
10972         (gst_basesink_chain_unlocked):
10973         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
10974         (gst_type_find_helper):
10975         * gst/elements/gsttypefindelement.c:
10976         (gst_type_find_element_have_type), (gst_type_find_element_init),
10977         (stop_typefinding), (gst_type_find_element_handle_event),
10978         (find_suggest), (gst_type_find_element_chain),
10979         (gst_type_find_element_checkgetrange),
10980         (gst_type_find_element_getrange), (do_typefind),
10981         (gst_type_find_element_activate):
10982         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10983         (gst_buffer_default_free), (gst_buffer_default_copy),
10984         (gst_buffer_set_caps):
10985         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
10986         (gst_caps_replace):
10987         * gst/gstmessage.c: (gst_message_new),
10988         (gst_message_new_state_changed):
10989         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10990         (gst_pad_set_checkgetrange_function),
10991         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
10992         (gst_pad_set_caps), (gst_pad_check_pull_range),
10993         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
10994         * gst/gstpad.h:
10995         * gst/gsttypefind.c: (gst_type_find_register):
10996         Make gst_caps_replace() work like other _replace() functions.
10997         Use _caps_replace() where possible.
10998         Make sure _message_new() initialises its field.
10999         Add gst_static_pad_template_get_caps()
11000
11001
11002 2005-04-18  Andy Wingo  <wingo@pobox.com>
11003
11004         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11005         on the peer, not the pad. I think that was a typo. Pass an extra
11006         arg to see if random access is possible. Activate the pads as
11007         PULL_RANGE if possible.
11008
11009         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11010
11011         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11012         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11013         to PROP_....
11014
11015 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11016
11017         * docs/faq/using.xml:
11018           Add note on gstreamer-properties (#154996).
11019
11020 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11021
11022         * docs/random/bbb/optional-properties:
11023           Some analysis on optional properties.
11024
11025 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11026
11027         * docs/gst/tmpl/gstelementfactory.sgml:
11028         * gst/gstelement.h:
11029         * gst/gstelementfactory.c: (gst_element_factory_init),
11030         (gst_element_factory_cleanup), (gst_element_register),
11031         (__gst_element_factory_add_static_pad_template),
11032         (gst_element_factory_get_static_pad_templates),
11033         (gst_element_factory_can_src_caps),
11034         (gst_element_factory_can_sink_caps):
11035         * gst/registries/Makefile.am:
11036         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11037         (gst_xml_registry_class_init), (gst_xml_registry_init),
11038         (gst_xml_registry_new), (gst_xml_registry_set_property),
11039         (gst_xml_registry_get_property), (get_time), (make_dir),
11040         (gst_xml_registry_get_perms_func),
11041         (plugin_times_older_than_recurse), (plugin_times_older_than),
11042         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11043         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11044         (add_to_char_array), (read_string), (read_uint), (read_enum),
11045         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11046         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11047         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11048         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11049         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11050         (gst_xml_registry_rebuild):
11051         * gst/registries/gstlibxmlregistry.h:
11052         * tools/gst-compprep.c: (main):
11053         * tools/gst-inspect.c: (print_pad_templates_info):
11054         * tools/gst-xmlinspect.c: (print_element_info):
11055           Use libxml2 for registry parsing, use staticpadtemplates in
11056           elementfactories. Makes gst_init() +/- 10x faster.
11057
11058 2005-04-12  Wim Taymans  <wim@fluendo.com>
11059
11060         * gst/base/Makefile.am:
11061         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11062         (gst_basesink_pad_getcaps), (gst_basesink_init),
11063         (gst_basesink_event), (gst_basesink_change_state):
11064         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11065         (gst_basesrc_init), (gst_basesrc_query),
11066         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11067         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11068         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11069         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11070         (gst_basesrc_stop), (gst_basesrc_activate),
11071         (gst_basesrc_change_state):
11072         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11073         (helper_find_suggest), (gst_type_find_helper):
11074         * gst/base/gsttypefindhelper.h:
11075         * gst/elements/Makefile.am:
11076         * gst/elements/gstelements.c:
11077         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11078         (gst_fakesink_get_times), (gst_fakesink_event),
11079         (gst_fakesink_preroll), (gst_fakesink_render):
11080         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11081         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11082         (gst_fakesrc_get_property), (gst_fakesrc_create),
11083         (gst_fakesrc_start), (gst_fakesrc_stop):
11084         * gst/elements/gstfakesrc.h:
11085         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11086         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11087         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11088         (gst_filesrc_create_read), (gst_filesrc_create),
11089         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11090         (gst_filesrc_start):
11091         * gst/elements/gsttypefindelement.c:
11092         (gst_type_find_element_have_type), (gst_type_find_element_init),
11093         (start_typefinding), (stop_typefinding), (push_buffer_store),
11094         (gst_type_find_element_handle_event),
11095         (gst_type_find_element_chain),
11096         (gst_type_find_element_checkgetrange),
11097         (gst_type_find_element_getrange), (do_typefind),
11098         (gst_type_find_element_activate),
11099         (gst_type_find_element_change_state):
11100         * gst/elements/gsttypefindelement.h:
11101         * gst/gstpipeline.c: (pipeline_bus_handler):
11102         Added typefind helper.
11103         Small preroll fix in the base sink.
11104         Disable typefind code in basesrc.
11105         Crude port of typefindelement.
11106         Fakesrc cleanups.
11107
11108
11109 2005-04-11  Wim Taymans  <wim@fluendo.com>
11110
11111         * check/gst/gstbus.c: (gstbus_suite):
11112         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11113         * check/gstcheck.h:
11114           Fix up the timeout so that the test does not fail.
11115
11116 2005-04-06  Wim Taymans  <wim@fluendo.com>
11117
11118         * gst/base/README:
11119         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11120         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11121         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11122         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11123         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11124         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11125         (gst_basesrc_stop), (gst_basesrc_activate),
11126         (gst_basesrc_change_state), (basesrc_find_peek),
11127         (basesrc_find_suggest), (gst_basesrc_type_find):
11128         * gst/base/gstbasesrc.h:
11129         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11130         (gst_filesrc_class_init), (gst_filesrc_init),
11131         (gst_filesrc_finalize), (gst_filesrc_set_location),
11132         (gst_filesrc_set_property), (gst_filesrc_get_property),
11133         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11134         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11135         (gst_filesrc_create_read), (gst_filesrc_create),
11136         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11137         * gst/elements/gstfilesrc.h:
11138         * gst/gstelement.c: (gst_element_get_state_func),
11139         (gst_element_lost_state), (gst_element_pads_activate):
11140         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11141         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11142         (gst_pad_pull_range):
11143         * gst/gstpad.h:
11144         More work on the generic source base class, implement seeking,
11145         query.
11146         Make filesrc extend the base source class.
11147         Added gst_pad_set_checkgetrange_function to GstPad.
11148
11149 2005-04-06  Andy Wingo  <wingo@pobox.com>
11150
11151         * pkgconfig/gstreamer-base.pc.in:
11152         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11153
11154         * pkgconfig/Makefile.am:
11155         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11156
11157 2005-04-04  Wim Taymans  <wim@fluendo.com>
11158
11159         * gst/base/Makefile.am:
11160         * gst/base/README:
11161         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11162         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11163         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11164         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11165         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11166         (gst_basesrc_base_init), (gst_basesrc_class_init),
11167         (gst_basesrc_init), (gst_basesrc_get_formats),
11168         (gst_basesrc_get_query_types), (gst_basesrc_query),
11169         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11170         (gst_basesrc_set_property), (gst_basesrc_get_property),
11171         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11172         (gst_basesrc_loop), (gst_basesrc_activate),
11173         (gst_basesrc_change_state):
11174         * gst/base/gstbasesrc.h:
11175         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11176         (gst_fakesrc_class_init), (gst_fakesrc_init),
11177         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11178         (gst_fakesrc_get_property), (gst_fakesrc_create):
11179         * gst/elements/gstfakesrc.h:
11180         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11181         (gst_filesrc_open_file), (gst_filesrc_loop),
11182         (gst_filesrc_activate), (filesrc_find_peek),
11183         (gst_filesrc_type_find):
11184         Made base source class, make fakesrc extend it.
11185         Add comments to basesink class.
11186         Some filesrc cleanup.
11187
11188 2005-03-31  David Schleef  <ds@schleef.org>
11189
11190         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11191         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11192         expected to link against libgstreamer.
11193         * gst/base/Makefile.am: link against libgstreamer
11194         * gst/elements/Makefile.am: same
11195
11196 2005-03-31  Andy Wingo  <wingo@pobox.com>
11197
11198         * tests/instantiate/Makefile.am:
11199         * tests/instantiate/caps.c: Add test to test speed of caps copy
11200         and free.
11201
11202         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11203         GMemChunk to be fair.
11204
11205         * gst/gsttrashstack.h: Remove warning about using the fallback
11206         trash stack implementation, it's still faster than malloc.
11207
11208 2005-03-30  Andy Wingo  <wingo@pobox.com>
11209
11210         * tests/complexity.c: Add a copyright.
11211
11212 2005-03-31  Wim Taymans  <wim@fluendo.com>
11213
11214         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11215         (gst_base_transform_class_init), (gst_base_transform_init),
11216         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11217         (gst_base_transform_get_property),
11218         (gst_base_transform_sink_activate),
11219         (gst_base_transform_src_activate),
11220         (gst_base_transform_change_state):
11221         * gst/base/gstbasetransform.h:
11222         * gst/elements/gstidentity.c: (gst_identity_class_init),
11223         (gst_identity_event), (gst_identity_check_perfect),
11224         (gst_identity_transform), (gst_identity_start),
11225         (gst_identity_stop):
11226         Added start/stop methods to transform base class so subclasses 
11227         don't need to deal with state changes even.
11228
11229 2005-03-31  Wim Taymans  <wim@fluendo.com>
11230
11231         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11232         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11233         * gst/gstevent.h:
11234         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11235         (gst_pad_pull_range):
11236         Added rate to the discont event to prepare for variable speed
11237         and reverse playback.
11238
11239 2005-03-29  David Schleef  <ds@schleef.org>
11240
11241         * configure.ac:
11242         * testsuite/trigger/Makefile.am:
11243         * testsuite/trigger/trigger.c: A little example program to show
11244         how trigger-based elements can work.
11245
11246 2005-03-29  Wim Taymans  <wim@fluendo.com>
11247
11248         * gst/base/Makefile.am:
11249         * gst/base/README:
11250         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11251         (gst_basesink_base_init), (gst_basesink_class_init),
11252         (gst_basesink_pad_getcaps), (gst_basesink_init),
11253         (gst_basesink_activate), (gst_basesink_change_state):
11254         * gst/base/gstbasesink.h:
11255         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11256         (gst_base_transform_base_init), (gst_base_transform_finalize),
11257         (gst_base_transform_class_init), (gst_base_transform_init),
11258         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11259         (gst_base_transform_event), (gst_base_transform_getrange),
11260         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11261         (gst_base_transform_set_property),
11262         (gst_base_transform_get_property),
11263         (gst_base_transform_sink_activate),
11264         (gst_base_transform_src_activate),
11265         (gst_base_transform_change_state):
11266         * gst/base/gstbasetransform.h:
11267         * gst/elements/gstidentity.c: (gst_identity_finalize),
11268         (gst_identity_class_init), (gst_identity_init),
11269         (gst_identity_event), (gst_identity_check_perfect),
11270         (gst_identity_transform), (gst_identity_set_property),
11271         (gst_identity_get_property), (gst_identity_change_state):
11272         * gst/elements/gstidentity.h:
11273         * gst/gstelement.c: (gst_element_get_state_func),
11274         (gst_element_lost_state), (gst_element_pads_activate):
11275         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11276         (gst_pad_check_pull_range), (gst_pad_pull_range):
11277         * gst/gstpad.h:
11278         Simplify pad activation.
11279         Added function to check if pull_range can be performed.
11280         Error out when pulling inactive or flushing pads.
11281         Removed const from refcounted types as it does not make sense.
11282         Simplify pad templates in basesink
11283         Added base class for simple 1-to-1 transforms.
11284         Make identity subclass the base transform.
11285
11286 2005-03-29  Andy Wingo  <wingo@pobox.com>
11287
11288         * docs/libs/gstreamer-libs-overrides.txt: 
11289         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11290         really don't understand what's going on, but like whatever. I want
11291         green buildbot!
11292
11293         * docs/gst/Makefile.am:
11294         * docs/libs/Makefile.am: Dist the overrides files.
11295
11296         * check/Makefile.am (clean-local): Remove .libs directories.
11297
11298         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11299         elements to EXTRA_DIST, so po/ files are happy.
11300
11301         * po/POTFILES.in: Er, remove it here.
11302
11303         * po/POTFILES: Remove gstspider.c.
11304
11305         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11306
11307         * docs/libs/gstreamer-libs-docs.sgml: 
11308         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11309         bytestream.
11310
11311         * tests/complexity.c (main): Set the length of the preroll queue
11312         on the sinks to prevent a lockup.
11313
11314         * libs/gst/dataprotocol/Makefile.am: 
11315         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11316         the same as the one in check/gst-libs/gdp.c.
11317
11318         * po/, docs/gst/: Commit automatic changes to docs and po files.
11319
11320         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11321         the versioned libgstbase.
11322
11323         * check/Makefile.am: Depend on an unversioned gst-register, seems
11324         to make autoconf happier.
11325
11326         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11327
11328 2005-03-28  Wim Taymans  <wim@fluendo.com>
11329
11330         * configure.ac:
11331         * docs/design/part-gstelement.txt:
11332         * docs/design/part-negotiation.txt:
11333         * docs/design/part-preroll.txt:
11334         * docs/design/part-scheduling.txt:
11335         * docs/design/part-states.txt:
11336         * gst/Makefile.am:
11337         * gst/base/Makefile.am:
11338         * gst/base/README:
11339         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11340         (gst_basesink_base_init), (gst_basesink_class_init),
11341         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11342         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11343         (gst_basesink_set_pad_functions),
11344         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11345         (gst_basesink_set_property), (gst_basesink_get_property),
11346         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11347         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11348         (gst_basesink_preroll_queue_push),
11349         (gst_basesink_preroll_queue_empty),
11350         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11351         (gst_basesink_event), (gst_basesink_get_times),
11352         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11353         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11354         (gst_basesink_loop), (gst_basesink_activate),
11355         (gst_basesink_change_state):
11356         * gst/base/gstbasesink.h:
11357         * gst/elements/Makefile.am:
11358         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11359         (gst_fakesink_class_init), (gst_fakesink_init),
11360         (gst_fakesink_set_property), (gst_fakesink_get_property),
11361         (gst_fakesink_get_times), (gst_fakesink_event),
11362         (gst_fakesink_preroll), (gst_fakesink_render),
11363         (gst_fakesink_change_state):
11364         * gst/elements/gstfakesink.h:
11365         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11366         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11367         * gst/gstelement.c: (gst_element_add_pad),
11368         (gst_element_get_state_func), (gst_element_abort_state),
11369         (gst_element_commit_state), (gst_element_lost_state),
11370         (gst_element_set_state), (gst_element_pads_activate):
11371         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11372         * gst/gstpipeline.c: (gst_pipeline_send_event),
11373         (gst_pipeline_change_state):
11374         Added state change code.
11375         Added/updated docs.
11376         Added sink base class, make fakesink extend the base class.
11377         Small cleanups in GstPipeline.
11378
11379 2005-03-26  David Schleef  <ds@schleef.org>
11380
11381         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11382         is broken and should be implemented in a different library.
11383         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11384         * gst/gst.h: remove gstcpu.h
11385         * gst/gstcpu.c: remove
11386         * gst/gstcpu.h: remove
11387         * gst/Makefile.am.future: Remove this file.  It's ancient.
11388
11389 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11390
11391         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11392         (gst_bin_send_event):
11393           Add default event/set_manager handlers. The set_manager handler
11394           takes care that the manager is distributed over kids that were
11395           already in the bin before the manager was set. The event handler
11396           is a utility virtual function that sends the event over all sinks,
11397           so that gst_element_send_event (bin, event); has the expected
11398           behaviour.
11399         * gst/gstpad.c: (gst_pad_event_default):
11400           Re-install default event handling for discontinuities, so that
11401           seeking works without requiring hacks in applications or extra
11402           code in sinks.
11403         * gst/gstpipeline.c: (gst_pipeline_class_init),
11404         (gst_pipeline_send_event):
11405           Half hack, half utility: set a pipeline to PAUSED for seek events,
11406           since that is the only way we can guarantee a/v sync. Means that
11407           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11408           and it "just works".
11409
11410 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11411
11412         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11413           Lock/unlock mismatch.
11414
11415 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11416
11417         * docs/faq/gst-uninstalled:
11418           add gst-plugins-base
11419         * docs/gst/Makefile.am:
11420           don't error out until docs are fixed
11421         * docs/gst/gstreamer.types:
11422           remove thread
11423
11424 2005-03-22  Wim Taymans  <wim@fluendo.com>
11425
11426         * check/Makefile.am:
11427         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11428         * gst/gststructure.c: (gst_structure_set_valist),
11429         (gst_structure_copy_conditional):
11430         Activated more tests.
11431         Added message test.
11432         Added G_TYPE_POINTER to GstStructure.
11433         
11434
11435 2005-03-22  Wim Taymans  <wim@fluendo.com>
11436
11437         * docs/design/part-TODO.txt:
11438         * docs/design/part-events.txt:
11439         * docs/design/part-gstbin.txt:
11440         * docs/design/part-gstbus.txt:
11441         * docs/design/part-gstpipeline.txt:
11442         * docs/design/part-messages.txt:
11443         * gst/gstbus.c:
11444         * gst/gstmessage.c:
11445         Docs updates
11446
11447 2005-03-21  Wim Taymans  <wim@fluendo.com>
11448
11449         * gst/gstbus.c: (gst_bus_post):
11450         Fix copy-and-paste error.
11451
11452 2005-03-21  Wim Taymans  <wim@fluendo.com>
11453
11454         * check/Makefile.am:
11455         * gst/Makefile.am:
11456         * gst/elements/Makefile.am:
11457         * gst/elements/gstelements.c:
11458         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11459         (gst_fakesink_event), (gst_fakesink_chain):
11460         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11461         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11462         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11463         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11464         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11465         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11466         (gst_fakesrc_loop), (gst_fakesrc_activate),
11467         (gst_fakesrc_change_state):
11468         * gst/elements/gstfakesrc.h:
11469         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11470         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11471         (gst_filesrc_open_file), (gst_filesrc_loop),
11472         (gst_filesrc_activate), (gst_filesrc_change_state),
11473         (filesrc_find_peek), (filesrc_find_suggest),
11474         (gst_filesrc_type_find):
11475         * gst/elements/gstidentity.c: (gst_identity_finalize),
11476         (gst_identity_class_init), (gst_identity_init),
11477         (gst_identity_proxy_getcaps), (identity_queue_push),
11478         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11479         (gst_identity_getrange), (gst_identity_chain),
11480         (gst_identity_sink_loop), (gst_identity_src_loop),
11481         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11482         (gst_identity_set_property), (gst_identity_get_property),
11483         (gst_identity_change_state):
11484         * gst/elements/gstidentity.h:
11485         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11486         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11487         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11488         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11489         (gst_tee_sink_activate):
11490         * gst/elements/gsttee.h:
11491         * gst/gst.c: (gst_register_core_elements), (init_post):
11492         * gst/gst.h:
11493         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11494         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11495         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11496         (gst_bin_change_state):
11497         * gst/gstbin.h:
11498         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11499         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11500         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11501         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11502         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11503         (bus_watch_callback), (bus_watch_destroy),
11504         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11505         (poll_timeout), (gst_bus_poll):
11506         * gst/gstbus.h:
11507         * gst/gstcaps.h:
11508         * gst/gstdata.h:
11509         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11510         (gst_element_post_message), (gst_element_message_full),
11511         (gst_element_get_state_func), (gst_element_get_state),
11512         (gst_element_abort_state), (gst_element_commit_state),
11513         (gst_element_lost_state), (gst_element_set_state),
11514         (gst_element_pads_activate), (gst_element_change_state),
11515         (gst_element_dispose), (gst_element_set_manager_func),
11516         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11517         (gst_element_set_manager), (gst_element_get_manager),
11518         (gst_element_set_bus), (gst_element_get_bus),
11519         (gst_element_set_scheduler), (gst_element_get_scheduler):
11520         * gst/gstelement.h:
11521         * gst/gstevent.c: (gst_event_new_segment_seek),
11522         (gst_event_new_flush):
11523         * gst/gstevent.h:
11524         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11525         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11526         (gst_message_new_eos), (gst_message_new_error),
11527         (gst_message_new_warning), (gst_message_new_tag),
11528         (gst_message_new_state_changed), (gst_message_new_application),
11529         (gst_message_get_structure), (gst_message_parse_tag),
11530         (gst_message_parse_state_changed), (gst_message_parse_error),
11531         (gst_message_parse_warning):
11532         * gst/gstmessage.h:
11533         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11534         (gst_real_pad_set_property), (gst_pad_set_active),
11535         (gst_pad_is_active), (gst_pad_set_blocked_async),
11536         (gst_pad_set_blocked), (gst_pad_is_blocked),
11537         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11538         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11539         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11540         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11541         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11542         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11543         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11544         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11545         (gst_pad_set_caps), (gst_pad_configure_sink),
11546         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11547         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11548         (gst_real_pad_dispose), (gst_real_pad_finalize),
11549         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11550         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11551         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11552         * gst/gstpad.h:
11553         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11554         (pipeline_bus_handler), (gst_pipeline_change_state),
11555         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11556         * gst/gstpipeline.h:
11557         * gst/gstprobe.h:
11558         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11559         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11560         (gst_queue_link_src), (gst_queue_bufferalloc),
11561         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11562         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11563         (gst_queue_loop), (gst_queue_handle_src_event),
11564         (gst_queue_handle_src_query), (gst_queue_src_activate),
11565         (gst_queue_change_state):
11566         * gst/gstqueue.h:
11567         * gst/gstscheduler.c: (gst_scheduler_init),
11568         (gst_scheduler_dispose), (gst_scheduler_create_task),
11569         (gst_scheduler_factory_create):
11570         * gst/gstscheduler.h:
11571         * gst/gststructure.c: (gst_structure_get_type),
11572         (gst_structure_copy_conditional):
11573         * gst/gststructure.h:
11574         * gst/gsttaginterface.h:
11575         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11576         (gst_task_init), (gst_task_dispose), (gst_task_create),
11577         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11578         (gst_task_pause):
11579         * gst/gsttask.h:
11580         * gst/gstthread.c:
11581         * gst/gstthread.h:
11582         * gst/gsttypes.h:
11583         * gst/schedulers/Makefile.am:
11584         * gst/schedulers/cothreads_compat.h:
11585         * gst/schedulers/entryscheduler.c:
11586         * gst/schedulers/faircothreads.c:
11587         * gst/schedulers/faircothreads.h:
11588         * gst/schedulers/fairscheduler.c:
11589         * gst/schedulers/gstbasicscheduler.c:
11590         * gst/schedulers/gstoptimalscheduler.c:
11591         * gst/schedulers/gthread-cothreads.h:
11592         * gst/schedulers/threadscheduler.c:
11593         (gst_thread_scheduler_task_get_type),
11594         (gst_thread_scheduler_task_class_init),
11595         (gst_thread_scheduler_task_init),
11596         (gst_thread_scheduler_task_start),
11597         (gst_thread_scheduler_task_stop),
11598         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11599         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11600         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11601         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11602         (plugin_init):
11603         * libs/gst/Makefile.am:
11604         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11605         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11606         (gst_file_pad_parent_set):
11607         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11608         (gst_dp_event_from_packet):
11609         * tests/complexity.c: (main):
11610         * tests/mass_elements.c: (main):
11611         * testsuite/states/locked.c: (message_received), (main):
11612         * testsuite/states/parent.c: (main):
11613         * tools/gst-inspect.c: (print_element_flag_info),
11614         (print_implementation_info), (print_pad_info):
11615         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11616         (main):
11617         * tools/gst-md5sum.c: (event_loop), (main):
11618         * tools/gst-typefind.c: (main):
11619         * tools/gst-xmlinspect.c: (print_element_info):
11620         Next big merge.
11621         Added GstBus for mainloop integration.
11622         Added GstMessage for sending notifications on the bus.
11623         Added GstTask as an abstraction for pipeline entry points.
11624         Removed GstThread.
11625         Removed Schedulers.
11626         Simplified GstQueue for multithreaded core.
11627         Made _link threadsafe, removed old capsnego.
11628         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11629         Added pad blocking functions.
11630         Reworked scheduling functions in GstPad to prepare for
11631         scheduling updates soon.
11632         Moved events out of data stream.
11633         Simplified GstEvent types.
11634         Added return values to push/pull.
11635         Removed clocking from GstElement.
11636         Added prototypes for state change function for next merge.
11637         Removed iterate from bins and state change management.
11638         Fixed some elements, disabled others for now.
11639         Fixed -inspect and -launch.
11640         Added check for GstBus.
11641
11642 2005-03-10  Wim Taymans  <wim@fluendo.com>
11643
11644         * docs/design/part-MT-refcounting.txt:
11645         * docs/design/part-clocks.txt:
11646         * docs/design/part-gstelement.txt:
11647         * docs/design/part-gstobject.txt:
11648         * docs/design/part-standards.txt:
11649         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11650         (gst_bin_remove_func), (gst_bin_remove):
11651         * gst/gstbin.h:
11652         * gst/gstbuffer.c:
11653         * gst/gstcaps.h:
11654         * testsuite/clock/clock1.c: (main):
11655         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11656         (main):
11657         * testsuite/dlopen/loadgst.c: (do_test):
11658         * testsuite/refcounting/bin.c: (add_remove_test1),
11659         (add_remove_test2), (main):
11660         * testsuite/refcounting/element.c: (main):
11661         * testsuite/refcounting/element_pad.c: (main):
11662         * testsuite/refcounting/pad.c: (main):
11663         * tools/gst-launch.c: (sigint_handler_sighandler):
11664         * tools/gst-typefind.c: (main):
11665         Doc updates.
11666         Added doc about clock.
11667         removed gst_bin_iterate_recurse_up(), marked methods
11668         for removal.
11669         Fix more testsuites.
11670
11671 2005-03-09  Wim Taymans  <wim@fluendo.com>
11672
11673         * gst/gstpad.c: (gst_pad_get_direction),
11674         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11675         (gst_pad_collect_valist):
11676         * testsuite/bins/interface.c: (main):
11677         * testsuite/caps/audioscale.c: (test_caps):
11678         * testsuite/caps/caps.c: (test1), (test2), (test3):
11679         * testsuite/caps/deserialize.c: (main):
11680         * testsuite/caps/enumcaps.c: (main):
11681         * testsuite/caps/filtercaps.c: (main):
11682         * testsuite/caps/intersect2.c: (main):
11683         * testsuite/caps/random.c: (main):
11684         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11685         * testsuite/caps/sets.c: (check_caps):
11686         * testsuite/caps/simplify.c: (check_caps), (main):
11687         * testsuite/caps/subtract.c: (check_caps):
11688         Fix _pad_get_direction wrt ghostpads.
11689         Fix caps testsuite.
11690
11691 2005-03-09  Wim Taymans  <wim@fluendo.com>
11692
11693         * check/Makefile.am:
11694         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11695         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11696         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11697         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11698         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11699         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11700         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11701         (bin_element_is_sink), (gst_bin_iterate_sinks),
11702         (gst_bin_iterate_all_by_interface):
11703         * gst/gstbin.h:
11704         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11705         (gst_element_change_state), (gst_element_dispose),
11706         (gst_element_finalize), (gst_element_set_loop_function):
11707         * gst/gstelement.h:
11708         * gst/gstiterator.c: (find_custom_fold_func):
11709         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11710         (gst_pad_collectv), (gst_pad_collect_valist),
11711         (gst_pad_template_new):
11712         * gst/gstpipeline.c: (gst_pipeline_class_init),
11713         (gst_pipeline_dispose), (gst_pipeline_set_property),
11714         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11715         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11716         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11717         * gst/gstutils.h:
11718         * gst/schedulers/entryscheduler.c:
11719         * gst/schedulers/gstbasicscheduler.c:
11720         (gst_basic_scheduler_cothreaded_chain),
11721         (gst_basic_scheduler_chain_add_element):
11722         * testsuite/bins/interface.c: (main):
11723         Added GstBin test.
11724         Added GstSystemClock test.
11725         Implemented clock distribution code in GstBin.
11726         Implemented iterate sinks method for future use.
11727         Rearranged gstelement.h
11728         Fix GstIterator comparison bug.
11729         Moved some code to GstPipeline, mostly clocking related.
11730
11731 2005-03-09  Wim Taymans  <wim@fluendo.com>
11732
11733         * configure.ac:
11734         * gst/gst_private.h:
11735         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11736         (gst_bin_remove_func), (gst_bin_remove),
11737         (gst_bin_get_by_name_recurse_up):
11738         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11739         (gst_clock_id_compare_func), (gst_clock_id_wait),
11740         (gst_clock_id_wait_async), (gst_clock_init),
11741         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11742         * gst/gstelement.h:
11743         * gst/gstinfo.c: (_gst_debug_init):
11744         * gst/gstobject.h:
11745         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11746         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11747         * gst/gstpad.h:
11748         Bump version number, we're now 0.9.0
11749         Add future debugging category.
11750         Fix NULL _unref() in _get_by_name_recurse_up
11751         Rearrange gstpad.h.
11752         Update some docs.
11753
11754 2005-03-08  Wim Taymans  <wim@fluendo.com>
11755
11756         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11757         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11758         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11759         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11760         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11761         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11762         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11763         * gst/elements/gstidentity.c: (gst_identity_class_init):
11764         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11765         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11766         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11767         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11768         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11769         (gst_tee_link):
11770         * gst/gstelement.c: (gst_element_class_init),
11771         (gst_element_base_class_init), (gst_element_init),
11772         (gst_element_get_random_pad), (gst_element_wait_state_change),
11773         (gst_element_change_state), (gst_element_dispose),
11774         (gst_element_finalize), (gst_element_set_loop_function):
11775         * gst/gstelement.h:
11776         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11777         * gst/gstthread.c: (gst_thread_class_init),
11778         (gst_thread_release_children_locks), (gst_thread_change_state):
11779         * gst/schedulers/gstbasicscheduler.c:
11780         (gst_basic_scheduler_loopfunc_wrapper),
11781         (gst_basic_scheduler_chain_wrapper),
11782         (gst_basic_scheduler_src_wrapper),
11783         (gst_basic_scheduler_remove_element):
11784         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11785         Remove threadsafe properties. Fix elements because GObject
11786         complains when installing a property before declaring a
11787         set/get_property handler.
11788         Rearrange gstelement.h file, use STATE macros for state locks.
11789         Free mutexes in the finalize method instead of dispose.
11790
11791 2005-03-08  Wim Taymans  <wim@fluendo.com>
11792
11793         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11794         * gst/gstthread.c: (gst_thread_release_children_locks):
11795         Added parentage check.
11796         Fix build og GstThread again.
11797
11798 2005-03-08  Wim Taymans  <wim@fluendo.com>
11799
11800         * docs/design/part-MT-refcounting.txt:
11801         * docs/design/part-conventions.txt:
11802         * docs/design/part-gstobject.txt:
11803         * docs/design/part-relations.txt:
11804         * docs/design/part-standards.txt:
11805         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11806         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11807         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11808         (gst_bin_iterate_all_by_interface):
11809         * gst/gstbuffer.h:
11810         * gst/gstclock.h:
11811         * gst/gstelement.c: (gst_element_class_init),
11812         (gst_element_change_state), (gst_element_set_loop_function):
11813         * gst/gstelement.h:
11814         * gst/gstiterator.c:
11815         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11816         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11817         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11818         (gst_object_set_parent), (gst_object_unparent),
11819         (gst_object_check_uniqueness):
11820         * gst/gstobject.h:
11821         Docs updates, clean up some headers.
11822
11823 2005-03-07  Wim Taymans  <wim@fluendo.com>
11824
11825         * check/.cvsignore:
11826         * check/Makefile.am:
11827         * check/gst-libs/.cvsignore:
11828         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11829         * check/gst/.cvsignore:
11830         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11831         (START_TEST), (gstbus_suite), (main):
11832         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11833         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11834         (gst_data_suite), (main):
11835         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11836         (add_fold_func), (gstiterator_suite), (main):
11837         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11838         (thread_name_object), (thread_name_object_default),
11839         (gst_object_name_compare), (gst_object_suite), (main):
11840         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11841         (gst_pad_suite), (main):
11842         * check/gstcheck.c: (gst_check_log_message_func),
11843         (gst_check_log_critical_func), (gst_check_init):
11844         * check/gstcheck.h:
11845         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11846         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11847         Added checks.
11848
11849 2005-03-07  Wim Taymans  <wim@fluendo.com>
11850
11851         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11852         (gst_list_iterator_next), (gst_list_iterator_resync),
11853         (gst_list_iterator_free), (gst_iterator_new_list),
11854         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11855         (gst_iterator_free), (gst_iterator_push), (filter_next),
11856         (filter_resync), (filter_uninit), (filter_free),
11857         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11858         (gst_iterator_foreach), (find_custom_fold_func),
11859         (gst_iterator_find_custom):
11860         * gst/gstiterator.h:
11861         Added missing files.
11862
11863 2005-03-07  Wim Taymans  <wim@fluendo.com>
11864
11865         * Makefile.am:
11866         * configure.ac:
11867         * docs/design/part-MT-refcounting.txt:
11868         * docs/design/part-conventions.txt:
11869         * docs/design/part-gstobject.txt:
11870         * docs/design/part-relations.txt:
11871         * examples/mixer/mixer.c: (main):
11872         * examples/thread/thread.c: (eos), (main):
11873         * gst/Makefile.am:
11874         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11875         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
11876         (gst_spider_plug_from_srcpad):
11877         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
11878         (gst_spider_identity_change_state),
11879         (gst_spider_identity_sink_loop_type_finding):
11880         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
11881         * gst/elements/gstidentity.c: (gst_identity_init):
11882         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
11883         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
11884         * gst/elements/gsttypefindelement.c: (free_entry):
11885         * gst/gst.c:
11886         * gst/gst.h:
11887         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
11888         (gst_bin_set_clock_func), (gst_bin_auto_clock),
11889         (gst_bin_set_index), (gst_bin_set_element_sched),
11890         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
11891         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
11892         (gst_bin_iterate_elements), (iterate_child_recurse),
11893         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
11894         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
11895         (compare_interface), (gst_bin_get_by_interface),
11896         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
11897         * gst/gstbin.h:
11898         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
11899         (gst_buffer_default_free), (gst_buffer_default_copy),
11900         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
11901         (gst_buffer_create_sub):
11902         * gst/gstbuffer.h:
11903         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
11904         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
11905         (gst_caps_unref), (gst_static_caps_get),
11906         (gst_caps_remove_and_get_structure), (gst_caps_append),
11907         (gst_caps_append_structure), (gst_caps_remove_structure),
11908         (gst_caps_copy_nth), (gst_caps_set_simple),
11909         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
11910         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
11911         (gst_caps_structure_intersect_field), (gst_caps_intersect),
11912         (gst_caps_structure_subtract_field), (gst_caps_subtract),
11913         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
11914         (gst_caps_structure_figure_out_union),
11915         (gst_caps_switch_structures), (gst_caps_do_simplify),
11916         (gst_caps_replace), (gst_caps_from_string),
11917         (gst_caps_copy_conditional):
11918         * gst/gstcaps.h:
11919         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
11920         (_gst_clock_id_free), (gst_clock_id_unref),
11921         (gst_clock_id_compare_func), (gst_clock_id_wait),
11922         (gst_clock_id_wait_async), (gst_clock_class_init),
11923         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
11924         (gst_clock_get_time), (gst_clock_set_time_adjust),
11925         (gst_clock_set_property), (gst_clock_get_property):
11926         * gst/gstclock.h:
11927         * gst/gstcompat.h:
11928         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
11929         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
11930         * gst/gstdata.h:
11931         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11932         (gst_element_requires_clock), (gst_element_provides_clock),
11933         (gst_element_set_clock), (gst_element_clock_wait),
11934         (gst_element_wait), (gst_element_set_time_delay),
11935         (gst_element_is_indexable), (gst_element_add_pad),
11936         (gst_element_add_ghost_pad), (gst_element_remove_pad),
11937         (pad_compare_name), (gst_element_get_static_pad),
11938         (gst_element_request_pad), (gst_element_get_request_pad),
11939         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
11940         (gst_element_class_get_pad_template_list),
11941         (gst_element_class_get_pad_template), (gst_element_error_func),
11942         (gst_element_get_random_pad), (gst_element_get_event_masks),
11943         (gst_element_send_event), (gst_element_seek),
11944         (gst_element_get_query_types), (gst_element_query),
11945         (gst_element_get_formats), (gst_element_convert),
11946         (gst_element_is_locked_state), (gst_element_set_locked_state),
11947         (gst_element_sync_state_with_parent), (gst_element_change_state),
11948         (gst_element_finalize), (gst_element_yield),
11949         (gst_element_interrupt), (gst_element_set_scheduler),
11950         (gst_element_get_scheduler), (gst_element_set_loop_function):
11951         * gst/gstelement.h:
11952         * gst/gstevent.h:
11953         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
11954         (gst_format_get_by_nick), (gst_format_get_details),
11955         (gst_format_iterate_definitions):
11956         * gst/gstformat.h:
11957         * gst/gstindex.c: (gst_index_gtype_resolver):
11958         * gst/gstinfo.c:
11959         * gst/gstinfo.h:
11960         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
11961         (gst_mem_chunk_free):
11962         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
11963         (gst_object_ref), (gst_object_unref), (gst_object_sink),
11964         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
11965         (gst_object_dispatch_properties_changed),
11966         (gst_object_set_name_default), (gst_object_set_name),
11967         (gst_object_get_name), (gst_object_set_name_prefix),
11968         (gst_object_get_name_prefix), (gst_object_set_parent),
11969         (gst_object_get_parent), (gst_object_unparent),
11970         (gst_object_check_uniqueness), (gst_object_save_thyself),
11971         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
11972         (gst_object_set_property), (gst_object_get_property),
11973         (gst_object_get_path_string):
11974         * gst/gstobject.h:
11975         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11976         (gst_real_pad_init), (gst_real_pad_get_property),
11977         (gst_pad_custom_new), (gst_pad_get_direction),
11978         (gst_pad_set_active), (gst_pad_is_active),
11979         (gst_pad_set_event_function), (gst_pad_is_linked),
11980         (gst_pad_link_free), (gst_pad_link_intersect),
11981         (gst_pad_link_fixate), (gst_pad_set_caps),
11982         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
11983         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
11984         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
11985         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
11986         (gst_pad_get_caps), (gst_pad_peer_get_caps),
11987         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
11988         (gst_pad_realize), (gst_pad_get_allowed_caps),
11989         (gst_real_pad_dispose), (gst_real_pad_finalize),
11990         (gst_pad_collectv), (gst_pad_collect_valist),
11991         (gst_pad_template_dispose), (gst_pad_template_new),
11992         (gst_pad_get_internal_links):
11993         * gst/gstpad.h:
11994         * gst/gstpipeline.c: (gst_pipeline_dispose),
11995         (gst_pipeline_change_state):
11996         * gst/gstpipeline.h:
11997         * gst/gstplugin.c:
11998         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
11999         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12000         * gst/gstpluginfeature.h:
12001         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12002         * gst/gstquery.c: (_gst_query_type_initialize),
12003         (gst_query_type_register), (gst_query_type_get_by_nick),
12004         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12005         * gst/gstquery.h:
12006         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12007         * gst/gstscheduler.c: (gst_scheduler_add_element),
12008         (gst_scheduler_factory_create):
12009         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12010         (gst_structure_free), (gst_structure_set_name),
12011         (gst_structure_id_set_value), (gst_structure_set_value),
12012         (gst_structure_set_valist), (gst_structure_remove_field),
12013         (gst_structure_remove_fields),
12014         (gst_structure_remove_fields_valist),
12015         (gst_structure_remove_all_fields), (gst_structure_foreach),
12016         (gst_structure_map_in_place),
12017         (gst_caps_structure_fixate_field_nearest_int),
12018         (gst_caps_structure_fixate_field_nearest_double):
12019         * gst/gststructure.h:
12020         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12021         (gst_system_clock_init), (gst_system_clock_dispose),
12022         (gst_system_clock_async_thread),
12023         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12024         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12025         * gst/gstsystemclock.h:
12026         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12027         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12028         * gst/gsttaginterface.c:
12029         * gst/gstthread.c: (gst_thread_dispose),
12030         (gst_thread_release_children_locks), (gst_thread_change_state),
12031         (gst_thread_main_loop):
12032         * gst/gsttrashstack.h:
12033         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12034         * gst/gsttypes.h:
12035         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12036         (gst_element_request_pad), (gst_element_get_pad_from_template),
12037         (gst_element_request_compatible_pad),
12038         (gst_element_get_compatible_pad_filtered),
12039         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12040         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12041         (gst_element_link_many), (gst_element_link),
12042         (gst_element_link_pads), (gst_element_unlink_pads),
12043         (gst_element_unlink_many), (gst_element_unlink),
12044         (gst_pad_can_link_filtered), (gst_pad_can_link),
12045         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12046         (gst_object_default_error), (gst_bin_add_many),
12047         (gst_bin_remove_many), (gst_element_populate_std_props),
12048         (gst_element_class_install_std_props), (gst_buffer_merge),
12049         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12050         (link_fold_func), (gst_pad_proxy_setcaps):
12051         * gst/gstutils.h:
12052         * gst/gstvalue.c: (gst_value_deserialize_string):
12053         * gst/parse/grammar.y:
12054         * gst/schedulers/gstbasicscheduler.c:
12055         (gst_basic_scheduler_cothreaded_chain),
12056         (gst_basic_scheduler_chain_recursive_add),
12057         (gst_basic_scheduler_pad_link):
12058         * gst/schedulers/gstoptimalscheduler.c:
12059         (get_group_schedule_function),
12060         (gst_opt_scheduler_state_transition),
12061         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12062         * libs/gst/bytestream/bytestream.c:
12063         * libs/gst/dataprotocol/dataprotocol.c:
12064         (gst_dp_header_from_buffer):
12065         * po/nb.po:
12066         * po/ru.po:
12067         * tests/threadstate/threadstate2.c: (eos):
12068         * tools/gst-compprep.c: (main):
12069         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12070         (print_pad_info), (print_children_info):
12071         * tools/gst-launch.c: (idle_func), (main):
12072         * tools/gst-md5sum.c: (idle_func), (main):
12073         * tools/gst-xmlinspect.c: (print_element_info):
12074         First THREADED backport attempt, focusing on adding locks and
12075         making sure the API is threadsafe. Needs more work. More docs
12076         follow this week.
12077
12078 2005-02-24  Andy Wingo  <wingo@pobox.com>
12079
12080         * tests/bench-complexity.scm:
12081         * tests/complexity.gnuplot: New files, good for running complexity
12082         benchmarks.
12083
12084         * tests/Makefile.am:
12085         * tests/complexity.c: New test, sets up N elements, at each level
12086         teeing into M streams per element. Eeeenteresting.
12087
12088         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12089         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12090         running bench-mass_elements.scm.
12091
12092         * tests/bench-mass_elements.scm: New script, runs mass_elements
12093         for various numbers of identities, outputting the results to a
12094         file. Requires guile 1.6. Just for testing.
12095
12096 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12097
12098         * gst/schedulers/fairscheduler.c:
12099           compile with debug disabled
12100
12101 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12102
12103         * configure.ac:
12104           hunting season on 0.9 is now OPEN